Borland C++ 5.5 で
|
Last Update: Jun.11,2001 |
| 「Borland C++ Compiler 5.5(日本語版)」を使って、本格的な Windows アプリケーションを作成してみました。 | |
メニューリソースを作成して、本格的な
Windows アプリケーションを作成してみます。ここでのポイントは、リソースをリンクする方法です。この方法を理解すれば、メニューの他にアイコンやビットマップ、ダイアログボックス等も利用することが出来るようになります。Windows
アプリケーションのプログラミングの詳細については、Charles
Petzold 著「プログラミング Windows95」(アスキー出版局)などの書籍を参考にして下さい。
/* sample1.c */
#include <windows.h>
#include "res.h"
LPCSTR szWindowClass = "SAMPLE1_CLASS";
LPCSTR szHello = "Hello, Windows C Programming !";
LRESULT CALLBACK WndProc(HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
RECT rt;
switch (message)
{
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDM_EXIT: /* リソースで定義したID */
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, lstrlen(szHello), &rt,
DT_CENTER | DT_SINGLELINE | DT_VCENTER);
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG msg;
WNDCLASSEX wcex;
HWND hWnd;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(NULL,IDI_APPLICATION);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = (LPCSTR)IDR_MENU; /* リソースで定義したID */
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = NULL;
RegisterClassEx(&wcex);
hWnd = CreateWindow(szWindowClass,
"Sample 1 Application", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
NULL, NULL, hInstance, NULL);
if (!hWnd)
return FALSE;
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
/* メッセージ ループ */
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
/* res1.rc */
#include "res.h"
IDR_MENU MENU
BEGIN
POPUP "ファイル(&F)"
BEGIN
MENUITEM "終了(&X)" IDM_EXIT
END
END
/* res.h */ #define IDR_MENU 101 #define IDM_EXIT 102
メモ帳で、
set path=c:\borland\bcc55\bin;%PATH% bcc32 -W sample1.c brc32 res1.rc sample1.exe
と記述し、「smake.bat」と名前をつけて、上記の3つのソースと同じディレクトリ内に保存し、「smake.bat」をダブルクリックしてコンパイル・リンクを行いました。
brc32.exe は、リソースをコンパイルして、EXE にリンクするリソースシェルです。コマンドラインの構文は、
brc32 [options] <filename>.RC [<filename>.EXE]
です。先にリソースのない EXE を作成しておいて、後でリンクするのがポイントです。
| Back | Copyright (c) 2000, 2001 AOK. All Rights Reserved. |