WPF程式設計,C 中對話方塊自動關閉的一種方法。

2021-09-02 22:22:52 字數 1833 閱讀 3863

messageboxtimeout是乙個微軟未公開的windows api函式。實現定時訊息,功能類似於messagebox。如果使用者不回應,能定時關閉訊息框。函式由user32.dll匯出,windows2000及以下沒有此函式。

原型:

int messageboxtimeouta(hwnd hwnd, lpcstr lptext, lpcstr lpcaption, uint utype, word wlanguageid, dword dwmilliseconds);

int messageboxtimeoutw(hwnd hwnd, lpcwstr lptext, lpcwstr lpcaption, uint utype, word wlanguageid, dword dwmilliseconds)[1]

引數:

hwnd//訊息框的擁有視窗。

lptext//訊息框的內容。

lpcaption//訊息框的標題。

utype//指定乙個決定對話方塊的按鈕型別和圖示型別的位標誌集。

wlanguageid//函式擴充套件,一般取0。

dwmilliseconds//訊息框延遲關閉時間,單位:毫秒。

utype取值:

utype:按鈕型別,以下給出常量,可相加。

意思是從需要的每一組中選擇一種功能,將其前面的數值相加,寫在utype的取值處,

這樣,對話方塊就能應用所有選定的功能。

每組只能取乙個型別,第五組除外,複製於易語言給出的提示。

第一組(描述對話方塊中顯示按鈕的型別與數目):

0、#確認鈕;1、#確認取消鈕;2、#放棄重試忽略鈕;3、#取消是否鈕;4、#是否鈕;5、#重試取消鈕

第二組(描述圖示的樣式):

16、#錯誤圖示; 32、#詢問圖示; 48、#警告圖示; 64、#資訊圖示

第三組(說明哪乙個按鈕是預設預設值):

0、#預設按鈕一; 256、#預設按鈕二; 512、#預設按鈕三; 768、#預設按鈕四

第四組(決定如何等待訊息框結束):

0、#程式等待; 4096、#系統等待

第五組(其它):

65536、#位於前台; 524288、#文字右對齊

返回值:

除了選則第一組的0型別時,返回是1,其它型別都是預設返回是32000。

確認:1

取消:2

中止:3

重試:4

忽略:5

是:6否:7

[dllimport("user32.dll")]   

public static extern int messageboxtimeouta(intptr hwnd, string msg, string caps, int type, int id, int time); //引用dll

像這樣:

messageboxtimeouta((intptr)0, "3秒後自動關閉", "訊息框", 0, 0, 3000);    // 直接呼叫  3秒後自動關閉
像這樣:

自動關閉MessageBox對話方塊

方法1 模擬回車實現 settimer 1,1000,null messagebox test test1 在ontimer uint nidevent 中 if nidevent 1 方法2 getforegroundwindow 得到控制代碼 sendmessagecallback傳送訊息 vo...

建立可以定時自動關閉的對話方塊

首先在resourceview中插入乙個新對話方塊資源,調整好布局後為對話方塊資源建立乙個對話方塊類 當然是以cdialog為基類了 例如叫cxxdlg。再為cxxdlg新增訊息函式 bool cxxdlg oninitdialog void cxxdlg ontimer uint nidevent...

程式中的對話方塊應用(4) 」顏色「對話方塊

tcolordialog元件用於顯示選擇顏色的對話方塊,當使用者選擇乙個顏色並單擊 ok 按鈕後,所選顏色會被儲存到 color 屬性中。1 將 顏色 對話方塊中所選的顏色值應用到元件中示例 colordialog1.execute memo1.text colortostring colordia...