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...