大家好,我按照如下方式使用标题中的两个类,但是发现属性页没有显示,请问是为什么。谢谢!1,建立一个对话框资源,自动创建相关类CPropertyDialogDlg并且在其中定义一个CPropertySheet变量
2,建立第二个对话框资源,自动创建相关类CPage1并且将其派生的对象从CDialog改为CpropertyPage
3,在CPropertyDialogDlg的构造函数中加入如下次代码
m_sheet.Create(this, WS_CHILD | WS_VISIBLE, WS_EX_CONTROLPARENT);
Page1.Create(IDD_DIALOG1);
m_sheet.AddPage(&Page1);
2,建立第二个对话框资源,自动创建相关类CPage1并且将其派生的对象从CDialog改为CpropertyPage
3,在CPropertyDialogDlg的构造函数中加入如下次代码
m_sheet.Create(this, WS_CHILD | WS_VISIBLE, WS_EX_CONTROLPARENT);
Page1.Create(IDD_DIALOG1);
m_sheet.AddPage(&Page1);
解决方案 »
- 想学图像处理,求老鸟们给点建议
- 对话框最大化时控件位置的如何改变
- 关于在列表框中处理键盘的PgDn和PgUp的问题
- 关于网页中Script的动态解析~~
- CListCtrl的问题?(在线)
- CSocket在Receive的时候block过长时间,如何让设置它超时返回一个SOCKET_ERROR?
- 什么叫句柄?函数返回一个句柄值一般要达到什么目的?
- 各位仁兄,请问我使用了这样一条语句: hwndipport->hwnd =SyshWnd; hwndipport->ipaddress =(LPTSTR)server_address;为什么出错了?请进
- 请问这是什么错误?它总是出现.
- 帮忙咯
- ATM.exe!_decode_pointer(void * codedptr=0x00000004)?
- 菜鸟求教数据库问题
pg_PropPage1=new CPropPageFirst();
pg_PropPage2=new CPropPageSecond(); ((CHKCSPSheet*)pHKSheet)->AddPage(&m_PropPage1);
((CHKCSPSheet*)pHKSheet)->AddPage(&m_PropPage2); if (!((CHKCSPSheet*)pHKSheet)->Create(this,DS_CONTEXTHELP|DS_SETFONT|WS_CHILD|WS_VISIBLE))
{
DestroyWindow();
return false;
}
//定位
((CHKCSPSheet*)pHKSheet)->SetWindowPos(NULL,0,60,220,180,SWP_NOACTIVATE|SWP_NOZORDER|SWP_NOSIZE);
//头文件中定义
page1 m_page1;//sheet构造函数
CMyPropertySheet::CMyPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
AddPage(&m_page1);
}//创建sheet
m_sheet.Create();
: CDialog(CTst1Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTst1Dlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_sheet.AddPage(&m_page);
m_sheet.Create();}
}我这样能正常显示,只是属性页被主对话框覆盖了,所以一般不要放在构造里了...可以放在按钮的响应里
我用的 VC6.0
CRect rect;
m_ctlStatic.GetWindowRect(&rect); //m_ctlStatic 为上面静态控件的成员变量
ScreenToClient(&rect);m_sheet.MoveWindow(&rect);