목록딸기 공부방 (185)
특별한딸기이야기
AppWizard에서 프로젝트 생성시 1단계에서 'Document / View architecture support?'옵션을 선택하지 않았을 경우 클래스 위자드에서 CMainFrame에 WM_CREATE를 추가한다 그리고 코드를 아래와 같이 교체한다. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here if(!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_..
MessageBox Function The MessageBox function creates, displays, and operates a message box. The message box contains an application-defined message and title, plus any combination of predefined icons and push buttons. Syntax int MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType ); Parameters hWnd [in] Handle to the owner window of the message box to be created. If this paramete..
#include // WinMain()함수에서 참조하므로 함수 원형을 선언한다. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nShowCmd) { HWND hwnd; MSG msg; WNDCLASS wndclass; // 윈도우 클래스를 초기화하고 운영체제에 등록한다. wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclas..
많은 프로그래머들이 SDK나 MFC로 프로그래밍할 때 변수를 표기하는 방법으로 헝가리 표기법(Hungarian notation)을 사용한다. 헝가리 표기법이란 변수 이름을 정할 때 이름만으로도 변수 타입을 짐작할 수 있도록 접두사(Prefix)를 덧붙이는 방법을 말한다. 예를 들면 hInstance라는 이름의 변수는 첫 글자인 h만으로 핸들 타입이라는 것을 알 수 있다. 헝가리 표기법을 적용해서 변수 이름을 정하면 오류를 사전에 예방할 수 있고 다른 사람도 좀더 쉽게 코드를 이해할 수 있다. 아래는 자주 사용하는 접두사다. 아래에 나와있지 않더라도 응용하면 다른 종류의 데이터 타입에도 비슷한 방식으로 접두사를 적용할 수 있다. 접두사 / 데이터 타입 c / char n 또는 i / int b 또는 f /..
초창기 윈도우 운영체제의 가장 큰 단점 중의 하나는 바로 그래픽 출력이 도스에 비해 상대적으로 느리다는 것이었다. 이런 이유로 게임들의 경우 윈도우 환경으로 넘어가지 못했다. 이런 문제점을 해결하기 위해 마이크로소프트에서 발표한 것이 바로 다이렉트X이다. 이제 다이렉트X는 단순히 게임개발용 기술의 차원을 넘어서 윈도우 운영체제를 멀티미디어 운영체제라고도 부를 수 있는 강력한 기능들을 제공한다. 다이렉트X는 다음과 같은 요소 컴포넌트들로 구성된다. ~ 다이렉트X 그래픽스 이전의 다이렉트드로(DiractDraw)와 다이렉트 3D가 하나로 합쳐졌다. 사실 사용하기가 그리 편리한 라이브러리들이 아니기 때문에 이를 편하게 해준 다이렉트3DX라는 유틸리티 라이브러리가 같이 제공된다. ~ 다이렉트X 오디오(Direc..