본문 바로가기
  • ^ __________ ^ ㄷ ㅜ ㄹ ㅜ ㅁ ㅜ ㄹ
툴바에 텍스트 추가시 세로폭(높이) 가 커지는데 줄이는 방법 툴바에 텍스트 추가시 세로폭(높이) 가 커지는데 줄이는 방법 How to decrease ToolBar Height when added text and dropdown style SetToolbarText(IDM_FIND); SetToolbarText(IDM_REPLACE); dwButtonStyle = m_ToolBar.GetButtonStyle(m_ToolBar.CommandToIndex(IDM_FIND)); dwButtonStyle |= (BTNS_DROPDOWN | BTNS_CHECK |BTNS_AUTOSIZE);//여기서 BTNS_AUTOSIZE로해야 버튼들의 폭이 일률적으로 같게 안들어난다. m_ToolBar.SetButtonStyle(m_ToolBar.CommandToIndex(IDM_FIN.. 2010. 9. 16.
Owner Draw Menu 에서 WM_MEASUREITEM의 itemWidth와 WM_DRAWITEM이 다른이유 윈도우즈 프로그래밍을 조금만 하다보면 컨트롤을 직접 만들거나 기존의 컨트롤을 Customizing 할 필요를 느낄 것이다. 여기서는 그 중에서도 커스텀 메뉴의 것에 대해 심심한 팁을 소개하고자 한다. 즉, WM_DRAWITEM이나 MFC의 OnDrawItem()에서의 처리를 말하는 것이다. 막상 이부분을 개발하다가 대부분의 사람들이 한가지 이해가 안가는 것이 있을 것이다. 그것은 아마도 아무리 MEASUREITEM에 값을 설정해도,실제로 DRAWITEM시의 사각 영역이 약 14 만큼 더 늘어나서 항상 들어온다 라는 사실.. 과연 왜 그런가? 그 이유는 MS-윈도우즈가 내 윈도우의 프로시듀어가 메세지를 받도록 메세지큐에 전달하기 훨씬 이전에 이미 시스템 내부적으로 항상 CHECKBOX의 크기만큼 더해주기 .. 2010. 9. 15.
kxBuff Library Open Source code OpenSource Published New version mybuff library here, 이것은 일전에 Intelligent-Memory-Buffer-Class-on-Non-MFCSDK-Platforms 라는 타이틀로 codeguru에 올렸던 mybufflib 의 확장된 최신 버전이다. 이전 버전은, http://www.codeguru.com/cpp/misc/misc/memory/article.php/c14499/Intelligent-Memory-Buffer-Class-on-Non-MFCSDK-Platforms.htm 에 있음. /* * kxBuffLibrary : krkim's eXtended Intelligent & Sequencial Linear Buffer Library * PURPOSE .. 2010. 9. 13.
VC++ MyVector Simple Template Class My Vector Simple Array Template Class (fake vector) 2010. 9. 13.
VC++ 배포후 APPCRASH 런타임 오류 추적기 두루에디트의 불법복제 방지 기능차원에서 PC고유 식별자로 HDD 시리얼 번호를 검사하는 로직에서 가상화 기반에서 오류가 발생했다. 코드를 안정화 하든가 다른 방안을 검토 해봐야 겠다. 딴건 다 무시하고,짱돌이 보내준 소중한 아래 정보(이벤트 로그 내용) 로 추적시작! APPCRASH 는 메모리 폴트에서 야기된다.즉,잘못된 메모리 참조. : 오류 모듈 이름: vfo.dll : 예외 오프셋: 0000172b 1) 우선,해당 오프셋이라는 곳이 뭔 삽질내용이 들어가있는건지 확인하기 위해 VC++ 툴 dumpbin /disasm로 EXE로 어셈블리로 변환하여 C:\Program Files (x86)\DuruEdit>dumpbin /disasm vfo.dll /OUT:BB.TXT 하여 출력된 결과를 편집기로 불러오.. 2010. 9. 11.
VC++9.0 (MSVS2008) 에서 Afximpl.h <L_TYPE_raw> 오류 ProfUI 옛날버전 컴파일시 오류발생,Stdafx.h 에 아래를 추가한다. #define _MFC_VER 0x800 #if _MFC_VER >= 0x800 #define WINVER 0x500 #define _WIN32_WINNT 0x500 #define _WIN32_WINDOWS 0x500 #define _WIN32_IE 0x500 #define USE_STD_STREAM #define HRAWINPUT DWORD #include #endif 2010. 9. 10.
새로 작성중인 KFC로 만든 예제 프로그램 KFC를 리뉴얼 하고 클래스명 KFC___ 를 kx___로 변경. 위 테스트 화면 캡쳐대로 테스트가 거의 완료되었고 이것으로 두루에디트 에 적용할 예정임.. 아래 첨부는 위 그림에 나오는 KFC 라이브러리로 작성한 실행파일. 앞으로 두루에디트에 탑재될 UI는 바로 이것으로 채택(?) 되었으므로 예제 프로그램을 실행하면 보이는 메뉴인터페이스,툴바,시스템메뉴등 기본 UI를 미리 맛볼수 있음...^^ 2010. 8. 31.
Rebar Band가 우측으로 align 되는 현상 이현상은 Common-Control 6.0 이상 Manifest 가 포함되어 있고 리바 밴드속성의 cx = cxMinChild 값이 동일할 때 나타난다. manifest with set Common-Controls version="6.0.0.0" How to Fix: rbBand.fMask = RBBIM_CHILD | RBBIM_IDEALSIZE |RBBIM_CHILDSIZE | RBBIM_STYLE | RBBIM_ID ; . . . LRESULT lResult = (BOOL)InsertBand(&rbBand); int nIndex = IdToIndex(nID); /* If has manifest with set Common-Controls version="6.0.0.0" ,a new band set r.. 2010. 8. 31.
KFC 라이브러리 클래스 다이아그램 공개 KFC Library Class Diagram - KFC 라이브러리는 KRKIM에 의해 개발된 C++ 기반의 Windows SDK Platform Developer Library 입니다. KFC 라이브러리는, wxWidget같은 멀티 플랫폼용 라이브러리는 아닐지라도,2001년 무렵부터 정돈해오던 코드를 바탕으로 WTL,ATL 의 성능과 MFC의 무거운 단점을 피하고,이벤트 드리븐 방식의 클래스 계층화로 보다 쉽고 보다 SDK에 가깝게 접근하여 최적의 성능을 낼수 있도록 개발한 Native SDK 라이브러리 입니다. 90년대 초반, MFC를 1.0부터 십수년 해오던 차에 너무 무겁고 거대해지고 복잡한 점,배포시의 과적용량 등 실무에서 많은 문제점을 느낀바, MFC에 익숙해져 있던 개발자가 좀더 심플하게 사.. 2010. 8. 26.
내컴퓨터 속도를 빠르게,부팅속도 측정 최적화 프로그램 내컴퓨터 속도를 빠르게,부팅속도 측정 최적화 프로그램 첫번째 프로그램 bootrace 부트레이스 단순 측정 프로그램 - 무슨 센서티브를 조절하는데 정확성이 떨어진다. 두번째 프로그램 soluto - 부팅에 걸리는 요소들을 차트로 표시하고 각 단계별로 최적화 까지 가능하다. 2010. 7. 28.
추천! 컴퓨터 속도를 빠르게,빠르고 간편한 WIZWIG 디스크 조각모음 왕년의 도스시절 PC TOOL 같은 화면의 Auslogics Disk Defrag - 윈도우즈 7 호환 멀티 드라이브 멀티 태스킹 가능. 단편화가 너무 심하면(박스가 띄엄띄엄 공백이 있으면) 메뉴나 오른쪽 팝업메뉴를 통해 가끔씩 최적화를 해준다. 2010. 7. 28.
투박한 윈도우즈7의 메뉴,툴바를 바꿔보자! 투박한 윈도우즈7의 메뉴,툴바를 바꿔보자! (플랫폼SDK 환경) KFCWnd Library에 UI 메뉴 클래스 구성중.. 윈도우7의 기본 common control 의 Menu ,Toolbar 컨트롤은 UI가 형편없다. 따라서,KFC 라이브러리에 이 메뉴,툴바 컨트롤 클래스를 추가 작업 진행... kxMenu 클래스라 명명하고,KFC의 확장팩 개념으로 추가될 것이고, 완성되면 조만간,두루에디트에 붙일 예정이고 KFC 라이브러리는 kx 라이브러리로 재명명할 셈이다.. 개발중인 화면 -- 날도 덥고 시간도 없고 잔손이 많이가고 귀찮으면 아무것도 못한다..ㅡㅡ;; Owner Draw 메뉴의 원리는, CNSMenu (자작)라는 MFC 기반 메뉴구현 클래스에 이미 구현 하였듯이, 메뉴가 팝업될 때 WM_INITM.. 2010. 7. 27.
충격,러시아 조사단, 천안함 조사결과 발표 “‘스크루 해저면 접촉 손상’(좌초) 후 기뢰 건드려 폭발” 러시아 천안함 보고서, 합조단과 다른 결론 (한겨레 / 권오성, 김도성 / 2010-07-27) 천안함 사고와 관련한 러시아 전문가의 보고서 내용은 사고 원인과 발생시각에 대해 민·군 합동조사단(합조단)의 조사 결과와 크게 다르다. 물론 러시아 쪽의 결론이 추정이라는 점에서 한계가 뚜렷하지만, 분명한 점은 합조단의 조사 결과가 애초 기대와 달리 국제사회를 설득시키지 못하고 있다는 사실이다. 게다가 국내외 전문가들도 합조단 조사 결과 발표 이후 알루미늄 흡착물 등에 대한 많은 의문을 제기하고 있다. 천안함 논란을 가라앉히기 위해서라도 좀 더 공개적인 논쟁이 필요해 보인다. ■ 훼손된 스크루 광택이 나도록 깎여 러시아 조사단은 천안함 스크루의 손상.. 2010. 7. 27.
IBM 레노버 T400 에 터보메모리 추가 장착하기 IBM LENOVO T400 2764RP8 TURBO MEMORY 달기 IBM 레노버 T400 에 터보메모리 추가 장착하기 옥션에서 터보메모리 2GB를 질러서(4GB는 넘 비사고,1G는 풀사이즈 밖에없고,T400에 맞는 모델은 Half size) 달자마자 바로 인식 잘되네요,. 가상메모리를 0로 해서 레디드라이브가 비활성되어서 조정하고,, 하프사이즈 2g 부터 User pinning 이 지원되어서, 데시보드로 함 설치해보고 파일 이것저것 넣었다가 지금은, 기본모드로 다시 설치해서 레디부스터,레디드라이브 자동으로 되게끔 했네요.. 근데 레디드라이브+ 데쉬보드 조합으로 윈도 exe,dll파일을 끌어다 추가하는게 약(820메가이상) 기본모드 1400mb 잡히는 레디부스터 보다 부팅 시간이 훨 빠른거 같네요. .. 2010. 7. 23.
[두루에디트 제작기] 업데이트 예정 스크린 샷 2010. 7. 16.
에디트 컨트롤 비밀번호 속성시 툴팁 안나오게 하기 에디트컨트롤 비밀번호 속성시 툴팁 안나오게 하기 How to Disable Password EditCtrl Tooltip on CAPS LOCK ON ES_PASSWORD 가 들어간 비밀번호 속성의 에디트컨트롤이 XP이상(6.0,WINVER 0X0501) 에서 시스템 디폴트로,대문자 키가 눌린경우엔 무조건 툴팁이 나오게 되어 있다. 이것은 오히려 사용자가 입력하려 할때 참 번거롭도록 활성화가 된다. 이것을 찾으려 하니 코드구루에도 코드프로젝트에도 없길래, 필요한 분이 보도록 이곳에 이에 대한 방법을 적고자 함..자 , 이 귀찮은 툴팁을 없애 보도록 하자. 출처:나(http://krkim.net) 우선 CAPS LOCK이 눌리고 ES_PASSWORD 속성을 가진 EDIT 가 SETFOCUS 활성화 되거나,.. 2010. 7. 12.
[FTP]FTP Commands in RFC959 FTP Commands The standard commands that an FTP client (such as WS_FTP Pro) issues to an FTP server are listed here with a brief explanation that has been adapted from RFC 959. The command syntax is presented using BNF (Backus-Naur Form) notation where applicable. FTP commands may be in any order except that a "rename from" command must be followed by a "rename to" command and the REST (restart) .. 2010. 7. 10.
Fix ATIKMDAG For Vista/ 7/Windows 2008 VGA,Video Official Page Fix ATIKMDAG For Vista/ 7/Windows 2008 VGA,Video 이 페이지는 http://blog.hanafos.com/yeamaec/512 의 새주소 http://krkim.net/18 입니다. (하나포스가 데이타 백업의 책임을 회피하고 무작정 블로그 서비스 자체를 폐쇄 했습니다.) 예전에 만들었던 비스타 이상에서 비디오카드,해상도 오류 관련 임시 패치 파일입니다. 혹시 지금은 폭파된 제 하나포스 블로그 예전 링크(http://blog.hanafos.com/yeamaec/512)로 찾으시는 분이 계실지 몰라 날라간 하나포스 블로그 글을 구글 캐시에서 찾아 다시 올립니다. 단,이것은 언제까지나 트릭 입니다. 제대로 된 방법을 찾길 바랍니다. 지금쯤, 이문제가 해결되었을 거라고 믿겠.. 2010. 7. 9.
[두루에디트 제작기] FTP Ascii 모드 Binary 모드,Auto 모드 처리하기 두루에디트? 두루에디트? 전세계를 통들어 너댓명만 제외하곤 도대체 듣보잡 두루에디트가 뭐냐하는 궁금증이 생길텐데 그건 당연할 수 밖에 없다. 왜냐하면 간혹 짬짬이 만드는 이 프로그램은, 너무나 허접한 나머지, 아래 화면과 같이 울트라 에디트,에디트 플러스 같은 텍스트 편집기 임은 분명한데 아직 인터넷과 같은 불특정 다수에게는 공개 하지 않았기 때문이다. 언젠가 완벽한 모양새를 갖춘다면 모를까... 어쨌든,FTP 프로토콜 RFC를 토대로 FTP 처리기를 구현하였지만, 아직 텍스트 모드 전송의 버그가 있다. 따라서,텍스트 모드 전송기능의 개선작업에 대해 알아 보도록 하고 어떻게 문제해결의 접근을 하는가 하는 방법을 제시하고자 한다. 우선,줄 끝을 알리는 End Of Line은 각 플랫폼 별로 상이하다. 유닉.. 2010. 7. 9.
2008' 남해에 가려면 삼천포로 빠져야 한다!! 휴가지 남해일주,삼천포의 대교~여수 남해에 가려면 삼천포로 빠져야 한다!! 2008' 휴가지 남해일주,삼천포의 대교~여수 2009년 6월 12일 금요일 시간: 오전 1:16 작성자: kkrrrrrrrrrrr 우리는 용산 전쟁기념관에 비치된 탱크안에 있었습니다. We were in the tank of the War Memorial in Yongsan. 귀염둥이 막내딸,토끼가면 쓰다. My Lovely youngest daughter put on the rabbit mask which i made. 남해앞바다 도착,The coast of Namhae 즐거운 휴가,The Happy summer holidays 은모래로 유명한 상주해수욕장 (The silversands, SangJu beaches) http://www.sangjubeach.co.. 2010. 7. 9.
은행 인터넷뱅킹시 짜증나는 잡동사니 ActiveX 악성 보안툴들 http://durumul.blogspot.com/2009/06/activex.html 2009년 6월 22일 월요일 시간: 오전 12:16 작성자: kkrrrrrrrrrrr 내 기억으론) 사실 2000년초까지만 해도 이러지 않았는데, 기껏해야 softforum의 xecure 하나 살짝 표안나게 가뿐히 깔릴뿐, 요새 은행 초기화면 접속부터 할라치면,완전 쓰레기장에 온듯한 여러가지 잡다한 대여섯개의 프로그램들이 내 pc를 분탕질 해가며 지멋대로 깔리는데에 속수무책인 상태에서 기분나쁜 찜찜함을 느낀다. 단순한 암호화거기다가 각종 방화벽,바이러스 백신까지... 뭐 키보드보안 어쩌구 말도안되는 nProtect가 수년전부터 게임실행 접속시보이더니만, 이젠 대놓고 은행권까지 섭렵해서 너무 발광 요동을 친다. 난 솔.. 2010. 7. 9.
Win32 IOCP를 따라잡을 Unix, Linux, *BSD계열의 방법은? 2009년 6월 18일 목요일 시간: 오후 9:40 작성자: kkrrrrrrrrrrr http://kldp.org/node/60222 정말 평소엔 낭비라 생각했던 Windows의 이벤트방식과 쓰레드의 결합이란게 엄청난 효율을 발휘하는 것을 보고 놀랐습니다. 이렇듯 국내 대부분이 아니라 거의 모든 온라인 게임회사의 서버는 Windows NT 계열로 IOCP를 이용한 서버입니다. 이렇게 멀티소켓 컨넥션 쓰레드 처리라는 단 하나의 부분이 Linux나 오픈소스 OS가 Windows 에 뒤지는 퍼포먼스 벤치마크 분야라고 볼수 있는데요. 어떻게 대안이나 따라잡을 방법은 현재 없는것일까요? kqueue나 epoll 등 현존 기술 모두 뒤져봐도 못따라잡는거로 검색결과 나타나던데, 다른 기술이라던가 아니면 앞으로 곧 나.. 2010. 7. 9.
Visual Leak Detector - vld의 Bug 시간: 오전 7:04 작성자: kkrrrrrrrrrrr #ifdef _DEBUG //#include "vld.h" //Virtual Memory Leak Debug Library 파일공통대화상자(열기,저장)가 안열리고 멈춰있는 버그있다. #endif 이런젠장,난 또 메모리 폴트난줄알고 한참 헤멧네.. vc++ 2008 Team suite SP1 ,windows7(x64), compile 32bit program with SDK. VLD Library cause program halt when call GetSaveFileName(), GetOpenFileName(). I guess it hooks and has somebug with common dialog. Visual Leak Detector - E.. 2010. 7. 9.
[두루에디트 제작기] 정규식(Regular Expression) 검색 구현 출처:나의 다른 블로그 시간: 오후 11:58 작성자: kkrrrrrrrrrrr [작성중인 두루에디트] [작성중인 정규식 명령메뉴] 정규식 검색을 구현했다..ui메뉴 작성중... 정규식은 동시에 여러 단어 검색할때 유용하다. 예를 들어 ET 가 들어가는 단어와 EX가 들어가는 단어를 모조리 한번에 찾고자 할때 E[A-Z] 식으로 사용하며 ETT도 찾고 EXT도 찾으려면 정규식 검색체크박스를 체크하고 E[A-Z]+ 나 E[A-Z]*를 사용하면 된다.^^ 단,파일이 크고 식이 복잡할수록 검색시간이 다소 걸린다. 정규식은 DERegExp 클래스 하나로 구현되었다. 정규식 이외에 기본 검색기능은, vc++ 것과 마찬가지로 빠른찾기,빠른바꾸기,파일에서 찾기,파일에서 바꾸기 등 4가지 기능 화면이 있고 작게로는 다.. 2010. 7. 9.
[두루에디트 제작기] 쓰레드 검색처리시 입력장치공유 2010년 3월 22일 월요일 시간: 오전 7:08 작성자: kkrrrrrrrrrrr 출처:본인(http://krkim.net)의 폭파당한 예전 블로그(http://blog.hanafos.com/yeamaec) 캐시에서 가져옴. 메인창 메인프로세스 쓰레드와는 별도로 생성하여 돌리는 검색쓰레드 내부이다. 쓰레드는 윈도우를 생성한 메인쓰레드의 키보드나 Focus정보를 공유못하도록되어있다. GetFocus등이 null이 리턴된다. 아래는 공유하는 코드이다. DWORD DEFinder::FindAllProc(LPVOID pParam) { BOOL flag = FALSE; DEFinder *pRoot = reinterpret_cast (pParam); DEMainWnd *pMainWnd = (DEMainWnd *.. 2010. 7. 9.