使用 API 函數 RegisterClass 注冊窗口; 使用 API 函數 CreateWindowEx 創建窗口; 使用 API 函數 ShowWindow 顯示窗口; 最後退出時使用 API 函數 DestroyWindow 銷毀窗口。 ISynchronizeInvoke提供了一個普通的标準機制用于在其他線程的對象中進行方法調用。例如,如果一個對象實現了ISynchronizeInvoke,那麽在線程T1上的客戶端可以在該對象中調用ISynchronizeInvoke的Invoke()方法。Invoke()方法的實現會阻塞(block)該線程的調用,它将調用打包發送(marshal)到 T2,并在T2中執行調用,再将返回值發送會T1,然後返回到T1的客戶端。Invoke()方法以一個代理來定位該方法在T2中的調用,并以一個普通的對象數組做爲其參數。
調用者還可以檢查InvokeRequired屬性,因爲你既可以在同一線程中調用ISynchronizeInvoke也可以将它重新定位(redirect)到其他線程中去。如果InvokeRequired的返回值是false的話,則調用者可以直接調用該對象的方法。 從字面上就能很容易的指導每個枚舉值所代表的按鈕。需要說明的是,含有Retry的枚舉值現在很少使用,這是MS-DOS在過去當用戶試圖訪問一個由于某種原因
而無法響應的設備(通常是軟盤)而顯示的消息。
當你需要Ok和Cancel按鈕時可以這樣調用Show()
|