MFC 자주 사용하는 함수
출처 : http://blog.naver.com/psj5500
1. 에디터 박스 컨트롤에 갑 입출력
CString str;
GetDlgItem(IDC_EDIT1)->GetWindowText(str); //edit1값 -> str으로
GetDlgItem(IDC_EDIT3)->SetwindowText(str); // str값 -> edit3으로
2. Static_Text의 캡션을 변경방법
- 클래스 위저드 사용 static_text컨트롤와 CString변수 연결
- CString my_string일 경우
my_string.Format("MAX");
UpdateData(FALSE);
3. 탭 컨트롤
http://blog.naver.com/hajuny666?Redirect=Log&logNo=60037359888
4. 파일 열기
CFileDialog FileDlg(true,
"Data",
NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Data Files(*.dat) | *.dat| All Files(*.*)|*.*||",
NULL);
if(FileDlg.DoModal() == IDOK)
{
CString filePath = FileDlg.GetPathName();
CString fileName = FileDlg.GetFileName();
}
<http://blog.naver.com/eduraker?Redirect=Log&logNo=110028024354 블로그에서 발췌>
5. char 와 CString간의 문자 복사
char dest[12];
CString src("Hello MFC");
// src -> dest로 복사
wcstomb(dest, src, src.GetLength); // 유니코드
strncpy(dest, src, src.GetLength); // 멀티 바이트
6. mfc의 파일 경로를 못 찾을때..
상대경로로 파일 검색할때, 못 찾는 경우(파일의 위치는 바로됐음에도 불구하고..)
어딘가에서 절대 경로 지정되면, 이후는 절대경로로 찾는다고 함.
CFileDialog파일 생성시 OFN_NOCHANGEDIR옵션을 줘서 해결했음.
GetModuleFileName API로 절대 경로로 만들어 주는 방법도 있다.
TCHAR path[MAX_PATH]
GetModuleFileName(NULL, path, sizeof path);
CString strPath = path;
int i = strPath.ReverseFine('\\'); // 실행 파일 이름을 지우기 위해서 왼쪽에 있는 '/'를 찾는다.
strPath = strPath.Left(i) // 뒤에 있는 현재 실행 파일 이름을 지운다
AfxMessageBox(strPath);
<http://genesis1719.tistory.com/63 블로그에서 발췌>
<참조및 발췌>
- http://starfactory.tistory.com/84
- 데브피아 왕초보MFC마을
- http://blog.naver.com/hajuny666?Redirect=Log&logNo=60037359888
- http://blog.naver.com/eduraker?Redirect=Log&logNo=110028024354
- http://mycpp.blog.me/120111158063
- http://genesis1719.tistory.com/63