#include <windows.h>
//定数いろいろ
const LPCTSTR WIN_CLASS_NAME = TEXT("RDD");
const LPCTSTR WINDOW_NAME = TEXT("RozenMaidenDuoDectet!!");
//関数のプロトタイプ宣言
HWND createWindow(HINSTANCE hInstance, LPCTSTR className);
int resisterWindowClass(HINSTANCE hInstance, LPCTSTR className);
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
/////////////////////////////////////////////////////////////////////////
// エントリポイントー
/////////////////////////////////////////////////////////////////////////
int WINAPI WinMain(HINSTANCE hInstance, //このプログラムのIDみたいなもの、よく使う
HINSTANCE hPrevInstance, //使わない
PSTR lpCmdLine, //使わない
int nCmdShow) //いらない
{
HWND hWnd; //ウィンドウのIDを保持するとこ
MSG msg; //メッセージを保持するとこ
if(!resisterWindowClass(hInstance,WIN_CLASS_NAME))
return 0;
if((hWnd = createWindow(hInstance, WIN_CLASS_NAME)) == NULL)
return 0;
while(1){
GetMessage(&msg, NULL, 0, 0); //MSG構造体にメッセージをゲットだぜ
DispatchMessage(&msg); //メッセージをウィンドウプロシージャにお裾分けする
}
return 0;
}
////////////////////////////////////////////////////////////////////////////
// ウィンドウプロシージャー!
////////////////////////////////////////////////////////////////////////////
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp){
switch(msg){
case WM_DESTROY:
MessageBox(NULL, TEXT("続きは製品版で!"), TEXT("RDD"), MB_ICONINFORMATION);
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, msg, wp, lp); //デフォルトのも呼ばないと普通のウィンドウの働きをしない
}
HWND createWindow(HINSTANCE hInstance, LPCTSTR className){
return CreateWindow(className,
WINDOW_NAME,
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT, //初期位置x,y
640, 480, //横幅、縦幅
NULL, NULL,
hInstance,
NULL);
}
int resisterWindowClass(HINSTANCE hInstance, LPCTSTR className){
WNDCLASS winc;
winc.style =CS_HREDRAW | CS_VREDRAW;
winc.lpfnWndProc = WndProc; //自分で作ったウィンドウプロシージャの関数ポインタを指定する
winc.cbClsExtra = winc.cbWndExtra = 0;
winc.hInstance = hInstance;
winc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
winc.hCursor = LoadCursor(NULL, IDC_ARROW);
winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
winc.lpszClassName = className;
//ウィンドウクラスを登録して使えるようにします
return RegisterClass(&winc);
}
最終更新:2008年07月24日 00:43