其實在開發ARX程序的時候,能用Adui和AcUi庫就盡量用,還是非常方便的,尤其是對於數據容錯檢查,Tip 提示等方面更是方便。
ARX程序中常用的就是設定實體顏色,讓用戶選擇一個顏色最常用的方法就是用顏色下拉列表框,采用CAcUiColorComboBox來做是最快的。
CAcUiColorComboBox用起來很簡單,步驟如下:
1. 在對話框或者其它界面上創建一個普通下拉列表框,設置Owner Draw屬性為Fixed,注意一定要設置Owner Draw屬性,當然Type屬性也要設置為Drop List,這樣用戶就不能手工編輯了。
2. 在頭文件裡定義一個CAcUiColorComboBox m_cmbColor;變量。
3. 在CPP文件裡的DoDataExchange函數裡定義對應關系 DDX_Control(pDX, IDC_CMB_COLOR, m_cmbColor);,其中IDC_CMB_COLOR就是界面上定義的下拉列表框ID。
4. 可以封裝一個函數來初始化這個顏色下拉列表框。
www.2cto.com
void InitColorCMB( CAcUiColorComboBox& cmb, int colorIndex )
{
int item = cmb.FindItemByColorIndex(colorIndex); // 根據colorIndex查找有沒喲對應的列表框Item
if (item < 0) www.2cto.com
{
item = cmb.AddColorToMRU(colorIndex); // 沒有找到列表框Item,則主動創建一個,這樣在用SetCurSel選擇的時候就會顯示正確的顏色
}
cmb.SetCurSel(item);
}
多簡單的一個初始化,有了這個函數,只要知道一個顏色索引值colorIndex,就能正確顯示顏色列表框了。
5. 用戶重新選擇了顏色,我們需要得到用戶選擇的顏色,int colorIndex = m_cmbColor.GetCurrentItemColorIndex();,這樣這個colorInex就可以用在ARX任何需要顏色的地方了。