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

TangramMini 組件應用教程(二):安裝對象到框架節點

     編輯:關於VC++

承接上一篇教程,我們已成功生成 XTML 文檔並建立基礎對話框程式。本篇將深入講解如何在 TangramMini 框架的空白區域(節點)中安裝自定義控件對象,實現真正的軟體框架構建。

核心方法:SetWnd 安裝窗口對象

TangramMiniCtrl 組件提供 SetWnd 方法將窗口對象安裝到指定節點:

BOOL SetWnd(LPCTSTR strObjName, long hHostWnd);
  • strObjName:Tangram 節點名稱(字串),決定安裝目標區域
  • hHostWnd:待安裝窗口的句柄(長整數)
  • 返回值:布林值,表示安裝是否成功

掌握此方法即可靈活操控框架佈局。所有節點操作均透過節點名稱定位,直觀高效。

實作步驟:安裝 List、Tree、Edit 三類控件

上一篇設計的 XTML 第一頁包含三個區域,我們分別安裝:

  1. 第一區域 → List Control
  2. 第二區域 → Tree Control
  3. 第三區域 → Edit Box

1. 準備控件與變數

在主對話框資源編輯器中繪製三個對應控件(位置大小任意),再透過 ClassView 為各控件建立控制變數:

  • m_wndList → List Control
  • m_wndTree → Tree Control
  • m_wndEdit → Edit Control

2. 獲取節點名稱

執行程式,雙擊框架中的空白區域,TangramMiniCtrl 會自動將該節點名稱複製到剪貼簿。本例中三個節點名稱分別為:

  • Page1_S0000
  • Page1_S0001_S0000
  • Page1_S0001_S0100

3. 程式碼實作

在 CTutorial1Dlg::OnInitDialog() 中 LoadFile 呼叫後加入:

m_wndMiniCtrl.SetWnd(_T("Page1_S0000"), (long)m_wndTree.m_hWnd);
m_wndMiniCtrl.SetWnd(_T("Page1_S0001_S0000"), (long)m_wndList.m_hWnd);
m_wndMiniCtrl.SetWnd(_T("Page1_S0001_S0100"), (long)m_wndEdit.m_hWnd);

安裝前:對象位置雜亂

執行後,三個控件將自動平鋪填滿對應節點區域,佈局整齊規範。

安裝後:對象整齊平鋪

進階功能:儲存框架尺寸狀態

預設重啟程式時框架會恢復 XTML 設計時尺寸。若需記住使用者調整後的框架大小,可呼叫 Save() 方法:

BOOL Save(); // 無參數,返回儲存是否成功

在主對話框 OK 按鈕的 OnOK() 中加入:

void CTutorial1Dlg::OnOK() {
    m_wndMiniCtrl.Save(); // 儲存當前框架尺寸
    CDialog::OnOK();
}

OnOK 程式碼示意

如此,使用者關閉對話框時,框架尺寸自動記錄;下次載入即恢復上次狀態,極大提升使用體驗。

小結

透過 SetWnd 將自定義控件安裝到框架節點,配合 Save() 持久化佈局,一個簡單的對話框即刻化身為專業軟體框架雛形。TangramMini 組件的強大與易用性在此展露無遺,為後續複雜介面開發奠定堅實基礎。

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