縮小張form的問題? |
答題得分者是:Justmade
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
Form1 = Class(TForm) .... private procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND; .... procedure TForm2.WMSysCommand(var Message: TWMSysCommand); begin if (Message.CmdType and $FFF0 = SC_MINIMIZE) then Application.Hide else inherited; end; |
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
引言:Justmade兄: 不能compile,因為沒有Application.hide,怎樣做 如果我想連close張form都只時hide張form,這樣應怎樣做? 發表人 - superlowb 於 2003/06/14 12:05:11Form1 = Class(TForm) .... private procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND; .... procedure TForm2.WMSysCommand(var Message: TWMSysCommand); begin if (Message.CmdType and $FFF0 = SC_MINIMIZE) then Application.Hide else inherited; end; |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
出外吃飯前回覆打太快不好意思
< class="code">
Form1 = Class(TForm)
....
private
procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
....
procedure TForm2.WMSysCommand(var Message: TWMSysCommand);
begin
if (Message.CmdType and $FFF0 = SC_MINIMIZE) or (Message.CmdType and $FFF0 = SC_CLOSE) then
Application.ShowMainForm := false;
else
inherited;
end;
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
多謝Justmade,問題已解決,我是這樣寫也可做到同樣效果
if (message.CmdType =SC_MINIMIZE) or (message.CmdType=SC_CLOSE) then form1.hide else inherited;又有一問題想問,當minimize張form後,張form會hide而會在system tray 上出現該application 的icon ,在system tray 上的right click該icon會有popupmenu出現,而當popupmenu出現後,我click其他window物件時,popupmenu仍然存在,怎樣可以將它消失? |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
Message.CmdType and $FFF0 是去除了最後四個 bit 的資料 這四個 bit 一般應沒資料但卻不一定所以 Borland 才會用這種方法來寫。 別問我甚麼情況下這四個 bit 會有資料,我不知道。若你認為這個很重要的話可以去問 Microsoft 或 Borland。我只是相信 Borland 寫 VCL 時不會無事加個 and $FFF0。 至於若你不懂這種 and 的用法可看 help :
Logical (bitwise) operators 發表人 - Justmade 於 2003/06/14 13:39:36
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |