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

DOCK關閉鈕事件?

尚未結案
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-27 16:49:23 IP:61.220.xxx.xxx 未訂閱
請問如上面的畫面中..DOCK在畫面會產生X的關閉鈕. 當我直接按下TreeView上的X關閉鈕. TreeView會被關閉.但底層的Panel1卻會出現. 因為此時AutoSize = false; 想請問按下X關閉鈕的事件是哪個?.. 因為沒有Close事件.
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-27 20:48:11 IP:61.217.xxx.xxx 未訂閱
pireer 您好:    我沒處理過這樣的動作,因為我原先碰到相同問題時,為了避免不必要的麻煩,因此採取的方式是將 Dock 物件套入一個 Form 中來使用,而我在那個 Form 中將那個 "關閉按鈕" 給去掉了 (另外還修改了 VCL 原始碼 controls.pas 的部份程式碼),換言之;我避開了那個問題,所以沒在這個問題上繼續找答案。    我剛才試著在站上找了一下,好像下列這篇 Delphi 的討論比較與您的問題類似,但是裡面講到的方式我還沒有測試過,您先參考一下吧: 當使用Docking,關掉x鈕時,觸發的是什麼事件? http://delphi.ktop.com.tw/topic.php?topic_id=46936 7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/09/27 20:51:06
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-28 17:31:16 IP:61.220.xxx.xxx 未訂閱
RedSnow您好: 此篇文章我先前有看過.由於是Delphi語法. 有些地方看不是很懂.我在去找找看其他資料好了. 感謝您的指導.
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-09-28 18:45:39 IP:210.68.xxx.xxx 未訂閱
您好:  
引言: 想請問按下X關閉鈕的事件是哪個?.. 因為沒有Close事件.
試試下面的程式碼
.h    class TForm1 : public TForm
{
__published:        // IDE-managed Components
        TPanel *Panel1;
        TTreeView *TreeView1;
        TMemo *Memo1;
private:        // User declarations
public:                // User declarations
        TWndMethod OldTTreeViewWndProc;
        void __fastcall TTreeViewWndProc(TMessage& Message);
        __fastcall TForm1(TComponent* Owner);
};    .cpp
const WM_DOCKCLOSE = 45067;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
    OldTTreeViewWndProc = TreeView1->WindowProc;
    TreeView1->WindowProc = TTreeViewWndProc;
}
//---------------------------------------------------------------------------    void __fastcall TForm1::TTreeViewWndProc(TMessage& Message)
{
    if (Message.Msg == WM_DOCKCLOSE)
    {
        ShowMessage("DOCKCLOSE");
    }
    OldTTreeViewWndProc(Message);
}
順心
pireer
初階會員


發表:73
回覆:80
積分:30
註冊:2004-12-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-09-29 11:56:01 IP:61.220.xxx.xxx 未訂閱
hi taishyang: 由您的程式碼.可找到被關閉時觸發的事件. 感謝您的指導.
系統時間:2024-11-23 13:12:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!