- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록API/MFC (63)
드럼치는 프로그래머
다이얼로그나 어플리케이션은 대부분 마우스로 캡션바를 잡고 이동을 시킬 수 있습니다. 그러나 다이얼로그를 이쁘게 만들고 싶은 욕망에 캡션바를 뚝딱 없애버립니다. 그러면 무엇을 잡고 다이얼로그를 이동시킬까요? 걱정하지 마세요. 다음 코드로 간단히 구현할 수 있습니다. 먼저 클래스 위저드를 열고 WM_LBUTTONDOWN 메시지를 매핑합니다. 그 다음 다음 코드를 넣으면 간단히 해결됩니다. void CMyDialog::OnLButtonDown(UINT nFlags, CPoint point) { PostMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x,point.y)); CDialog::OnLButtonDown(nFlags, point); } 출처 : http:..
(Ver 2009.02.18) // 엑셀 오토메이션을 이용하여 클래스 만들기.. Class Wizard -> Automation -> Add Class ->Form a Type Libary -> Excel9.old 선택 Confirm Classes 목록에서 모든 클래스를 선택 // 기본적으로 선언되어 있지만 없으면 새로 선언한다. #include // MFC Automation classes // 엑셀 오토메이션 사용하기 // 프로그램 시작하는 곳에 반드시 아래 루틴을 추가해 주어야 한다. if (!AfxOleInit()) { AfxMessageBox("Could not initialize COM dll"); return FALSE; } Microsoft Access 97 Msacc8.olb Micros..
#include DWORD WINAPI GetModuleFileName ( HMODULE hModule, LPTSTR lpFileName, DWORD nSize ); hModule : 현재 실행되고 있는 모듈 핸들 또는 NULL, NULL 값을 입력할 경우 자신의 실행 경로를 리턴. lpFileName : 프로세스 실행 경로 반환[out] nSize : lpFileName 의 버퍼 크기 [출처] API : GetModuleFileName() - 절대경로 찾기|작성자 에고소드
CStdioFile 클래스 CFile 클래스는 binary형태를 제어하기 때문에 파일에서 한줄 단위로 읽어오기 위해서는 일정크기의 버퍼를 읽어서 개행문자(\n)까지 잘라서 사용해야 한다. 하지만, CStdioFile클래스는 한 줄 단위로 파일을 읽을 수 있다. ReadString은 한 줄을 읽어온다. WriteString은 한 줄을 저장한다. [출처] CStdioFile 클래스|작성자 alexice
파일에 한글이 포함되어 있는 경우, 그냥 CStudioFile을 사용해서 open하고 readString을 해버리면 한글은 이상한 형태로 받아들여진다;;;ㄷㄷㄷ gram파일은 $word = 앉아 | 안녕; (SENT-BEG SENT-END) 이와 같습니다. 그래서 한글이 깨지는 현상을 방지해봅시다.!! setlocale(LC_ALL,"korean"); 이렇게 해주어야 됩니다. 로케일 설정시 #include 해주어야 됩니다. 실행결과 : 성공~~ㅋㅋㅋㅋㅋ 유용하게 잘 쓰일 것 같다~>_
CString - 가변 길이 문자열 지원 (최대길이 INT_MAX -1) - const char*, LPCTSTR대신 CString 사용가능 -선언, 초기화 CString str1; str1="문자열" CString str2("문자열"); CString str3(str2) CString str4(str1+" "+str2); str4+="문자열"; cout
CString::GetLength 이 메소드는 CString 객체 안에 있는 캐릭터의 count를 반환한다. 이 count는 종료null문자를 포함하지 않는다. // example for CString::GetLength CString s( "abcdef" ); ASSERT( s.GetLength() == 6 ); CString::IsEmpty 이 메소드는 CString 객체가 비어있는지를 결정한다. // example for CString::IsEmpty CString s; ASSERT( s.IsEmpty() ); CString::Empty 이 메소드는 CString객체를 비어있고 free memory로 만든다. // example for CString::Empty CString s( "abc" ); ..
Win32API 혹은 MFC를 배우다 보면 HRESULT라는 반환형이 있습니다. 이는 32비트의 signed형 정수이며 COM의 규정에 정의된 것은 아니지만 COM 인터페이스에 소속된 대부분의 함수들은 HRESULT형태의 반환값을 가진다고 합니다. (물론 직접 만들어 사용하셔도 됩니다.) 어떤 함수가 HRESULT 형태를 사용함으로서 이 함수의 상태 정보를 리턴 받을 수 있게 됩니다. 사용방법은 BOOL형의 TRUE/FALSE와 마찬가지로 SUCCEEDED/FAILED를 사용합니다. BOOL형과의 차이점이 있다면 반환형이 HRESULT라고 해서 반드시 값을 리턴받지는 않아도 된다는 겁니다. CreateWindow라는 함수를 예로 들어보겠습니다. if(FAILED(CreateWindow(...)) Mess..
BSTR을 자동화 타입에 사용되는 문자열의 자료형으로써 COM세계에서 문자열은 유니코드로 표현하도록 되어 있다. 12 H E L L O W O R L D \0 -->제일 앞 4 byte는 문자열의 길이가 입력됨 CString의 AllocSysString멤버함수를 사용하면 CString형을 BSTR로 변환 반대로는 LPCWSTR변환 연산자 사용 하면 됨 ex) CString yunju =(LPCWSTR) bstr; BSTR을 만들고 COM 개체 간에 전달할 때는 BSTR에서 사용하는 메모리 처리에 주의하여 메모리 누수를 방지해야 한다 BSTR이 인터페이스 내부에 있을 경우 사용한 메모리는 반드시 해제해야 한다. 그러나 BSTR 이 인터페이스 외부로 전달되는 경우에는 받는 개체에서 메모리를 관리. 다음의 예..
비트맵 파일 읽어들이기 CFileDialog fileDlg (TRUE, "*.*", "*.bmp", OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, "Bitmaps (*.bmp)|*.bmp||", this); if ( fileDlg.DoModal() == IDOK) { ... } 텍스트파일로 저장하기 CFileDialog SaveDlg(FALSE, NULL, "*.txt", OFN_OVERWRITEPROMPT,"TXT (*.txt)|*.txt||", this); if ( SaveDlg.DoModal() == IDOK ) { ... } CFileDialog의 2가지 사용법이에요. explicit CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefEx..