WTL 关于在dialog 中添加另外一个dialog的问题!

tourgay 2011-05-14 12:03:17
hi:
  朋友们,一个问题一直困扰我好久,我想实现一个功能

在一个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);//出错,添加不进去

...全文
235 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tourgay 2011-05-16
  • 打赏
  • 举报
回复
OK!我试一下楼上的方法。我是在WTL中做的,好像ATL也差不多。便跟MFC有一点差别!不知道是怎么回事儿
Waistcoat21 2011-05-15
  • 打赏
  • 举报
回复
你不能用statci当作父窗口。

你应该传入父对话框的窗口句柄,让后Create时传入statci的Rect范围内的值,记得ClsDlg_UITest的属性要设置为Child
tourgay 2011-05-14
  • 打赏
  • 举报
回复
我想CDialog在static上创建,要怎样做?
tourgay 2011-05-14
  • 打赏
  • 举报
回复
显示不出来窗体!
healer_kx 2011-05-14
  • 打赏
  • 举报
回复
什么错误啊?

3,248

社区成员

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

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