程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC程序中實現控件的動態生成與響應

VC程序中實現控件的動態生成與響應

編輯:vc教程

動態控件是指在需要時由Create()創建的控件,這與預先在對話框中放置的控件是不同的。

  一、創建動態控件:

  為了對照,我們先來看一下靜態控件的創建。

  放置靜態控件時必須先建立一個容器,一般是對話框,這時我們在對話框編輯窗口中,從工具窗口中拖出所需控件放在對話框中即可,再適當修改控件ID,設置控件屬性,一個靜態控件就創建好了,當對話框被顯示時,其上的控件也會顯示。

  靜態控件不需要調用Create()函數來創建。

  而創建動態控件有很大不同,以下以按鈕為例,看一下動態控件的創建過程:

  1.建立控件ID號:

  ID號是控件的標識,創建控件前必須先為它設置一個ID號。

  打開資源中的“String Table”,在空白行上雙擊鼠標,這時會彈出一個ID屬性對話框,在其中的ID編輯框中輸入ID,如:IDC_MYBUTTON,在Caption中輸入控件標題或注解(注:Caption框不能為空,為空會導致創建失敗),這裡我輸入的是按鈕上要顯示的文字--動態按鈕。

  2.建立控件對象:

  不同種類的控件應創建不同的類對象:

  ·按鈕控件 CButton (包括普通按鈕、單選按鈕和復選按鈕)
  ·編輯控件 CEdit
  ·靜態文本控件 CStatic
  ·標簽控件 CTabCtrl
  ·旋轉控件 CSpinButtonCtrl
  ·滑標控件 CSliderCtrl
  ·多信息編輯控件 CRichEditCtrl
  ·進度條控件 CProgressCtrl
  ·滾動條控件 CSrcollBar
  ·組合框控件 CComboBox
  ·列表框控件 CListBox
  ·圖像列表控件 CImageCtrl
  ·樹狀控件 CTreeCtrl
  ·動畫控件 CAnimateCtrl

  本例中我們創建一個CButton類的普通按鈕。注意不能直接定義CButton對象,如:CButton m_MyBut;這種定義只能用來給靜態控件定義控制變量,不能用於動態控件。

  正確做法是用new調用CButton構造函數生成一個實例:

CButton *p_MyBut = new CButton();

  然後用CButton類的Create()函數創建,該函數原型如下:

BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

  lpszCaption是按鈕上顯示的文本;dwStyle指定按鈕風格,可以是按鈕風格與窗口風格的組合,取值有:

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
  • 尾頁
  • 共3頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved