如何在表單打開時自動展開ShellTreeView? |
尚未結案
|
JimmyLiang
一般會員 發表:4 回覆:2 積分:1 註冊:2002-11-18 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 請問各位高手,我有一個執行檔放在C:\Jimmy\Tmp下,如何在表單打開時將ShellTreeView自動展開到此目錄?如果我印象中沒有錯的話, 在oncreate中是不能直接做有關在該主窗中任何畫面異動的行為, 如setfocus, view....., 否則會有Access 的錯誤 但我利用下面的方式可以解決, 提供你參考 1.在 private { Private declarations } procedure FormChange(Sender: Tobject; var Done: boolean); --> 加此行, formchange名稱可自定 2.在 {$R *.DFM} 下加入此程式段 procedure TForm1.FormChange(Sender: Tobject; var Done: boolean); var handle: longInt; begin handle:= FindWindow('TForm1',nil); if handle = 0 then exit; Application.ProcessMessages; Application.OnIdle:= nil; Done:= True; // 寫下你那一段treeview展開程式 end; 3. 在 procedure TForm1.FormCreate(Sender: TObject); begin : : // 下行請加到最後一列 Application.OnIdle:= FormChange; end; 這樣在oncreate結束, window的handle變成Idle(閒置)時, 會自動去呼叫 FormChange 的程式段, 就應該可以解決你的問題了! |
JimmyLiang
一般會員 發表:4 回覆:2 積分:1 註冊:2002-11-18 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |