Tray' PopMenu.. |
答題得分者是:hagar
|
nnn0918k
一般會員 發表:12 回覆:33 積分:14 註冊:2003-05-12 發送簡訊給我 |
當我用程式在工作列的時間區那,建立一個Tray圖示後,再加個PopMenu上去。
如同別的程式一樣,按右鍵(或者左鍵)跳出PopMenu。
可是,我的程式,跳出PopMenu後,如果不按PopMenu上面的Menu的話,他就永遠在那邊了..
別的程式(如FlashGet),如果不想選PopMenu上面的Menu的話,可以直接點選別的地方,他就會不見了。
可是我的卻不行..
而且似乎站內的其他Tray程式也有相同的問題呢!
「記憶體釋放(常駐)」<~像這個就有相同的問題..
連Tray範例也是.. 以上 火舞精靈 - 蘇
|
aquarius
資深會員 發表:3 回覆:347 積分:330 註冊:2003-05-21 發送簡訊給我 |
引言: 當我用程式在工作列的時間區那,建立一個Tray圖示後,再加個PopMenu上去。 如同別的程式一樣,按右鍵(或者左鍵)跳出PopMenu。 可是,我的程式,跳出PopMenu後,如果不按PopMenu上面的Menu的話,他就永遠在那邊了.. 別的程式(如FlashGet),如果不想選PopMenu上面的Menu的話,可以直接點選別的地方,他就會不見了。 可是我的卻不行.. 而且似乎站內的其他Tray程式也有相同的問題呢! 「記憶體釋放(常駐)」<~像這個就有相同的問題.. 連Tray範例也是.. 以上 火舞精靈 - 蘇我自己寫了個小程式試一下, 不會發生你說狀況. 說說你是用什麼方式 POPUP MENU 的, 或是你用那一個元件來做成. 這樣才比較容易找出問題來!! ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com |
nnn0918k
一般會員 發表:12 回覆:33 積分:14 註冊:2003-05-12 發送簡訊給我 |
引言: 我自己寫了個小程式試一下, 不會發生你說狀況. 說說你是用什麼方式 POPUP MENU 的, 或是你用那一個元件來做成. 這樣才比較容易找出問題來!! ...Aquarius procedure TForm1.FormCreate(Sender: TObject); var ico: ticon; begin GlobalMemoryStatus(memory); ico := ticon.create; imagelist1.GetIcon(0, ico); BorderIcons := [biSystemMenu]; IconCount := 0; IconData.cbSize := sizeof(IconData); IconData.Wnd := Handle; IconData.uID := 100; IconData.uFlags := NIF_MESSAGE NIF_ICON NIF_TIP; IconData.uCallbackMessage := WM_USER 1; IconData.hIcon := ico.handle; StrPCopy(IconData.szTip,floatToStr(memory.dwAvailPhys / 1024 / 1024) ' MB'); Shell_NotifyIcon(NIM_ADD, @IconData); Timer1.Interval := 1000; Timer1.Enabled := true; ico.free; end; procedure TForm1.WndProc(var Msg: TMessage); var p: TPoint; begin case Msg.Msg of WM_USER 1: case Msg.lParam of WM_RBUTTONDOWN: begin // 在圖上按了左鍵 GetCursorPos(p); PopupMenu1.Popup(p.x, p.y); end; WM_LBUTTONDOWN: begin // 在圖上按了右鍵 open1Click(form1); end; end; end; inherited; end;以上兩段節錄自站內的「記憶體釋放(常駐)」.. 我家是WinXP..Delphi7.. 火舞精靈 - 蘇 |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&th=5d8b43e560dcae5&rnum=5 Christo Craus:
You have to call SetForegroundWindow before showing the popup menu:
WM_RBUTTONUP : begin GetCursorPos(pos); //Gets current position of mouse cursor SetForegroundWindow(Form1.handle); PopupMenu1.Popup(pos.x, pos.y); end;--- --<-<-<@ |
nnn0918k
一般會員 發表:12 回覆:33 積分:14 註冊:2003-05-12 發送簡訊給我 |
引言: http://groups.google.com.tw/groups?hl=zh-TW&lr=&ie=UTF-8&oe=UTF-8&th=5d8b43e560dcae5&rnum=5 Christo Craus: You have to call SetForegroundWindow before showing the popup menu:可以了耶.. 感謝你囉! 火舞精靈 - 蘇WM_RBUTTONUP : begin GetCursorPos(pos); //Gets current position of mouse cursor SetForegroundWindow(Form1.handle); PopupMenu1.Popup(pos.x, pos.y); end;--- --<-<-<@ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |