線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1407
推到 Plurk!
推到 Facebook!

如果將彈出菜單(PopupMenu)放到*.rc文檔中?

 
I_Love_You
一般會員


發表:18
回覆:87
積分:21
註冊:2002-07-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-09 09:08:51 IP:202.105.xxx.xxx 未訂閱
各位先進,我想問一下,如果將彈出菜單(PopupMenu)、 菜單(Menu)、對話框(Dialog)這樣的東東放到 *.rc檔案中,然後在我自己的程式中使用他呢? 可否提供個範例給我呢?像這方面的介紹我沒有找到, 隻找到如何將ICON,BMP,CURSOR等放入資源檔的,所以 請大家幫幫我吧,謝謝!!!
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-09 09:27:11 IP:210.64.xxx.xxx 未訂閱
rc本身就是文字檔,你可以用VC產生一個有Menu/PopupMenu/Dialog/String... 的程式,存檔離開後,然後去開啟它程式碼所在目錄裡的rc目錄 打開rc檔,便可看到rc定義/Menu/PopupMenu/... 的語法格式了 噓~~~~~~沉思中…
I_Love_You
一般會員


發表:18
回覆:87
積分:21
註冊:2002-07-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-09 12:02:45 IP:202.105.xxx.xxx 未訂閱
謝謝ddy大大,可我在BCB中要如何來用呢?我主要是被卡在這裡了,您能再指點一下嗎?
aip999
初階會員


發表:10
回覆:63
積分:44
註冊:2002-03-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-11 15:42:39 IP:218.187.xxx.xxx 未訂閱
引言: 謝謝ddy大大,可我在BCB中要如何來用呢?我主要是被卡在這裡了,您能再指點一下嗎?
可以先把rc變成.res 然後跟程式放在一起編 然後在程式中在載入就可了
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-08-11 22:32:24 IP:211.74.xxx.xxx 未訂閱
yes! 多謝aip999 兄熱心回答 噓~~~~~~沉思中…
I_Love_You
一般會員


發表:18
回覆:87
積分:21
註冊:2002-07-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-08-12 11:54:14 IP:61.142.xxx.xxx 未訂閱
感謝大大們的指點,可還是有問題: 我在*.rc中寫下以下內容,然後將他變成*.res檔案。 #define MYPOPUPMENU 1 /* PopupMenu */ MYPOPUPMENU MENU DISCARDABLE BEGIN POPUP "" BEGIN MENUITEM "FILE #", //IDM_FILE MENUITEM SEPARATOR MENUITEM "EDIT #", //IDM_EDIT MENUITEM SEPARATOR MENUITEM "HELP #", //IDM_HELP END END 然後我在主程式中,加入該*.res檔案,同時, void __fastcall TForm1::Button1Click(TObject *Sender) { HMENU lpMenu=::LoadMenu(HInstance,MAKEINTRESOURCE(MYPOPUPMENU)); //我需要怎樣賦值呢?下面的寫法,在運行的時候有錯誤。 Button1->PopupMenu=(TPopupMenu*)lpMenu; //我想讓這個按鈕可以有一個右按菜單彈出,我該怎麼做呢? } //--------------------------------------------------------------------------- 請詳細的再敘述一下好嗎?謝謝!!!
I_Love_You
一般會員


發表:18
回覆:87
積分:21
註冊:2002-07-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-08-12 15:33:37 IP:202.105.xxx.xxx 未訂閱
我自己試出來了,原來要用到TrackPopupMenu()函數,真爽!呵呵!!!^_^ HMENU lpMenu = LoadMenu(HInstance,MAKEINTRESOURCE(FREEPYMENU)); HMENU hSubMenu = GetSubMenu(lpMenu,0); POINT pt; pt.x = 0; pt.y = 0; ClientToScreen(Handle,&pt); TrackPopupMenu(hSubMenu, TPM_LEFTALIGN | TPM_BOTTOMALIGN | TPM_RETURNCMD, 100, 100, 0, Handle, NULL);
系統時間:2024-04-27 4:12:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!