问题描述
- MFC中的SetWindowPOS函数不会用了,求教
-
我是想实现在对话框中标签式浏览子对话框的功能的,但是执行到这个SetWindowPOS函数的时候总是出错,我是设断点查看的。
这是部分代码:BOOL ShowDlg::OnInitDialog()
{
CDialog::OnInitDialog();// TODO: 在此添加额外的初始化 CRect tabRect; m_tab.InsertItem(0,_T("Printer")); m_printer.Create(IDD_PRINTER,&m_printer); m_tab.GetClientRect(&tabRect); m_printer.SetWindowPos(NULL,tabRect.left,tabRect.top,tabRect.Width(),tabRect.Height(),SWP_SHOWWINDOW); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE
}
主对话框中的Tab Control控件已定义变量m_tab, 子对话框已定义变量m_printer。
工程文件是单文档类型而不是对话框类型,我已经试过这段代码放在对话框类型的工程中是没问题的,唯独在单文档类型程序中出问题。
我参考的是这里的代码:
http://www.jizhuomi.com/software/207.html
解决方案
参数NULL换成HWND_TOP。要么是具体兄弟窗口的句柄,要么是HWND_TOP/HWND_BOTTOM之类,文档中没说可以用NULL。
时间: 2024-10-29 09:20:11