전체 글 389

CCmdTarget Class MFC

CCmdTarget Class MFC 라이브러리 메시지 맵 아키텍처를 위한 base 클래스. class CCmdTarget : public CObject 요약 메시지 맵은 명령어 혹은 메시지를 멤버 함수에 전달 한다. (명령어는 메뉴 아이템, 버튼, 단축키로 부터 온 메시지이다) CCmdTarget를 상속받은 중요한 플레임워크 클래스는 CView, CWinApp, CDocument, CWnd, CFrameWnd 등이 있다. 여러분이 메시지를 처리하기 위해 새로운 클래스를 만들었다면 이런 CCmdTarget로부터 상속 받은 클래스 중의 하나를 상속 받으면 된다. CCmdTarget 클래스를 직접 상속 받는 경우는 극히 드문 일이 될것이다. command target과 OnCmdMsg 루팅에 대한 개요는 C..

MFC 2008.08.07

MFC 클래스의 최상위 클래스 CObject

MFC 클래스의 최상위 클래스 CObject C/C++/MFC 몇개의 클래스를 제외하고 MFC의 클래스는 CObject라는 클래스를 상속받는다. 이 클래스는 메모리에 클래스를 설정하는 기능 및 클래스의 기능과 종류를 알수 있는 함수를 가지고 있다. Visual Studio Setup Directory/MFC/Include/AFX.H File #ifdef _AFXDLL class CObject #else class AFX_NOVTABLE CObject #endif { public: // Object model (types, destruction, allocation) virtual CRuntimeClass* GetRuntimeClass() const; virtual ~CObject(); // virtual..

MFC 2008.08.07

MFC 클래스 계층도

그 중 중요한 몇 개의 클래스를 요약해 보면,1. CObject 클래스  MFC의 최상위 기저 클래스로써 메모리에 클래스를 설정하는 기능을 가진 클래스이다. CObject 클래스는 클래스 루트로써만 작용하는 것이 아니라, 다음과 같은 서비스와 기능을 제공한다.    직렬화(Serialization)의 지원 : 현재 클래스의 객체가 디스크에 저장이 가능하도록 지원하고, 저장 유무를 확인할 수 있다.  Run-time 클래스 정보 : 현재 클래스의 상태를 확인하고 오류를 정리할 수 있다.  객체의 검사 출력 : 클래스의 객체가 유효한지 검사한다.  컬렉션 클래스에 대한 호환성 제공 : 컬렉션 클래스에 저장 가능한 객체는 CObject 클래스를 상속받는 클래스만이 가능하다. 그래서 사용자 클래스를 제작해 컬렉..

MFC 2008.08.07

DialogBoxIndirect 샘플 수정 및 코딩 최적화 작업

불필요한 연산을 줄였다. LPWORD lpwAlign (LPWORD ptr) // 4의 배수 단위 설정 { return (LPWORD)((((unsigned long)ptr+3)>>2)cy=400/2; // 높이 lpdt->x=(iParentWidth-(lpdt->cx*2))/4; // 시작 X위치 lpdt->y=(iParentHeight-(lpdt->cy*2))/4; // 시작 Y위치 lpdt->cdit=4; // 자식 컨트롤의 수 lpdt->style = WS_POPUP | WS_BORDER | WS_SYSMENU | DS_MODALFRAME | WS_CAPTION; // lpdt->dwExtendedStyle=0; lpw = (LPWORD) (lpdt + 1); // 기본정보 설정후 다음 부분으로 ..

API 2008.08.06

대화상자와 등록 정보 시트 소프트웨어

대화상자와 등록 정보 시트 소프트웨어 2005/03/10 10:13 http://blog.naver.com/semigifn/10835249 이 포스트를 보낸곳 () 제 3장 .대화상자와 등록 정보 시트 *기본: -대화상자에서 컨트롤을 생성 하는 것은 아주 쉽다. 그것은 리소스 편집기 에서 정의 되는 대화 템플릿에서 크기와 위치가 정해지고 응용프로그램에 연결된다.대화상자는 기본적으로 두가지의 종류로 나누어 지는데 그것은 모달과 비모달이다. 모달 대화상자는 그 대화상자가 사라질 때 까지 응용프로그램이 작동하지 못하도록 하며 비모달 대화상자는 창과 거의 비슷한 속성을 지니며 사용자는 얼마든지 주창이나 다른 윈도를 실행할수 있다. *****모달 대화상자: -모달 대화상자를 만드는데에는 세단계의 구현과정이 있다...

API 2008.08.06

cbWndExtra 이용 윈도우 인스턴스 별로 개별적인 메모리 할당...

cbWndExtra 이용 윈도우 인스턴스 별로 개별적인 메모리 할당... LONG SetWindowLong( HWND hWnd, int nIndex, LONG dwNewLong); 윈도우에 변경을 가하고자 할때 쓰는 api이다. 두번째는 변경하고자 하는 속성을 나타낸다. 윈도우 지정 디폴트 값 설명 GWL_EXSTYLE 확장 스타일 GWL_STYLE 윈도우 스타일 GWL_WNDPROC 윈도우 프로시저의 번지 GWL_HINSTANCE 인스턴스 핸들 GWL_ID 윈도우의 ID GWL_USERDATA 윈도우와 관련된 사용자 데이터 DWL_DLGPROC 대화상자 프로시저의 주소 DWL_MSGRESULT 대화상자 프로시저의 리턴값 DWL_USER 사용자 데이터 그런데 사용자가 임의로 윈도우에 여분 메모리가 있을 ..

API 2008.08.06