一个关于ATL的问题。

hefeng 2000-05-22 11:16:00
我正用ATL写一个围棋组件,当客户在棋盘上的禁着点上落子时,我想让组件弹出一个消息框,如:MessageBox(...)。但编译可以通过,运行时却出错,请问这是为什么?
...全文
140 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hefeng 2000-05-23
  • 打赏
  • 举报
回复
我用lapple的方法成功了!
可为什么非要加“::”?请高手指点。
longx 2000-05-23
  • 打赏
  • 举报
回复
加 ::表示使用全局函数(如果有同名的函数)对MessageBox来说就是API函数。
在MFC或ATL中,大多分装了API函数。你的错误是用了分装后的函数。MessageBox
API原形为 MessageBox(HWND,LPCTSTR,LPCTSTR,INT)而分装后将第一个参数 HWND
去掉,使用各个类的窗口句柄m_hWnd成员。当你调用是应该保证该句柄的合法性
你的错误就是因为调用MessageBox时,该类没有Create,即窗口句柄还无效。
hefeng 2000-05-22
  • 打赏
  • 举报
回复
我的程序不需要MFC支持。
liu_z_j 2000-05-22
  • 打赏
  • 举报
回复
用AfxMessageBox(...)试试!
lapple 2000-05-22
  • 打赏
  • 举报
回复
还是用::MessageBox(NULL,"asdf","sdf",MB_OK);
用此命令不用MFC DLL 支持
crliu 2000-05-22
  • 打赏
  • 举报
回复
MessageBox(NULL,_T("ERROR"),_T("CHESS"),1);
第二、三参数可以是LPCTSTR 的变量。
此变量的获取还要我说吗?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧