前ページのプログラムの解説ですが、前ページのプログラムは5つの部分に分けることができます。 下では、その各部分ごとに説明していきます。
'lesson2-1-1 ' 変数の宣言 Dim lpWcx As WNDCLASSEX Dim hBrush As HBRUSH Dim hMainWnd As HWND Dim lpMsg As MSG
' ブラシの作成 hBrush = CreateSolidBrush(GetSysColor(COLOR_3DFACE)) ' 変数lpWcxの初期化 FillMemory(VarPtr(lpWcx), Len(lpWcx), 0) ' クラスデータの設定 With lpWcx .lpszClassName = "NORMAL" .lpfnWndProc = AddressOf(MainWndProc) .hIcon = LoadIcon(NULL,IDI_APPLICATION) .hIconSm = LoadIcon(NULL,IDI_WINLOGO) .hCursor = LoadCursor(NULL,IDC_ARROW) .cbSize = SizeOf(WNDCLASSEX) .style = CS_DBLCLKS or CS_HREDRAW or CS_VREDRAW .hInstance = GetModuleHandle(0) .hbrBackground = hBrush End With ' ウィンドウクラスの登録 RegisterClassEx(lpWcx)
' ウィンドウの作成 hMainWnd =_ CreateWindowEx( NULL, "NORMAL", "スケルトンウィンドウ", WS_OVERLAPPEDWINDOW or WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 300, 200, NULL, NULL, GetModuleHandle(0), NULL )
WS_OVERLAPPED | タイトルバーと枠だけのウィンドウを作ります。 |
WS_SYSMENU | ウィンドウを閉じるボタン(「×」ボタン)を付けます。 |
WS_THICKFRAME | ウィンドウの縁をドラッグ・アンド・ドロップすると大きさを変えれるウィンドウにします。 |
WS_MINIMIZEBOX | 最小化ボタンを付けます。 |
WS_MAXIMIZEBOX | 最大化ボタンを付けます。 |
WS_OVERLAPPEDWINDOW | 上に書いたものを全部指定したのと同じウィンドウを作ります。 |
WS_VISIBLE | 表示されるウィンドウを作成します。 |
WS_MAXIMIZE | ウィンドウを最大化して表示します。 |
WS_MINIMIZE | ウィンドウを最小化して表示します。 |