C言語で簡単なプログラムを作ります。

0 コメント

第4回 ウインドウズ枠の表示1

第4回 ウインドウズ枠の表示1
ついにウインドウズを開くプログラムまで来ました。前回はウインドウズアプリケ
ーションで引数に文字列を入れてダイアログを表示してみました。 hInstanceはアプ
リケーションを起動する為の識別番号ということも覚えているでしょうか。今回はこ
の hInstanceを意識してソースコードをまずは見てみましょうか。

#include <windows.h>

LRESULT CALLBACK MainWndProc( HWND hWnd, UINT msg, UINT wParam, LONG lParam )
{
return DefWindowProc( hWnd, msg, wParam, lParam);
}

WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
HWND hwnd;
WNDCLASS wndclass;

/* ウィンドウクラスの登録 */
wndclass.style = 0;
wndclass.lpfnWndProc = (WNDPROC)MainWndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = 0;
wndclass.hCursor = 0;
wndclass.hbrBackground = (HBRUSH)COLOR_WINDOWTEXT;
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = "Main Window";

if( !RegisterClass( &wndclass )) return FALSE;

/* メインウィンドウを作成する */
hwnd = CreateWindow( "Main Window", "ウインドウ", WS_OVERLAPPED,
0, 0, 640, 480, NULL, NULL, hInstance, NULL );
ShowWindow( hwnd, nCmdShow );
UpdateWindow( hwnd );

/* メインウインドウを表示状態を保つ */
MessageBox( NULL, "OKを押すと終了", "ダイアログ", MB_OK );

return 0;
}


コードは目を通すことは出来ましたか。ではVCを使ってコンパイル・実行しましょ
う。

<実行画面>
第4回 ウインドウズ枠の表示1

実行すると、タスクに”ウインドウ”と書かれたウインドウとダイアログボックスの
2つが開きます。とりあえず、”ウインドウ”のタスクをマウスでたたいてアクティ
ブ状態にしてみましょう。特に何にもしていないウインドウですね。最大・最小化も
出来ません。
常に表示しっぱなしです。終了方法はダイアログボックスのOKボタンを押して下さ
い。

今回はウインドウズ枠の表示を行なってみました。これは、これから皆さんにウイン
ドウズプログラミングをより効率的に学習する為の教材として使っていきます。出来
るだけ、ソースコードをメモ帳にコピーをして貼り付けて保存しておいて下さい。フ
ァイル名は自由。
次号より比較しながら使って頂けるとより理解力が増すと思います。
次回はこのソースコードを使ってウインドウズ枠の表示の細かいところをやっていき
ましょう。

なお、編集者が今回使用したVC++のバージョンは2022です。
VCインストール・導入に関しては、もうしばらくお待ち下さい。後で報告できればと思います。


重要ワード
タスク hInstance アクティブ状態 最大・最小化 ダイアログボックス




スポンサーサイト



コメント

非公開コメント