有关属性对话框(property sheet )的几个提示
闻怡洋
下面的所有例子,都假定你从CPropertySheet中派生了新类。
1、隐藏APPLY按钮
使用 PSH_NOAPPLYNOW 标志.
propsheet.m_psh.dwFlags |= PSH_NOAPPLYNOW; 2、增加新的子窗口 使用成员变量。CEdit m_edit. BOOL CMyPropSheet::OnInitDialog() { BOOL bResult = CPropertySheet::OnInitDialog(); CRect rectWnd; GetWindowRect(rectWnd); SetWindowPos(NULL, 0, 0, rectWnd.Width() + 100, rectWnd.Height(), SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE); m_edit.CreateEx( WS_EX_CLIENTEDGE, _T("EDIT"), NULL, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER, rectWnd.Width(), 20, 80, 24, m_hWnd, 0, 0 ); m_edit.SetFont( GetFont() ); CenterWindow(); return bResult; } 3、改变页片上的字体在 OnInitDialog() 中:
// m_fontEdit is a member variable // Create a bold font m_fontEdit.CreateFont( -8, 0, 0, 0, 700, 0, 0, 0, 1, 0, 0, 0, 0, _T("MS Sans Serif") ); GetTabControl()->SetFont( &m_fontEdit );4、使用Image
m_imageTab为成员变量。BOOL CMyPropSheet::OnInitDialog(){BOOL bResult = CPropertySheet::OnInitDialog();m_imageTab.Create( IDB_TABIMAGES, 13, 1, RGB(255,255,255) );CTabCtrl *pTab = GetTabControl();pTab->SetImageList( &m_imageTab );TC_ITEM tcItem;tcItem.mask = TCIF_IMAGE;for( int i = 0; i < 3; i++ ){tcItem.iImage = i;pTab->SetItem( i, &tcItem );}return bResult;}
摘自玉海园 http://www.mfc2000.yeah.net