全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:999
推到 Plurk!
推到 Facebook!

关於动态加入toolbar button

尚未結案
KFC
一般會員


發表:43
回覆:73
積分:23
註冊:2003-03-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-14 22:23:12 IP:210.77.xxx.xxx 未訂閱
在我的DLL中获取了当前表单中的toolbar handle。我想用以下的api在原有的toolbar加入新的按钮 var button :PTBBUTTON; Ico :PTBADDBITMAP; himl :HWND; MYICON_CX, MYICON_CY :Integer; bm :HWND; begin himl := ImageList_Create(16, 16, ILC_COLOR32 or ILC_MASK, 1,4); bm := LoadBitmap(HInstance, 'IDL_BITMAP'); ImageList_Add(himl, bm, 0); SendMessage(currentH, TB_SETIMAGELIST, 0, Integer(himl)); button.iBitmap := 0; button.idCommand := ID_FILE_NEW; button.fsState := TBSTATE_ENABLED; // error if add this line!!! button.fsStyle := TBSTYLE_BUTTON; button.dwData := 0; // error if add this line!!! button.iString := 0; // error if add this line!!! SendMessage(currentH,TB_BUTTONSTRUCTSIZE, sizeof(PTBBUTTON), 0); SendMessage(currentH,TB_ADDBUTTONS, Word(2), Integer(button)); ... end 但无论如何也可成功。请问应该怎样做? 發表人 - KFC 於 2003/04/15 00:03:15
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-14 23:11:43 IP:218.16.xxx.xxx 未訂閱
先別管 toolBar 的 handle, create 好 Button 並設好所有屬性 最後用 : Windows.SetParent(Button.Handle,ToolBarHandle); 我沒在 DLL 試過但這一般是可行的,你可試試。
KFC
一般會員


發表:43
回覆:73
積分:23
註冊:2003-03-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-14 23:42:16 IP:210.77.xxx.xxx 未訂閱
谢谢版主,但是我建立button都出问题,还有BMP不知怎样加进去。
KFC
一般會員


發表:43
回覆:73
積分:23
註冊:2003-03-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-15 00:06:48 IP:210.77.xxx.xxx 未訂閱
按我第一贴的写法,按钮可能是没有建立成立。但ICON是有的。但奇怪的是用sendmessage加入到toolbar后,原有的所有ICON都不见是,只剩下我的ICON。而且位置也乱了。如果改用版主的 Windows.SetParent(Button.Handle,ToolBarHandle); 系统报错。 请问有没有示例? 谢谢
系統時間:2024-05-06 1:26:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!