1. 程式人生 > >BCGControlBar教程:如何將MFC控制元件的BCGControlBarBCGSuite新增到對話方塊中

BCGControlBar教程:如何將MFC控制元件的BCGControlBarBCGSuite新增到對話方塊中

BCGControlBar Pro for MFC最新試用版下載請猛戳>>>

如果您正在使用我們的Windows窗體產品,那麼將我們的控制元件新增到窗體是沒有問題的:只需從Visual Studio工具箱中拖動所需的專案並將其放入窗體即可。在對話方塊中新增非標準控制元件需要一些步驟。在本演練中,我們將嘗試描述如何執行此任務。如果您沒有足夠的Visual C ++ / MFC經驗,請檢視以下資訊:

類名稱 描述 如何新增
CBCGPAnalogClockCtrl 使用嵌入式模擬時鐘計控制。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPAnalogClockCtrl替換CStatic
CBCGPAnimCtrl 控制元件顯示一組具有指定幀速率的點陣圖。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPAnimCtrl替換CStatic
CBCGPButton 提供標準Windows按鈕控制元件的擴充套件功能的控制元件。它包括新的外觀和感覺樣式,對齊文字的各種方法,組合影象和文字的能力,設定游標和工具提示。
  1. 在對話方塊中新增一個Button(1)
  2. 為此控制元件定義CButton成員變數(2)
  3. 用.H檔案中的CBCGPButton替換CButton
CBCGPBrushButton 刷子按鈕來自常規按鈕控制元件,並在左側顯示畫筆預覽。當用戶單擊此按鈕時,將出現模態畫筆編輯對話方塊。
  1. 在對話方塊中新增一個Button(1)
  2. 為此控制元件定義CButton成員變數(2)
  3. 用.H檔案中的CBCGPBrushButton替換CButton
CBCGPBreadcrumb 允許使用者瀏覽分層資料的控制元件,例如應用程式定義的庫或檔案目錄。可以將其與不一次顯示整個專案樹的樹檢視控制元件進行比較。
  1. 將Edit控制元件新增到對話方塊中(1)
  2. 為此控制元件定義CEdit成員變數(2)
  3. 用.H檔案中的CBCGPBreadcrumb替換CEdit
CBCGPCalculator 實現算術計算器功能的控制元件。
  1. 將不可見的空圖片控制元件(佔位符)新增到對話方塊編輯器(1)
  2. 將CBCGPCalculator成員變數新增到對話方塊類(例如,m_wndCalc)
  3. 在OnInitDialog中建立控制元件:m_wndCalc.CreateOnPlaceHolder(this,id_of_placeholder,id_of_control,style);
CBCGPCalendar 實現日曆控制功能的控制元件。控制元件可以一次顯示幾個月。根據控制元件大小自動計算顯示的月數。
  1. 將不可見的空圖片控制元件(佔位符)新增到對話方塊編輯器(1)
  2. 將CBCGPCalendar成員變數新增到對話方塊類(例如,m_wndCalendar)
  3. 在OnInitDialog中建立控制元件:m_wndCalendar.CreateOnPlaceHolder(this,id_of_placeholder,id_of_control,style);
CBCGPChartCtrl 封裝Chart可視物件的控制元件,它覆蓋控制元件的客戶區域。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPChartCtrl替換CStatic
CBCGPCheckListBox 具有視覺主題,標題和“固定”專案支援的擴充套件檢查列表框控制元件
  1. 在對話方塊中新增一個列表框(1)。此控制元件應具有“owner-draw”和“has strings”樣式。
  2. 為此控制元件定義CListBox成員變數(2)
  3. 用.H檔案中的CBCGPCheckListBox替換CListBox
CBCGPCircularGaugeCtrl 採用嵌入式圓形儀表控制。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPCircularGaugeCtrl替換CStatic
CBCGPCircularProgressIndicatorCtrl 使用嵌入式迴圈進度指示器控制
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1
  2. 為此控制元件定義CStatic成員變數(2
  3. 用.H檔案中的CBCGPCircularProgressIndicatorCtrl替換CStatic
CBCGPColorBar 辦公風格的調色盤。
  1. 將不可見的空圖片控制元件(佔位符)新增到對話方塊編輯器(1)
  2. 將CBCGPColorBar成員變數新增到對話方塊類(例如,m_wndColorBar)
  3. 在OnInitDialog中建立控制元件:m_wndColorBar.CreateOnPlaceHolder(this,id_of_placeholder,id_of_control,style);
CBCGPColorButton 辦公風格的顏色選擇器。
  1. 在對話方塊中新增一個Button(1)
  2. 為此控制元件定義CButton成員變數(2)
  3. 用.H檔案中的CBCGPColorButton替換CButton
CBCGPColorComboBox 實現所有者繪製組合框的控制元件,其下拉列表包含左側帶有顏色框的顏色名稱。
  1. 在對話方塊中新增一個組合框。此控制元件應具有“owner-draw”和“has strings”樣式。
  2. 為此控制元件定義CComboBox成員變數(2)
  3. 用.H檔案中的CBCGPColorComboBox替換CComboBox
CBCGPComboBox 使用Visual Theme實現組合框控制元件繪製的控制元件。它還旨在支援“Aero Glass”上的繪圖。
  1. 在對話方塊中新增一個組合框。此控制元件應具有“owner-draw”和“has strings”樣式。
  2. 為此控制元件定義CComboBox成員變數(2)
  3. 用.H檔案中的CBCGPComboBox替換CComboBox
CBCGPDateTimeCtrl 日期/時間選擇器
  1. 在對話方塊中新增一個Button(1)
  2. 為此控制元件定義CButton成員變數(2)
  3. 用.H檔案中的CBCGPDateTimeCtrl替換CButton
CBCGPDurationCtrl 持續時間控制
  1. 在對話方塊中新增一個Button(1)
  2. 為此控制元件定義CButton成員變數(2)
  3. 用.H檔案中的CBCGPDurationCtrl替換CButton
CBCGPDiagramVisualContainerCtrl 圖容器控制元件
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPDiagramVisualContainerCtrl替換CStatic
CBCGPEdit 使用瀏覽按鈕和搜尋框功能編輯控制元件。
  1. 將Edit控制元件新增到對話方塊中(1)
  2. 為此控制元件定義CEdit成員變數(2)
  3. 用.H檔案中的CBCGPEdit替換CEdit
CBCGPEditCtrl 高階編輯控制元件,具有語法突出顯示,標記,輪廓(可摺疊節點)和IntelliSense支援。
  1. 將不可見的空圖片控制元件(佔位符)新增到對話方塊編輯器(1)
  2. 將CBCGPEditCtrl成員變數新增到對話方塊類(例如,m_wndEdit)
  3. 在OnInitDialog中建立控制元件:m_wndEdit.CreateOnPlaceHolder(this,id_of_placeholder,id_of_control,style);
CBCGPEditListBox 帶有標題和“新建”,“刪除”,“向上”和“向下”按鈕的可編輯列表框
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPEditListBox替換CStatic
CBCGPFontComboBox 字型選擇器控制元件
  1. 在對話方塊中新增一個組合框
  2. 為此控制元件定義CComboBox成員變數(2)
  3. 用.H檔案中的CBCGPFontComboBox替換CComboBox
CBCGPGridCtrl 高階網格和報告控制
  1. 將不可見的空圖片控制元件(佔位符)新增到對話方塊編輯器(1)
  2. 將CBCGPGridCtrl成員變數新增到對話方塊類(例如,m_wndGrid)
  3. 在OnInitDialog中建立控制元件:m_wndGrid.CreateOnPlaceHolder(this,id_of_placeholder,id_of_control,style);
CBCGPHotSpotImageCtrl 使用包含可點選的矩形區域(熱點)的背景影象進行控制。當用戶單擊熱點時,控制元件將帶有BN_CLICKED程式碼的WM_COMMAND訊息傳送給父節點。
  1. 在對話方塊中新增一個Button(1)
  2. 為此控制元件定義CButton成員變數(2)
  3. 用.H檔案中的CBCGPHotSpotImageCtrl替換CButton
CBCGPKnobCtrl 控制模擬數字旋鈕功能。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPKnobCtrl替換CStatic
CBCGPLinearGaugeCtrl 採用嵌入式線性規控制。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPLinearGaugeCtrl替換CStatic
CBCGPLineStyleComboBox 具有預定義線條樣式集的組合框,例如實線,點或短劃線。
  1. 在對話方塊中新增一個組合框(1)
  2. 為此控制元件定義CComboBox成員變數(2)
  3. 用.H檔案中的CBCGPLineStyleComboBox替換CComboBox
CBCGPListBox 具有視覺主題,標題和“fix”專案支援的擴充套件列表框控制元件
  1. 在對話方塊中新增一個列表框(1)。此控制元件應具有“owner-draw”和“has strings”樣式。
  2. 為此控制元件定義CListBox成員變數(2)
  3. 用.H檔案中的CBCGPListBox替換CListBox
CBCGPListCtrl 具有視覺主題支援的擴充套件列表控制元件。
  1. 將List控制元件新增到對話方塊中(1)
  2. 為此控制元件定義CListCtrl成員變數(2)
  3. 用.H檔案中的CBCGPListCtrl替換CListCtrl
CBCGPMaskEdit 擴充套件編輯控制元件,能夠根據指定的掩碼驗證鍵入的字元,並根據指定的模板顯示它們。
  1. 將Edit控制元件新增到對話方塊中(1)
  2. 為此控制元件定義CEdit成員變數(2)
  3. 用.H檔案中的CBCGPMaskEdit替換CEdit
CBCGPMenuButton 提供按鈕功能的控制元件,單擊時顯示彈出選單,並將選定的命令重定向到父級。
  1. 在對話方塊中新增一個Button(1)
  2. 為此控制元件定義CButton成員變數(2)
  3. 用.H檔案中的CBCGPMenuButton替換CButton
CBCGPProgressCtrl 通過視覺主題支援擴充套件進度控制。
  1. 將Progress控制元件新增到對話方塊中(1)
  2. 為此控制元件定義CProgressCtrl成員變數(2)
  3. 用.H檔案中的CBCGPProgressCtrl替換CProgressCtrl
CBCGPPropertySheetCtrl 物業單控制。
  1. 將不可見的空圖片控制元件(佔位符)新增到對話方塊中(1)
  2. 將CBCGPPropertySheetCtrl成員變數新增到對話方塊類(例如,m_wndPropSheet)
  3. 將控制元件初始化程式碼新增到OnInitDialog:
m_wndPropSheet.m_bIsAutoDestroy = FALSE;
m_wndPropSheet.CreateOnPlaceHolder(this,id_of_placeholder,id_of_control,style);
CBCGPPropList 具有嵌入式工具欄,搜尋框,多級層次結構,項狀態,命令和描述的高階屬性網格控制元件。
  1. 將不可見的空圖片控制元件(佔位符)新增到對話方塊編輯器(1)
  2. 將CBCGPPropList成員變數新增到對話方塊類(例如,m_wndPropList)
  3. 在OnInitDialog中建立控制元件:m_wndPropList.CreateOnPlaceHolder(this,id_of_placeholder,id_of_control,style);
CBCGPRotationCtrl 旋轉控制源自“徑向”選單,適用於3D物件(例如3D中的圖表)檢視。
  1. 將空圖片控制元件(佔位符)新增到對話方塊中(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPRotationCtrl替換CStatic
CBCGPRadialMenu 徑向選單控制
  1. 將空圖片控制元件(佔位符)新增到對話方塊中(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPRadialMenu替換CStatic
CBCGPScrollBar 具有視覺主題支援的滾動條控制元件。
  1. 在對話方塊中新增滾動條(1)
  2. 為此控制元件定義CScrollBar成員變數(2)
  3. 將CScrollBar替換為.H檔案中的CBCGPScrollBar
CBCGPShellBreadcrumb Explorer風格的shell breadcrumb控制元件。
  1. 驗證您是否添加了對“InitShellManager();”的呼叫 在您的應用程式的開頭InitInstance()
  2. 將Edit控制元件新增到對話方塊中(1)
  3. 為此控制元件定義CEdit成員變數(2)
  4. 用.H檔案中的CBCGPShellBreadcrumb替換CEdit
CBCGPShellList 資源管理器風格的shell列表控制元件。
  1. 驗證您是否添加了對“InitShellManager();”的呼叫 在您的應用程式的開頭InitInstance()
  2. 將List控制元件新增到對話方塊中(1)
  3. 為此控制元件定義CListCtrl成員變數(2)
  4. 將CListCtrl替換為.H檔案中的CBCGPShellList
CBCGPShellTree 資源管理器風格的shell樹檢視。
  1. 驗證您是否添加了對“InitShellManager();”的呼叫 在您的應用程式的開頭InitInstance()
  2. 將Tree控制元件新增到對話方塊中(1)
  3. 為此控制元件定義CTreeCtrl成員變數(2)
  4. 用.H檔案中的CBCGPShellTree替換CTreeCtrl
CBCGPSpinButtonCtrl 通過視覺主題支援旋轉(“向上/向下”)控制。
  1. 向對話方塊新增旋轉(“向上/向下”)控制元件(1)
  2. 為此控制元件定義CSpinButtonCtrl成員變數(2)
  3. 用.H檔案中的CBCGPSpinButtonCtrl替換CSpinButtonCtrl
CBCGPSwitchCtrl “開/關”儀表具有不同的形狀和視覺主題。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPSwitchCtrl替換CStatic
CBCGPTabWnd “高階”選項卡控制元件提供了允許建立選項卡式視窗小部件的功能。
  1. 將不可見的空圖片控制元件(佔位符)新增到對話方塊編輯器(1)
  2. 將CBCGPTabWnd成員變數新增到對話方塊類(例如,m_wndTab)
  3. 在OnInitDialog中建立控制元件:m_wndTab.CreateOnPlaceHolder(this,id_of_placeholder,id_of_control,style);
CBCGPTagCloudCtrl 標籤雲控制元件是文字資料(“標籤”)的視覺化表示,每個標籤的重要性以字型大小或顏色顯示。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPTagCloudCtrl替換CStatic
CBCGPTreeCtrl 具有視覺主題支援的擴充套件樹控制元件。
  1. 將Tree控制元件新增到對話方塊中(1)
  2. 為此控制元件定義CTreeCtrl成員變數(2)
  3. 用.H檔案中的CBCGPTreeCtrl替換CTreeCtrl
CBCGPTreeMapCtrl 樹圖是層次結構的空間約束視覺化。它使用大小和顏色顯示葉節點的屬性。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPTreeMapCtrl替換CStatic
CBCGPURLLinkBut​​ton 超連結控制。
  1. 在對話方塊中新增一個Button(1)
  2. 為此控制元件定義CButton成員變數(2)
  3. 用.H檔案中的CBCGPURLLinkBut​​ton替換CButton
CBCGPWinUITilesCtrl 實現類似Windows 8的磁貼的控制元件。
  1. 在對話方塊中新增一個空的Picture控制元件(佔位符)(1)
  2. 為此控制元件定義CStatic成員變數(2)
  3. 用.H檔案中的CBCGPWinUITilesCtrl替換CStatic

如何將標準Windows控制元件新增到對話方塊:

  1. 開啟對話方塊編輯器(在“Resource View”窗格中雙擊“Dialog”項(例如,IDD_ABOUT)或新增新的對話方塊/表單資源)。
  2. 顯示Visual Studio工具箱(“View|Toolbox”或Ctrl + Alt + X)。
  3. 將控制元件從“工具箱”視窗拖放到對話方塊上的位置。
  4. 如果要新增空的Picture控制元件(佔位符),則需要將控制元件ID從IDC_STATIC修改為某些“實際”值,例如IDC_CHART或IDC_TILES。否則,您無法為此控制元件新增成員變數。

如何為對話方塊控制元件新增成員變數:

如果您的工作環境是Visual C ++ 6.0,Visual Studio 2010或更高版本,最簡單的方法是使用MFC類嚮導:

  1. 在對話方塊編輯器中選擇控制元件。
  2. 啟動MFC類嚮導(VC ++ 6.0中的“View | ClassWizard”或VS 2010-2017中的“Project | Class Wizard”)。
  3. 切換到“Member Variables”選項卡。
  4. 按ID選擇所需的控制元件。
  5. 單擊“Add Variable”按鈕。
  6. 輸入成員名稱,選擇“Control”類別,然後單擊“OK”按鈕。與控制元件關聯的新C ++類成員將新增到您的程式碼中。

在其他Visual Studios版本(例如Visual Studio 2005或2008)中,您可以使用“Add Variable”上下文選單項:

  1. 在“Dialog Editor”中右鍵單擊控制元件
  2. 選擇“Add Variable...”選單項 - 出現“新增成員變數”嚮導。
  3. 輸入變數名稱,選擇“Control”類別,然後單擊“Finish”按鈕。與控制元件關聯的新C ++類成員將新增到您的程式碼中。