|
¥¦¥£¥ó¥É¥¦¤òºî¤ë¤¿¤á¤Ë¤Ï ¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÁªÂò¤òWindows¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤¹¤ë¤À¤±¤Ç¤¹¤Í º£²ó»È¤¦¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤Þ¤¹¡£¤É¤¾¡¼¡Ê-¦Ø-¡Ë¤Äö Windows¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÇºîÀ®¤·¤¿¥×¥í¥¸¥§¥¯¥È¤Ïmain´Ø¿ô¤Ç¤Ê¤¯WinMain´Ø¿ô¤«¤é»Ï¤Þ¤ê¤Þ¤¹ #include <Windows.h>
#include <tchar.h>
// ¥¦¥£¥ó¥É¥¦¥×¥í¥·¡¼¥¸¥ã¡¢¥¦¥£¥ó¥É¥¦¤ËÂФ¹¤ë¥á¥Ã¥»¡¼¥¸½èÍý¤ò¹Ô¤¦
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){
switch(msg){
// ¥¦¥£¥ó¥É¥¦¤¬ÇË´þ¤µ¤ì¤¿¤È¤
case WM_DESTROY:
PostQuitMessage(0); // WM_QUIT¥á¥Ã¥»¡¼¥¸¤ò¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤ËÁ÷¤ë
return 0;
}
// ¥Ç¥Õ¥©¥ë¥È¤Î¥á¥Ã¥»¡¼¥¸½èÍý¤ò¹Ô¤¦
return DefWindowProc(hWnd, msg, wParam, lParam);
}
// WinMain´Ø¿ô¡Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«»Ï´Ø¿ô¡Ë
// ¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È°ã¤¤¡¢¥³¥ó¥½¡¼¥ë¤ò³«¤«¤Ê¤¤
int _stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
const TCHAR* WC_BASIC = _T("BASIC_WINDOW");
// ¥·¥ó¥×¥ë¥¦¥£¥ó¥É¥¦¥¯¥é¥¹ÀßÄê
WNDCLASSEX wcex ={sizeof(WNDCLASSEX), CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS,WndProc, 0,0,hInstance,
(HICON)LoadImage(NULL,MAKEINTRESOURCE(IDI_APPLICATION),IMAGE_ICON,0,0,LR_DEFAULTSIZE | LR_SHARED),
(HCURSOR)LoadImage(NULL,MAKEINTRESOURCE(IDC_ARROW),IMAGE_CURSOR,0,0,LR_DEFAULTSIZE | LR_SHARED),
(HBRUSH)GetStockObject(WHITE_BRUSH), NULL, WC_BASIC , NULL};
// ¥·¥ó¥×¥ë¥¦¥£¥ó¥É¥¦¥¯¥é¥¹ÅÐÏ¿
if(!RegisterClassEx(&wcex))
return false;
// ¥¦¥£¥ó¥É¥¦Éý¡¢¹â¤µ¤Ï¥Ç¥£¥¹¥×¥ì¥¤¤Ë°Í¸¤¹¤ë¡£ÉáÄ̤Ï4:3
const int WINDOW_WIDTH = 640;
const int WINDOW_HEIGHT = 480;
// ¥¦¥£¥ó¥É¥¦¤ÎºîÀ®
HWND hWnd = CreateWindowEx(0,WC_BASIC,
_T("Application"), WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_VISIBLE,
CW_USEDEFAULT,CW_USEDEFAULT,WINDOW_WIDTH,WINDOW_HEIGHT,NULL,NULL,hInstance,NULL);
// ¥á¥Ã¥»¡¼¥¸¥ë¡¼¥×
MSG msg = {};
while(msg.message != WM_QUIT) {
// ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ËÁ÷¤é¤ì¤Æ¤¯¤ë¥á¥Ã¥»¡¼¥¸¤ò¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤«¤é¼èÆÀ¤¹¤ë
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){
DispatchMessage(&msg); // ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³Æ¥¦¥£¥ó¥É¥¦¥×¥í¥·¡¼¥¸¥ã¤Ë¥á¥Ã¥»¡¼¥¸¤òžÁ÷¤¹¤ë
}
// ¥á¥Ã¥»¡¼¥¸½èÍý¤ò¤·¤Æ¤¤¤Ê¤¤¤È¤
else{
//¡Ê¤³¤³¤ËDirectX¤Î½èÍý¤ò½ñ¤¯¡Ë
}
}
return 0;
}
¼Â¹Ô·ë²Ì¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹ ¤Ö¤Ã¤Á¤ã¤±¡¢½èÍýÁ´Éô³Ð¤¨¤ëɬÍפʤ¤¤Ç¤¹ ¤¿¤À¤·¡¢²¿¤ä¤Ã¤Æ¤¤¤ë¤«¤ÏÃΤëɬÍפ¬¤¢¤ê¤Þ¤¹ ¥¦¥£¥ó¥É¥¦¥¯¥é¥¹¹½Â¤ÂΤÎÀßÄê¤ä¥¦¥£¥ó¥É¥¦ºîÀ®´Ø¿ô¤Î°ú¿ô¤òÊѤ¨¤ì¤Ð¤µ¤Þ¤¶¤Þ¤Ê¥¦¥£¥ó¥É¥¦¤¬ºîÀ®¤Ç¤¤Þ¤¹ ¤Á¤ã¤ó¤È°ÕÌ£¤¬ÃΤꤿ¤¤¿Í¤Ï ¤Þ¤¿¡¢ Á°¡§DirectX¹ÖºÂ3²ó
|