| File6 メニューバーを作るのだが・・・これが(−−;ややこしい!! どうやるか解らないのだ(−−; 「Visual Studio」や「VisualC++」等が有ったら?リソースエディタってのが 付属してて?簡単に??出来る??のか??か??どうなんだ?? 疑問ばかりだが(*^^*ゞ私の環境でも出来るのだ``r(^^;)ぽりぽり とにかく!!ややこしかった!!難しかった!!下の様になるだけだが(−−;
リソースコンパイラを使う! BRCC32.EXE はボーランドのリソースコンパイラです。BRCC32.EXE はリソーススクリプトファイル(.RC ファイル)をコンパイルしてバイナリの .RES ファイルを作成します。 ってBCC(Borland C++ Compiler 5.5)のヘルプに載ってました(*^^*ゞ 読んでも実は意味がわからないのですが、まず(たぶん).RC ファイルってのを 作らなくてはいけないようだ・・・だから作る↓(res1.rcで保存)
#include "res.h"
IDR_MENU MENU
BEGIN
POPUP "ファイル(&F)"
BEGIN
MENUITEM "終了(&X)" IDM_EXIT
END
END
上に書いちゃったけど#include "res.h"をインクルードしてる訳だ。 だから"res.h"も要る訳だな・・・だから作る↓(res.hで保存) #define IDR_MENU 101 #define IDM_EXIT 102 ↑この記述は・・・奥があるようでよくわからないのだ・・・(−−; 解らないところは突っ込まないで、次に行く``r(^^;)ぽりぽり あと本体のプログラムに追記する部分が有るんだ #include "res.h"ヘッダのインクルードを追記 wcl.lpszMenuName = (LPCSTR)IDR_MENU;WNDCLASSEXの構造を変える。 wcl.lpszMenuName = NULL; はメニューバーを使用しないって事で wcl.lpszMenuName = (LPCSTR)IDR_MENU;って使うぞ!って言ってやる。 この辺からややこしい追記だ(−−; ウインドウプロシージャ関数に追記する。 この部分は"真っ白な所に文字が表示される文字(⌒^⌒)bうふっ" って書いたときと同じ部分です(下記はパクッテ張った解説m(_ _)mごめん)
switch(msg){
case 左クリック:
あーしろ;
break;
case 右クリック:
こーしろ;
break;
case 左ダブルクリック:
そーしろ;
break;
default:
return DefWindowProc(hwnd, msg, wP, lP);
}
ってな具合に定義してやれば(・∀・)イイ!!らしい・・・(−−;こんな感じだ↓
case WM_COMMAND:
switch (LOWORD(wP))
{
case IDM_EXIT: //リソース定義ID
DestroyWindow(hwnd);
break;
さてと、全てのファイルがそろったところで、リソースをリンクするようにしなきゃ いけないようだ・・・。 これはパッチファイルを作ってやれば出来るらしい。 set path=c:\borland\bcc55\bin;%PATH% bcc32 -W sample1.c brc32 res1.rc sample1.exeって.batって言うパッチ拡張子で同じフォルダに入れて使用すると、冒頭に書いた BRCC32.EXE ってのがちゃんとやってくれるようだ(*^^*ゞ 追記した本体プログラムで一度exeファイルを作ってからパッチを充てると、次回動かすと ちゃんと、メニューが出るって事になるらしい・・・ これはほんと・・・難しかった/(-_-)ヽ あっちから、こっちから・・・コピペしまくってるのだが、コピペだけでは絶対にプログラムは 動かないんだ(−−;動かないから理解が深まるのだが・・・ そのうち・・・ちゃんと本当に理解できる日がやってくるだろう(^_^")? (コピーさせてもらってるHPの諸先輩方は目をつむっていなさい(^。^/)うふっ) |