CMFCButton 风格

来源:互联网 发布:安卓运行windows xp 编辑:程序博客网 时间:2024/05/16 09:00
CMFCButton 风格

VS2008SP1中使用CMFCButton类,MSDN中说可以设置为系统当前风格,我也跟MSDN的例子New Controls比较过,使用以下代码怎么不能设置为当前风格呢

C/C codevoid CTestDlg::OnBnClickedButton2(){ // TODO: 在此添加控件通知处理程序代码 CMFCButton::EnableWindowsTheming(1); //m_bt1.EnableWindowsTheming(1); RedrawWindow();}

 

明白了 。原来要设置CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));

回复

回答人的补充

你用过BCG就知道,一定要先使用:

C/C code

CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));

 

 

BOOL CSymbolDialog::OnInitDialog()
{
CDialogEx::OnInitDialog();

// TODO: Add extra initialization here

if (NULL == CMFCVisualManager::GetInstance ())
{
   CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
}


return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

 

一个程序只能有一个CMFCVisualManager

void CMFCSkinsApp::SetSkin (int iIndex){   // destroy the current visual manager   if (CMFCVisualManager::GetInstance () != NULL)   {      delete CMFCVisualManager::GetInstance ();   }   switch (iIndex)  {   case 0:      CMFCVisualManager::GetInstance (); // create the standard visual manager      break;   case 1:      new CMyVisualManager (); // create the first custom visual manager      break;   case 2:      new CMacStyle ();  // create the second custom visual manager      break;   }   // access the manager and set it properly   CMFCVisualManager::GetInstance ()->SetLook2000 ();   CMFCVisualManager::GetInstance ()->RedrawAll ();}
原创粉丝点击