メッセージを受け取ってみる!

「メッセージを受け取ってみる!」の編集履歴(バックアップ)一覧はこちら

メッセージを受け取ってみる!」(2008/07/24 (木) 00:04:17) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#include <windows.h> //関数のプロトタイプ宣言 HWND createWindow(HINSTANCE hInstance, LPCTSTR className); int resisterWindowClass(HINSTANCE hInstance, LPCTSTR className); //クラス名とウィンドウ名を定数化してみた const LPCTSTR WIN_CLASS_NAME = TEXT("RDD"); const LPCTSTR WINDOW_NAME = TEXT("RozenMaidenDuoDectet!!"); ///////////////////////////////////////////////////////////////////////// // エントリポイントー ///////////////////////////////////////////////////////////////////////// int WINAPI WinMain(HINSTANCE hInstance, //このプログラムのIDみたいなもの、よく使う HINSTANCE hPrevInstance, //使わない PSTR lpCmdLine, //使わない int nCmdShow) //いらない { HWND hWnd; //ウィンドウのIDを保持するとこ MSG msg; //MGSじゃありません。メッセージを保持するとこ if(!resisterWindowClass(hInstance,WIN_CLASS_NAME)) return 0; if((hWnd = createWindow(hInstance, WIN_CLASS_NAME)) == NULL) return 0; while(1){ //MSG構造体にメッセージをゲットだぜ GetMessage(&msg, //メッセージを格納するMSG構造体を指定 NULL, //メッセージを受け取るウィンドウのハンドラ、NULLで全てのウィンドウを指定 0, //受け取るメッセージの最小時、0指定で無効 0); //受け取るメッセージの最大値、0指定で無効 if(msg.message == WM_LBUTTONUP) //メッセージが「マウスの左ボタンあーげた!」 だったらbreak break; DispatchMessage(&msg); //メッセージをウィンドウプロシージャにお裾分けする } MessageBox(NULL, TEXT("続きは製品版で!"), TEXT("RDD"), MB_ICONINFORMATION); return 0; } HWND createWindow(HINSTANCE hInstance, LPCTSTR className){ return CreateWindow(className, WINDOW_NAME, WS_OVERLAPPEDWINDOW | WS_VISIBLE, //ShowWindow関数を削除したのでWS_VISIBLEを指定 100, 100, //初期位置x,y 640, 480, //横幅、縦幅 NULL, NULL, hInstance, NULL); } int resisterWindowClass(HINSTANCE hInstance, LPCTSTR className){ WNDCLASS winc; //ウィンドウのオプションを設定するためのクラス winc.style =CS_HREDRAW | CS_VREDRAW; //ウィンドウのスタイルを記述 winc.lpfnWndProc = DefWindowProc; //ウィンドウプロシージャを登録、関数ポインタで渡してます winc.cbClsExtra = winc.cbWndExtra = 0; //追加領域の設定、普通使わない winc.hInstance = hInstance; //インスタンスハンドルを渡してあげましょう winc.hIcon = LoadIcon(NULL, IDI_APPLICATION); //アイコンを登録、NULLでシステム定義 winc.hCursor = LoadCursor(NULL, IDC_ARROW); //カーソルを登録 winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //背景色を塗るブラシのハンドルを渡す。 winc.lpszClassName = className; //このウィンドウクラスの名前 //ウィンドウクラスを登録して使えるようにします return RegisterClass(&winc); }
//C++ #include <windows.h> //関数のプロトタイプ宣言 HWND createWindow(HINSTANCE hInstance, LPCTSTR className); int resisterWindowClass(HINSTANCE hInstance, LPCTSTR className); //クラス名とウィンドウ名を定数化してみた const LPCTSTR WIN_CLASS_NAME = TEXT("RDD"); const LPCTSTR WINDOW_NAME = TEXT("RozenMaidenDuoDectet!!"); ///////////////////////////////////////////////////////////////////////// // エントリポイントー ///////////////////////////////////////////////////////////////////////// int WINAPI WinMain(HINSTANCE hInstance, //このプログラムのIDみたいなもの、よく使う HINSTANCE hPrevInstance, //使わない PSTR lpCmdLine, //使わない int nCmdShow) //いらない { HWND hWnd; //ウィンドウのIDを保持するとこ MSG msg; //MGSじゃありません。メッセージを保持するとこ if(!resisterWindowClass(hInstance,WIN_CLASS_NAME)) return 0; if((hWnd = createWindow(hInstance, WIN_CLASS_NAME)) == NULL) return 0; while(1){ //MSG構造体にメッセージをゲットだぜ GetMessage(&msg, //メッセージを格納するMSG構造体を指定 NULL, //メッセージを受け取るウィンドウのハンドラ、NULLで全てのウィンドウを指定 0, //受け取るメッセージの最小時、0指定で無効 0); //受け取るメッセージの最大値、0指定で無効 if(msg.message == WM_LBUTTONUP) //メッセージが「マウスの左ボタンあーげた!」 だったらbreak break; DispatchMessage(&msg); //メッセージをウィンドウプロシージャにお裾分けする } MessageBox(NULL, TEXT("続きは製品版で!"), TEXT("RDD"), MB_ICONINFORMATION); return 0; } HWND createWindow(HINSTANCE hInstance, LPCTSTR className){ return CreateWindow(className, WINDOW_NAME, WS_OVERLAPPEDWINDOW | WS_VISIBLE, //ShowWindow関数を削除したのでWS_VISIBLEを指定 100, 100, //初期位置x,y 640, 480, //横幅、縦幅 NULL, NULL, hInstance, NULL); } int resisterWindowClass(HINSTANCE hInstance, LPCTSTR className){ WNDCLASS winc; //ウィンドウのオプションを設定するためのクラス winc.style =CS_HREDRAW | CS_VREDRAW; //ウィンドウのスタイルを記述 winc.lpfnWndProc = DefWindowProc; //ウィンドウプロシージャを登録、関数ポインタで渡してます winc.cbClsExtra = winc.cbWndExtra = 0; //追加領域の設定、普通使わない winc.hInstance = hInstance; //インスタンスハンドルを渡してあげましょう winc.hIcon = LoadIcon(NULL, IDI_APPLICATION); //アイコンを登録、NULLでシステム定義 winc.hCursor = LoadCursor(NULL, IDC_ARROW); //カーソルを登録 winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //背景色を塗るブラシのハンドルを渡す。 winc.lpszClassName = className; //このウィンドウクラスの名前 //ウィンドウクラスを登録して使えるようにします return RegisterClass(&winc); }

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。