WTL 实践笔记

1.碰到一个很奇怪的问题,建立一个窗体后,代码如下:

 1 class CAddressBar:
2 public CWindowImpl<CAddressBar>
3 {
4 public:
5 CAddressBar(void);
6 ~CAddressBar(void);
7
8 DECLARE_WND_CLASS(L"address");
9
10 BEGIN_MSG_MAP(CAddressBar)
11 //MESSAGE_HANDLER(WM_CREATE, OnCreate)
12 END_MSG_MAP()
13 };

然后在主窗体中进行定义一个窗体

1     CAddressBar m_AddressBar;
2 //在OnCreate中进行创建这个窗体
3 HWND hWndAddressBar = m_AddressBar.Create(m_hWnd, rcDefault, NULL, WS_VISIBLE | WS_CHILD);// ATL_SIMPLE_CMDBAR_PANE_STYLE);

编译可以进行,但是运行时,老报一个assert,就说新建窗体的m_hWnd不为空,检查了好几遍,没有什么问题。不知道原因在哪儿? 最后clean了一下后,重编,就OK。



原文地址:https://www.cnblogs.com/kwliu/p/2197947.html