首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

VC++ 打造 Visual Studio 風格 IDE 介面:SYGUI 庫整合實戰

     編輯:VC 教學

動機

純 MFC 實現停泊視窗、Tabbed MDI、工具列自訂、Office 2003 風格渲染極其繁瑣且易產生 Bug。商業庫 **SYGUI** 封裝完整 VS.NET 風格框架,幾行代碼即可擁有專業級 IDE 介面。

整合步驟

1. 引入標頭與庫


// stdafx.h
#include "sygui.h"
// 專案設定 → Linker → Input → Additional Dependencies 加入 sygui.lib
// 複製 sygui.dll 至輸出目錄

2. 主框架宣告停泊視窗與視圖


class CMainFrame : public CMDIFrameWnd {
    CSYTabBar      m_wndWorkSpace;   // 左側:類視圖/資源視圖/檔案視圖
    CSYAutoSizeBar m_wndOutput;      // 底部:輸出/尋找結果/任務清單
    CSYSheetTabCtrl m_wndTabCtrl;    // 底部 Tab 控制器
    TSYNoFlickerControl m_treeClass, m_treeResource, m_treeFile, m_editOutput;
};

3. OnCreate 建立並停泊


int CMainFrame::OnCreate(LPCREATESTRUCT lpCS) {
    if (CMDIFrameWnd::OnCreate(lpCS) == -1) return -1;

    // 工作區 (左側)
    m_wndWorkSpace.CreateEx(this, TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_LEFT|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC, CRect(0,0,200,200), ID_WORKSPACE);
    m_wndWorkSpace.SetImage(m_pImgTree);
    CreateClassView(); CreateResourceView(); CreateFileView();
    m_wndWorkSpace.AddView(&m_treeClass, FALSE, 0);
    m_wndWorkSpace.AddView(&m_treeResource, FALSE, 7);
    m_wndWorkSpace.AddView(&m_treeFile, FALSE, 14);
    m_wndWorkSpace.SetActiveView(1);

    // 輸出視窗 (底部)
    m_wndOutput.CreateEx(this, TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_BOTTOM|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC, CRect(0,0,200,100), ID_OUTPUT);
    CreateEditView();
    m_wndOutput.AddView(&m_editOutput);

    // 啟用停泊
    m_wndWorkSpace.EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndWorkSpace, AFX_IDW_DOCKBAR_LEFT);
    m_wndOutput.EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndOutput, AFX_IDW_DOCKBAR_BOTTOM);

    // 4. 儲存/還原佈局
    LoadBars(_T("Bars.dat")); // OnCreate 中
    // OnClose 中呼叫 SaveBars(_T("Bars.dat"));

    // 5. MDI Tabbed 介面 (OneNote 風格彩色標籤)
    EnableMDITab(2, TRUE);
    EnableMDITabColor(TRUE);

    // 6. Office 2003 渲染器
    CSYDrawMgrOffice2003* pDM = new CSYDrawMgrOffice2003;
    pDM->SetAutoDel();
    CSYGUIMgr::S_SetDrawMgr(pDM);

    return 0;
}

核心功能清單

  • 停泊/浮動/自動隱藏視窗 (VS.NET 風格滑入滑出動畫)
  • MDI 子視窗 Tab 化、彩色標籤、拖曳重排
  • 工具列:真彩位圖、熱追蹤、下拉按鈕、紋理背景、AVI 動畫
  • Task Pane、Property Grid、Font ComboBox 等進階控制項
  • 啟動濺射畫面、動畫視窗、全螢幕切換、URL 超連結

取得資源

官網:https://www.sygui.com,聯繫:wwei@zj165.com。庫提供 Release/Debug 動態連結版,範例含完整編譯說明。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved