我正在尝试将具有三个 CPropertyPages 的 CPropertySheet 添加到我的 MFC 应用程序中。我的问题是属性表只显示不到一秒钟然后关闭。当我在创建 CPropertySheet 后打开一个不同的模式对话框时,CPropertySheet 保持打开状态,我可以毫无问题地使用它。这是我的代码:
BOOL CSLIMOptCplusplusApp::InitInstance()
{
CWinApp::InitInstance();
SQLHENV m_1;
EnvGetHandle(m_1);
Login lgn;
lgn.DoModal();
CImageSheet* imagedlg = new CImageSheet("Image Capture Dialog" );
CImageDisplay* pageImageDisplay = new CImageDisplay;
CImageDimensions* pageImageDimensions = new CImageDimensions;
ListOption* pageListOption = new ListOption;
ASSERT( imagedlg );
ASSERT( pageImageDisplay );
ASSERT( pageImageDimensions );
ASSERT( pageListOption );
imagedlg->AddPage( pageListOption);
imagedlg->AddPage( pageImageDimensions );
imagedlg->AddPage( pageImageDisplay );
imagedlg->Create( NULL,
-1,
WS_EX_CONTROLPARENT | WS_EX_TOOLWINDOW );
imagedlg->ShowWindow( SW_SHOW );
我认为我的问题可能出imagedlg->Create(
在我NULL
用作第一个参数时。我正在使用的教程this
代替NULL
. 但是,这给出了错误:
IntelliSense:“CSLIMOptCplusplusApp *”类型的参数与“CWnd *”类型的参数不兼容
我也试过imagedlg->Create();
了,它也只闪了一下。我希望我的 CPropertySheet 保持打开状态,直到它关闭。谢谢你的帮助!
编辑: 这是我希望我的属性表看起来像的图像。我的第一个选项卡使用 ListControl 更改数据库选项,其他两个选项卡将执行其他操作。我的意图是保持对话框/属性表看起来和现在一样,但保持打开而不是关闭。