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. |