编程时碰到的一个怪问题

hzhiyang84 2007-02-27 11:09:35
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.cx = 400;
cs.cy = 300;
cs.lpszName ="HZY";
//cs.style &= ~FWS_ADDTOTITLE;
cs.style = WS_OVERLAPPEDWINDOW;
WNDCLASS wndclass;

wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor = LoadCursor(NULL,IDC_HELP);
wndclass.hIcon = LoadIcon(NULL,IDI_ERROR);
wndclass.hInstance = AfxGetInstanceHandle();
wndclass.lpfnWndProc = ::DefWindowProc;
wndclass.lpszClassName = "huangzhiyang";
wndclass.lpszMenuName = NULL;
wndclass.style = CS_HREDRAW ¦ CS_VREDRAW;


if(!RegisterClass(&wndclass))
{
MessageBox("hahaha");
}
cs.lpszClass = "huangzhiyang";

return TRUE;
}

这里面用了 if(!RegisterClass(&wndclass)) 会跳出对话框显示hahaha
但是改成  if(RegisterClass(&wndclass))后还是会跳出该对话框,
不知道是什么原因?
...全文
244 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzhiyang84 2007-02-27
  • 打赏
  • 举报
回复
可是! 或不加 ! 都会跳出对话框
我定义了一个int i来接收 RegisterClass(&wndclass)的结果
然后用 if(i==0)
或if(i!=0)
也都会跳出该对话框
neosu 2007-02-27
  • 打赏
  • 举报
回复
不要用"!"
它返回的是ATOM数据类型,用!处理会得到不正确的结果。

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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