반응형

mfc 12

mfc 윈도우 핸들 가져오기 (AfxGetApp() )

AfxGetApp() -프로그램을 실행 시켰을 때 그 프로세스는 메인 쓰레드(C???App Class)를 참조하게 된다. Class C???App:public CWinThread 상속 AfxGetApp()은 최초의 쓰레드 app를 의 포인터를 반환해준다. AfxGetApp()->m_pMainWnd 이것은 메인 쓰레드의 메인 윈도우 객체 포인터를 가리키는 것이다. 메인 쓰레드에서 현재 활성화 되어있는 View를 반환할 경우 (CMainFrame*)AfxGetMainWnd()->GetActiveView() 를 사용하면 되겠다.

MFC 모달리스 대화상자로 View Update하기 기본

class CMFC0418View : public CView { public: CInput dlg; } // 대화상자 클래스 생서자 class CInput : public CDialog { public: CInput(CWnd* pParent = NULL); // standard constructor // Dialog Data //{{AFX_DATA(CInput) enum { IDD = IDD_DIALOG1 }; int m_int; CString m_str; //}}AFX_DATA CView *m_view; // 이부분 코딩 인벨리를 하기위해 CView로 변수 선언! } CMFC0418View::CMFC0418View() { // TODO: add construction code here dlg.m_int..

에러 해결 - 코드요소 'xxx'이(가) 읽기 전용이므로 추가/제거 작업을 수행할 수 없습니다.

Visual Studio 2005에서 이벤트 핸들러 함수를 추가할 때 다음과 같은 에러가 종종 생김 코드요소 'xxx'이(가) 읽기 전용이므로 추가/제거 작업을 수행할 수 없습니다. 그럴때는 ncb파일을 삭제해서 프로젝트를 다시 읽어보면, 될때가 있고 안될때가 있다 ncb 파일 위치는 해당 프로젝트 소스 폴더에 있음

MFC메뉴 처리

* WM_COMMAND 메세지의 3가지 처리. - 메뉴 - 단축키 - Child 윈도우 WM_COMMAND 메세지를 받는기능은 CCmdTarget에 구현되어있다. CCmdTarget은 AFX클래스의 조상이다. 그러므로 밑의 AFX클래스 넘들은 이넘의 기능을 쓸수있다. * WM_COMMAND 메세지 전달 순서. CView 파생 클래스 -> CDocument 파생 -> CFrameWnd 파생 -> CWinApp 파생 * 커맨드 메세지핸들러 함수 커맨드 메세지 핸들러 함수는 일반 메세지핸들러 함수를 오버라이딩 하는것과는 약간 틀리다. 클래스위자드에서 해당 클래스를 선택한다음 Object IDs 의 커맨드ID 를 선택해주면된다. 커맨드 ID는 메뉴나 기타등등의 ID 값이다. 선택한다음 우측의 COMMAND 를 ..

MFC(?) CFile 사용법

CFile 사용법 1. 생성 1) 생성자 CFile( ); CFile( int hFile ); CFile( LPCTSTR lpszFileName, UINT nOpenFlags ); throw( CFileException ); nOpenFlags: CFile::modeCreate 파일을 생성한다. 만일 이미 동명의 파일이 존재한다면, 파일 크기를 0으로 만들어 생성한다. CFile::modeNoTruncate modeCreate option과 함께 사용된다. 동명의 파일이 없을 경우 새로 생성하고, 있다면, Open한다. CFile::modeRead read only 로 파일을 open한다. CFile::modeReadWrite 읽기/쓰기 용으로 open한다. CFile::modeWrite write on..