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の諸先輩方は目をつむっていなさい(^。^/)うふっ) |