WTL 关于在dialog 中添加另外一个dialog的问题!
hi:
朋友们,一个问题一直困扰我好久,我想实现一个功能
在一个WTL dialog窗体中 让一个另外一个WTL dialog 窗体 显示在 第一个窗体中的 CStatic 中,
可是一直出错,也出不来我想要的效果。麻烦兄弟们查看一下。
我的子窗体代码
主窗体代码片段
朋友们,一个问题一直困扰我好久,我想实现一个功能
在一个WTL dialog窗体中 让一个另外一个WTL dialog 窗体 显示在 第一个窗体中的 CStatic 中,
可是一直出错,也出不来我想要的效果。麻烦兄弟们查看一下。
我的子窗体代码
#pragma once
#include "resource.h"
#include <iostream>
using namespace std;
class ClsDlg_UITest : public CDialogImpl<ClsDlg_UITest>, public CUpdateUI<ClsDlg_UITest>,
public CWinDataExchange<ClsDlg_UITest>,
public CMessageFilter, public CControlWinTraits, public CIdleHandler
{
private:
protected:
public:
enum { IDD = IDD_Dlg_UITest };
virtual BOOL PreTranslateMessage(MSG* pMsg)
{
return IsDialogMessage(pMsg);
}
virtual BOOL OnIdle()
{
UIUpdateChildWindows();
return FALSE;
}
// Message map
BEGIN_MSG_MAP(ClsDlg_UITest)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_HANDLER(IDC_btn, BN_CLICKED, OnBnClickedbtn)
REFLECT_NOTIFICATIONS()
END_MSG_MAP()
BEGIN_UPDATE_UI_MAP(ClsDlg_UITest)
END_UPDATE_UI_MAP()
// Overrides
LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled)
{
CenterWindow();
UIAddChildWindowContainer(m_hWnd);
// Hook up controls & variables
DoDataExchange(false);
return TRUE;
}
LRESULT OnBnClickedbtn(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
};
主窗体代码片段
HWND hWndPlaceHolder = GetDlgItem(IDC_STATIC2);
::ShowWindow(hWndPlaceHolder, TRUE);
ClsDlg_UITest *_uiTest =new ClsDlg_UITest;
_uiTest->Create(hWndPlaceHolder);//出错,添加不进去
...全文



