首页 > 编程知识 正文

mfc关闭窗口触发的事件(MFC:自动关闭抛出异常而自动弹出的AfxMessageBox框,自动关闭弹出的MessageBox框)

时间:2023-05-04 07:57:30 阅读:123908 作者:882

VC会自动关闭弹出的MessageBox对话框摘要

抛出异常并自动弹出的AfxMessageBox框voidcautoclosemessageboxdlg :3360 onbnclickedbutton1({ settimer (2,10,NULL ) }; try{CFile fp; FP.open(_t(d:/c.txt )、CFile:modeWrite ); //| cfile :3360模式创建; fp.SeekToEnd (; //先在文件末尾的FP.write(_t ) ),3 ); fp.Close (; }catch(cfileexception*e ) {e-ReportError ); e-Delete (; } voidcautoclosemessageboxdlg :3360 ontimer (uint _ ptrnidevent ) if ) nidevent==2) kill timer (NID event ); kybd_event(vk_return,0,0,0 ); 按//键选择keybd_event(vk_return,0,KEYEVENTF_KEYUP,0 ); 按//、按钮,模拟“返回汽车”命令}按按钮弹出未找到文件的AfxMessageBox,如下图所示。 然后,这个AfxMessageBox又被程序关闭了

要自动关闭弹出式MessageBox框,请首先创建计时器,然后弹出MessageBox。

voidcautoclosemessageboxdlg :3360 onbnclickedbutton1({/todo :此处提供控制通知处理程序代码////messagebox(_t ) ) (d3360 ) intret=messagebox (_t (d : ((test.txt ) )、_ t )、MB_ICONEXCLAMATION ); if(ret==idYES ) {TRACE ) (按钮【yes】已按下n ); }elseif(ret==idNO ) {TRACE )按钮【no】被按下(n ); }然后,在计时器回调中((我的测试第1、3、5个方法就可以了) ) ) ) ) )。

voidcautoclosemessageboxdlg :3360 ontimer (uint _ ptrnidevent ) {//TODO:在此处添加消息处理程序代码或默认值if } NID event if(hwnd ) ) {TRACE ('找到提示窗口n ); //第一种方法:直接发送WM_CLOSE消息。 //:sendmessage () hWnd ) hWnd,WM_CLOSE,NULL,NULL );//第二种方法://:3360结束诊断() hWnd )、IDNO ); //第三种方法:模拟窗口提示点击【IDNO】按钮//hwndh=:3360 getdlgitem ((hwnd ),IDNO )。 找到if(h ) ) trace('idno控制窗口n );postmessage((hWnd ) hwnd,WM_COMMAND,makewparam ) idno,BN_CLICKED,(LPARAM ) h ); (//第四种方法:模拟鼠标移动到【IDNO】按钮,单击/////hWndh=:3360getdlgitem () hwnd,IDNO )。 //if(h )////trace (找到' idno控制窗口n ); //POINT pt; //CRect rc; //:千兆字节(h,rc ); //pt.x=rc.left 10; //pt.y=rc.top 10; //setcursorpos(pt.x,pt.y ); //鼠标移动到【IDNO】按钮上////mouse _ event (mouse event f _ left down|mouse event f _ absolute,0,0,0 ); //mouse _ event (mouse event f _ left up|mouse event f _ absolute,0,0,0 ) ); ////5第五种方法:模拟键盘返回并关闭对话框//keybd_event(vk_return,0,0,0 ); keybd_event(vk_return,0,KEYEVENTF_KEYUP,0 ); } cdialog ex :3360 ontimer (NID event ); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。