2012年5月22日火曜日

【C++】DirectX用のウィンドウの作成【はじめの一歩目】

とりあえず、ソースコードから

#include<windows.h>
#include<TCHAR.h>

LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );

int WINAPI _tWinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPTSTR lpszCmdLine, int nShowCmd)
{
 HWND hWnd;
 MSG msg;
 WNDCLASS wc;
 
 
 
 //①ウィンドウクラスの定義・登録
 wc.style = CS_HREDRAW | CS_VREDRAW;
 wc.lpfnWndProc = WndProc;
 wc.cbClsExtra = 0;
 wc.cbWndExtra = 0;
 wc.hInstance = hInst;
 wc.hIcon = NULL;
 wc.hCursor = LoadCursor( NULL, IDC_ARROW );
 wc.hbrBackground = (HBRUSH)GetStockObject( WHITE_BRUSH );
 wc.lpszMenuName = NULL;
 wc.lpszClassName = _T("test");
 if( !RegisterClass( &wc ) )
 {
  return 0;
 }

 //②ウィンドウの作成
 hWnd = CreateWindow( _T("test"), _T("Test"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInst, NULL );
 
 //③ウィンドウを表示
 ShowWindow( hWnd, nShowCmd );
 UpdateWindow( hWnd );

 //④メインループ
 while( GetMessage( &msg, NULL, 0, 0 ) )
 {
  TranslateMessage( &msg );
  DispatchMessage( &msg );
 }

 return 0;
}

LRESULT CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
 switch( msg )
 {
  case WM_DESTROY:
   PostQuitMessage( 0 );
   break;
  default:
   return( DefWindowProc( hWnd, msg, wParam, lParam) );
 }
}

http://com.nicovideo.jp/community/co248498

こちらの生放送で教えて頂きました
とりあえず、メモ程度に

0 件のコメント:

コメントを投稿