我想建立一个ToolWnd类型的窗口,用CWnd创建,所以我在CMainFrame中建立一个CWnd对象,然后在OnCreate中用下面代码实现CString ClassName = ::AfxRegisterWndClass(CS_CLASSDC,::LoadCursor(NULL,IDC_ARROW),::CreateSolidBrush(::GetSysColor(COLOR_BTNFACE)),NULL);
Wnd.CreateEx(WS_EX_TOOLWINDOW,ClassName,"Hello",WS_CHILD|WS_VISIBLE|WS_CAPTION|WS_OVERLAPPED,0,0,400,300,pParentWnd->m_hWnd,NULL,NULL);结果窗口虽然创建了,但是始终是灰色,而且显示有问题,请教各位大虾………………郁闷啊!

解决方案 »

  1.   

    要建CWnd型窗口,最好是派生CWnd而不要直接创建,在派生CWnd的
    OnEraseBkGnd中绘制该窗口
      

  2.   

    没试过,直接用CreateWindow()不能创建吗??
      

  3.   

    ::AfxRegisterWndClass(CS_CLASSDC,::LoadCursor(NULL,IDC_ARROW),::CreateSolidBrush(::GetSysColor(COLOR_BTNFACE)),NULL);
    中的::CreateSolidBrush(::GetSysColor(COLOR_BTNFACE))是背景刷子吧,COLOR_BTNFACE当然是灰色的了。显示问题是什么,具体点。
      

  4.   

    楼上的大虾一语惊醒梦中人!!
    去掉WS_CHILD后果然就爽了!!!哈哈哈哈!!!!!