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

TreeView 禁止點選時 , 又能使用捲軸?

答題得分者是:harpist
suntea
一般會員


發表:18
回覆:16
積分:6
註冊:2006-12-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-21 10:14:47 IP:59.105.xxx.xxx 未訂閱
想要TreeView 禁止點選 ,
TreeView1->Enabled = false;

但這樣就無法使用捲軸上下移動看資料
請問要如何解決呢?
編輯記錄
suntea 重新編輯於 2007-06-21 10:15:02, 註解 無‧
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-21 19:27:01 IP:59.104.xxx.xxx 未訂閱
你的需求不適合使用 Enabled 這個屬性來作,他會忽略所有mouse、keyboard、timer 事件,
你應該另外設計 TreeView 禁止點選的功能,如自己去攔截訊息。

<textarea class="cpp" rows="10" cols="60" name="code">class TForm1 : public TForm { __published: // IDE-managed Components TTreeView *TreeView1; private: // User declarations TWndMethod oldTreeViewProc; //儲存原訊息函式 void __fastcall TreeViewWndProc(Messages::TMessage &Message);//攔截訊息函式 public: // User declarations __fastcall TForm1(TComponent* Owner); }; </textarea>

<textarea class="cpp" rows="10" cols="60" name="code">//--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { oldTreeViewProc = TreeView1->WindowProc; TreeView1->WindowProc = TreeViewWndProc; } //--------------------------------------------------------------------------- void __fastcall TForm1::TreeViewWndProc(Messages::TMessage &Message) { if(Message.Msg == WM_LBUTTONDOWN) { //忽略 } else { oldCheckTreeProc(Message); } } //--------------------------------------------------------------------------- </textarea>
------
~§~迷時師渡,悟了自渡~§~
編輯記錄
harpist 重新編輯於 2007-06-21 19:27:50, 註解 無‧
系統時間:2024-11-24 19:22:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!