DEVCを使用する手順++ 5.0コンパイラ
書式#include <WINDOWS.H> // コールバック関数....................................... ...................................... LRESULT CALLBACK WndProcメソッド(HWNDのHWND、UINT uMsg、wParamにWPARAM 、LPARAM lParamに) { HDC HDC; スイッチ(uMsg) // メッセージセレクタ { // ここで私は、ボタンを押すメッセージを追加ケースWM_LBUTTONDOWN: // メッセージボックス(HWNDを、 "クリック"、)、 "プロンプト" MB_OK。リターン0 ; ケース WM_DESTROY: // 現在のウィンドウが破棄されたときに PostQuitMessage(0); //は、プログラム終了するためにメッセージを送信 リターン 0 ; // メッセージを処理した場合、それはWindowsの通知するために0を返す ケース WM_CLOSE: //をユーザがウィンドウの閉じるボタンの右上隅をクリックすると (HWND)DestroyWindowを; / / 窓が破壊 返す 0 ; ケース WM_PAINT: // ウィンドウを再描画する必要があります { HDC HDC; RECT RECT。 PS PAINTSTRUCT = { 0 }; // 格納文字列に配列を定義 HDC = BeginPaint関数(HWND、&PS); // 再描画開始 // のDrawText(HDC、TEXT( "ABCDEFG") - 1、&RECT、DT_CENTERを。) // 特定の出力(あなたが特定の理由を知らない、表示することはできません) // のTextOut(HDC、350300、TEXT( "ABCDEFG")、12); // 特定の出力内容 / * *********** ******************************コアプログラムコード領域**************** ************************************************* * / SETTEXTCOLOR(HDC、RGB(255、0、0)); // 設定されたフォント色 のint I、サイズ、J、X = 10、Y = 200であり、K; のTextOut(HDC、350、100、TEXT(" 乗算テーブル")、10 ); TCHAR szText [ 256 ]; / / 及びバッファー、szTextの定義 のための(I = 1 ; I <= 9 ; I ++ ) のための(J = 1。 ; J <= I; J ++ ){ サイズ = wsprintf(szText、TEXT(" %のD×%のD = 2次元%」)、Jは、I、I)は、Jを*。 // 変数S、Iは、フォーマット変換シンボルに応じた値の%s%D szTextバッファへ のTextOut(HDC、J * X + 80 I *は、Y + 25 、szText、サイズ); } のTextOut(HDC、650、530、TEXT(" 犬WINDOWSアプレット")、17 ); / * ******************************* **********コアプログラムコード領域************************************ **************************************************************** * / EndPaint(HWND、の&PS); // 最後には、再描画 の戻り 0 ; } デフォルト: リターンDefWindowProc関数(HWND、uMsg、wParamに、lParamに); } } // メイン関数。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 INT WINAPIのWinMain(hInstanceはHINSTANCE、HINSTANCE hPrevInstance、LPSTR lpCmdLine、INT nCmdShow){ WNDCLASSEX wzgwind = { 0 }; // ウィンドウクラス構造は、登録されたウィンドウクラス準備する wzgwind.cbSizeを= はsizeof(wzgwind); // WNDCLASSEX構造サイズ wzgwind.cbWndExtra = 0 ; // ウィンドウの余分なメモリは、なし、0に設定しました = COLOR_WINDOW wzgwind.hbrBackground; // 使用するデフォルトの背景 // wzgwind.hbrBackground =(HBRUSH)GetStockObject(GRAY_BRUSH); // ウィンドウの背景、グレーここで使用される背景(別表記) wzgwind.hCursor LoadCursor =(NULL、 MAKEINTRESOURCE(IDC_ARROW)); // マウス型アプリケーションが使用 ; wzgwind.hIcon = LoadIconは(NULL、MAKEINTRESOURCE(IDI_APPLICATION)) // カーソルタイプが wzgwind.hIconSm = NULL; // 小さなカーソル・アプリケーション・プログラムに関係なく、提供あるNULL wzgwind.hInstance = hInstanceは; // のWinMain関数によって渡さアプリケーションのインスタンスハンドル、 = WndProcメソッドwzgwind.lpfnWndProc; // これは現在のウィンドウハンドラのメッセージであり、WndProcメソッドは、のアドレス渡し、非常に重要である wzgwind.lpszClassName = 「wzgwindを」 ; // クラス名クラスを作成する際に使用するために、あなたがカスタマイズすることができます wzgwind.lpszMenuName = NULLを; // 使用NULL、なしのメニュー CS_HREDRAW wzgwind.style = | CS_VREDRAW; // クラススタイル、垂直再描画、水平の再描画 ATOM natom = RegisterClassEx(&wzgwind); IF(!natom) { のMessageBox(NULL、「登録に失敗しました」、" インフォア" 、MB_OK); リターン 0 ; } HWND HWND =のCreateWindowEx(WS_EX_CLIENTEDGE、" wzgwind "、" 勝利-剛"、WS_VISIBLE | WS_OVERLAPPEDWINDOW、 CW_USEDEFAULT、 / * X * / CW_USEDEFAULT、 / * Y * / 840、 / * 幅* / 680、 / * 高さ* / NULL、NULL、hInstanceは、NULL); のShowWindow(HWND、nCmdShow); UpdateWindow(HWND); MSG MSG = { 0 }; // 定義してMSGを初期化 しばらく!(= Msg.message WM_QUIT) / / メッセージがWM_QUITメッセージでない場合、ループは、ループし続ける { IF(のPeekMessage(&MSG、0、0、0、PM_REMOVE)) // 場合、メッセージディスパッチうち、メッセージキューをアプリケーションメッセージキューをチェックしてください。 { TranslateMessage(&MSG); // 文字メッセージに仮想キーメッセージが DispatchMessageを(&MSG); // ウィンドウプロシージャにメッセージを配信します。 } } UnregisterClass(" wzgwind " 、wzgwind.hInstance); 戻り 0 ; }