vc做的程序界面如何换皮肤?皮肤怎么制作呢,新手求救中!若使用skinmagic,怎么制作呢?程序界面的下拉菜单也能使用皮肤更换吗?如何制作更换呢,请高手指点!!新手求救!!

解决方案 »

  1.   

    // 响应切换程序界面外观的命令
    void CMainFrame::OnApplicationLook(UINT id)
    {
    CWaitCursor wait; m_nAppLook = id; switch (m_nAppLook)
    {
    case ID_APPLOOK_WIN2000:
    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManager));
    break; case ID_APPLOOK_OFFXP:
    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOfficeXP));
    break; case ID_APPLOOK_WINXP:
    CMFCVisualManagerWindows::m_b3DTabsXPTheme = TRUE;
    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
    break; case ID_APPLOOK_OFF2003:
    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2003));
    CDockingManager::SetDockingMode(DT_SMART);
    break; case ID_APPLOOK_VS2005:
    CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerVS2005));
    CDockingManager::SetDockingMode(DT_SMART);
    break; default:
    switch (m_nAppLook)
    {
    case ID_APPLOOK_2007_BLUE:
    CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_LunaBlue);
    break; case ID_APPLOOK_2007_BLACK:
    CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_ObsidianBlack);
    break; case ID_APPLOOK_2007_SILVER:
    CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_Silver);
    break; case ID_APPLOOK_2007_AQUA:
    CMFCVisualManagerOffice2007::SetStyle(CMFCVisualManagerOffice2007::Office2007_Aqua);
    break;
    } CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerOffice2007));
    CDockingManager::SetDockingMode(DT_SMART); ((CVisualManager2007*)CMFCVisualManager::GetInstance())->Adjust();
    } RedrawWindow(NULL, NULL, RDW_ALLCHILDREN | RDW_INVALIDATE | RDW_UPDATENOW | RDW_FRAME | RDW_ERASE); theApp.WriteInt(_T("ApplicationLook"), m_nAppLook);
    }就知道这么多
      

  2.   

    foxmail的界面皮肤就比较好,他们是如何实现的呢
      

  3.   


    foxmail是腾讯的嘛。。你没发现和QQ有异曲同工之处吗?
      

  4.   

    曾今有N多人用Delphi把那个皮肤控件写进DLL里,让后其他的程序就可以调用了。
    由于使用的是Delphi的皮肤控件多以不需编制大量代码,主要就是编写接口函数,效果很好。前提是懂点delphi
      

  5.   

    用Flash4UI做UI,支持网络UI,无限换肤。几千几万种皮肤都没问题~~======================================= 
    C++程序做UI方法的革命,用flash打造超炫UI 
    http://flash4ui.googlepages.com
      

  6.   

    换肤使用Hook实现的
    制作皮肤,自绘控件是一件很麻烦的事情