如何使窗體 Showmodal 後可以操作其他窗體

2021-06-06 01:19:58 字數 826 閱讀 5793

對話方塊 showmodal 之後不能操作其它視窗 ,實際上是因為 windows disable 了其它視窗。所以當你需要在模態對話方塊中訪問其它已經可見的視窗時 ,需要用 enablewindow api 來啟用對應的視窗。

例如 :

form2.showmodal;

在 form2 的 onshow 事件中 :

enablewindow(form1.handle,true);

如何使用 show 方法來顯示乙個模態視窗

我們知道在 delphi 中顯示乙個視窗有兩種方式 ,模態方式顯示 (showmodal) 和非模態方式顯示 (show),模態方式顯示視窗時 ,必須在自身關閉後才能使父視窗起作用 ,但有時我們想要實現乙個視窗 ,既要具有模態視窗的特性 ,但又要能從父視窗中控制它 ,如顯示乙個表示處理進行過程的進度框。利用 disabletaskwindows 和  enabletaskwindows  可以達到這一效果。

下面是演示實現程式 :

procedure tform1.showprogressdlg;

varwindowlist: pointer;

begin

windowlist := disabletaskwindows(form2.handle);

tryform2.show;

form2.progressbar1.position :=

form2.progressbar1.position + 1;

finally

enabletaskwindows(windowlist);

form2.close;

end;

end;

C 如何使窗體位於最底層

在c 中如何使窗體位於最底層呢?這裡要用到winapi函式,我們要通過引用dll檔案的形式來進行操作,這裡的dll檔案是自己用vc6.0編譯的,我們無法在引用裡加入我們的dll檔案,只能通過新增現有檔案的方法,我們把dll檔案放在根目錄裡。下面是源 using system using system...

VC 如何使程式執行後自己刪除自己

include include include include pragma comment lib,shell32.lib char szcommandline max path 10 設定本程序為實時執行,快速退出 setpriorityclass getcurrentprocess realt...

VC 如何使程式執行後自己刪除自己

有時候,我們需要建立乙個執行後能夠自己刪除自己的可執行程式即自刪除程式。很明顯如果乙個程序通過直接呼叫deletefile 來刪除自己是不可能的。必須另想辦法,經過本人在網上參考很多資料後實際測試並集眾家之所長,發現有二種方法效果比較好。現在將其封裝成函式,這樣使用將更加容易 方法1 呼叫bat 檔...