// sdaDlg.cpp : implementation file
//
#include "TipDlg.h"
.
.
.
.
void CSdaDlg::OnButton2()
{
INT_PTR nRes;
CTipDlg tipDlg ;
nRes = tipDlg.DoModal();
if (IDCANCEL == nRes)
return;
UpdateData(TRUE);
m_3 = m_2 + m_1;
UpdateData(FALSE);
}
D:\作业\sda\sdaDlg.cpp(181) : error C2065: 'CTipDlg' : undeclared identifier
D:\作业\sda\sdaDlg.cpp(181) : error C2146: syntax error : missing ';' before identifier 'tipDlg'
D:\作业\sda\sdaDlg.cpp(181) : error C2065: 'tipDlg' : undeclared identifier
D:\作业\sda\sdaDlg.cpp(182) : error C2228: left of '.DoModal' must have class/struct/union type
执行 cl.exe 时出错.
为什么呢,我已经建立了一个叫tipDlg的class了,高手告诉我怎么改T T
MFC对话框弹出入门问题
答案:2 悬赏:10 手机版
解决时间 2021-03-22 07:39
- 提问者网友:骑士
- 2021-03-21 19:29
最佳答案
- 五星知识达人网友:山有枢
- 2021-03-21 21:05
看看两个类名是否一致。。
全部回答
- 1楼网友:一秋
- 2021-03-21 21:54
方法一: <br> <br><a href="http://wenwen.soso.com/z/urlalertpage.e?sp=shttp%3a%2f%2fsupport.microsoft.com%2f%3fkbid%3d222829" target="_blank">http://support.microsoft.com/?kbid=222829</a><br> <br> 1 插入一个新的accelerator到资源里,把加速键和对应的响应控件(如一个按钮)关联 <br> 2 在对话框头文件中声明: <br> haccel m_haccel; <br> 3 在对话框的构造函数里初始化m_haccel <br> m_haccel = ::loadaccelerators(afxgetinstancehandle(),makeintresource(idr_accelerator1)); <br> 4 然后重载对话框的pretranslatemessage函数,在 <br> bool caboutdlg::pretranslatemessage(msg* pmsg) <br> { <br> if (m_hacceltable) <br> { <br> if (::translateaccelerator(m_hwnd, m_hacceltable, pmsg)) <br> { <br> return(true); <br> } <br> } <br> return cdialog::pretranslatemessage(pmsg); <br> } <br> <br> 方法二: <br> 1 声明热键消息处理函数原型 <br> 在.h中消息映射声明处(afx_msg字样之后)加入如下语句: <br> lresult onhotkey(wparam wparam,lparam lparam); <br> 2. 消息与相应处理函数相关联 <br> 在.cpp中加入消息映射宏,使消息与相应处理函数发生关系, <br> on_message(wm_hotkey,onhotkey); <br> 3. 为方便以后的操作 <br> 预先在类中创建一个响应wm_create和wm_destroy消息的函数 <br> oncreate()与ondestroy()的框架 <br> 4.向系统登记热键 <br> 在oncreate()函数中加入如下代码以向系统登记热键,本例子的热键设为 <br> ctrl+shift+a. <br> registerhotkey(m_hwnd,1001,mod_control|mod_shift,'a'); <br> registerhotkey(m_hwnd,1002,mod_control|mod_shift,'a'); <br> 5.处理热键 <br> 在消息处理函数onhotkey()中对热键进行处理,并可加入用户希望运行的程序代码 <br> lresult c****::onhotkey(wparam wparam,lparam lparam) <br> if(wparam==1001||wparam==1002) <br> cwnd::setforegroundwindow();//使得被激活窗口出现在前景 <br> messagebox("hello!"); <br> //用户可在此添加代码 <br> return 0; <br> 6.程序运行完毕后解除热键 <br> 在ondestroy()中通过unregisterhotkey()解除热键登记,释放系统资源. <br> unregisterhotkey(m_hwnd,1001); <br> unregisterhotkey(m_hwnd,1002); <br> 7.编译并运行程序
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯