程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC.net >> Visual C++.NET編程講座之六

Visual C++.NET編程講座之六

編輯:VC.net

  第六講 對話框的功能實現

  對話框就好比是一個容器,只有將一些控件添加在這個容器中,才能實現用戶與對話框之間的交互。下面我們將前面的對話框設計成如圖13所示的界面,其功能是用來讓用戶調整視圖客戶區的背景顏色,設置的效果可在下方的矩形框中預覽。


圖13 設計的"設置"對話框

  1. 界面實現的技巧

  在圖13所示的對話框中所用到的控件有:組框 、靜態文本 、編輯框 、旋轉控件 和圖片控件

  需要說明的是:

  ① "靜態文本"、"組框"和"圖片控件"都屬於靜態控件,一般不接收用戶輸入也沒有事件映射,其中"組框"控件可以把一些控件人為地劃分成一組,使界面更加清晰。"靜態文本"和"圖片控件"分別用來顯示文本內容和圖像資源(如圖標、位圖等)。

  ② "編輯框"是一個讓用戶從鍵盤輸入和編輯文本的矩形窗口,用戶通過它可以輸入各種文本、數字或者口令,也可使用它來編輯和修改簡單的文本內容。當編輯框被激活且具有輸入焦點時,就會出現一個閃動的插入符,表明當前插入點的位置。

  ③ "旋轉控件"(也稱為上下控件)是一對箭頭按鈕,用戶點擊它們來增加或減小某個值。一個"旋轉控件"通常附著於另一個控件,被附著的控件稱為"伙伴窗口"。通常"旋轉控件"和"編輯框"一起構成一個用於數字輸入的"數字編輯框"。

  下面說明界面實現的技巧:

  (1) 幾乎每一個控件都要設置自己的標題(Caption)內容。例如,圖13中組框的"背景顏色",靜態文本的"紅色顏色分量(R)"等。單擊要設置的控件,在屬性窗口中修改其Caption屬性內容。

  (2) 若要使"旋轉控件"和"編輯框"組合一起,成為"伙伴"控件,必須使這兩個控件的Tab鍵次序相連續,且"編輯框"的Tab鍵次序在前。在對話框中, Tab鍵可以按照一定次序依次將輸入焦點從一個控件移動到另一個控件,這個次序稱為"Tab鍵次序"。由於默認的控件Tab鍵次序與添加的控件次序相同,因此我們添加上述控件要先添加一個"編輯框",然後再添加一個"旋轉控件"。另外,還需要在旋轉控件的屬性窗口中,將其Alignment(附著)屬性設為"右對齊 ",將Auto Buddy和Set Buddy Integer屬性均設為True。Alignment(附著)屬性用來指定旋轉控件在伙伴窗口的附著方式,它有三種方式:"取消附著"、"左對齊(Left)"和"右對齊"(Right)。Auto Buddy(自動伙伴)屬性為True時,旋轉控件自動前一個Tab鍵順序的控件作為自己的伙伴控件。Set Buddy Integer(設置伙伴窗口中的整數值) 屬性為True時,單擊旋轉控件的向上或向下按鈕將改變伙伴窗口中的整數值。

  (3) 為了能預覽顯示效果,我們通過需要一個可以繪制圖形的控件。通常使用"靜態文本",但其Static Edge屬性要設為True或Sunken屬性設為True,這要看起來有下沉的立體感。當然我們也可以設置其他的外觀。

  (4) 在"取消"按鈕上方有一條水平線,這是用圖片控件來設置的。方法是,添加一個圖片控件,調整其位置和大小。在其屬性窗口中,將其Type屬性選擇為"水平蝕刻"即可。

  (5) 對於控件的ID號,雖然我們可以使用默認的標識符,但為了容易辨別起見,我們對在程序中需要操作的控件重新指定其ID號。下表就是本例中需要指定的各個控件的ID號和Caption屬性。

控 件 ID屬性 "紅色顏色分量"的編輯框 IDC_ EDIT_R "紅色顏色分量"的旋轉控件 IDC_SPIN_R "綠色顏色分量"的編輯框 IDC_ EDIT_G "綠色顏色分量"的旋轉控件 IDC_SPIN_G "藍色顏色分量"的編輯框 IDC_ EDIT_B "藍色顏色分量"的旋轉控件 IDC_SPIN_B 靜態文本 IDC_DRAW
  (6) 單擊對話框編輯器工具欄上的測試按鈕 ,可以彈出對話框的實際效果,如圖14所示。按ESC鍵或單擊對話框中的"確定"、"取消"等按鈕,退出對話框測試。需要說明的是,在Windows XP運行該程序,該對話框的實際效果比測試效果更佳。


圖14 "設置"對話框測試的效果

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved