1.如何在對話框上添加圖片
利用MFC中的Picture Control控件,步驟如下:
在資源管理其中添加一個位圖文件;
在對話框中添加一個Picture Control控件,並將該控件Type屬性選擇為Bitmap;
隨后,在Image屬性中選擇添加的位圖資源ID
2.如何在對話框中顯示表格
實現類似excel的表格,以供數據顯示
利用List Control控件,步驟如下:
在對話框中添加一個List Control控件,將其屬性View設置為Report(報表形式);
原文件中添加一個List Control控件對象,並與對話框中List Control控件關聯;
給調用函數InsertColumn該空間添加列表;
設置列表的樣式;
原代碼如下:
頭文件中:CListCtrl m_ListCtrl;
源文件中:DDX_Control(pDX, IDC_LIST_DATA, m_ListCtrl);
CRect mRect;
m_ListCtrl.GetWindowRect(&mRect); //獲取控件矩形區域
int kuan = mRect.Width();
m_ListCtrl.InsertColumn(0,_T("序號"),LVCFMT_LEFT,kuan/7,-1);
m_ListCtrl.InsertColumn(1,_T("姓名"),LVCFMT_CENTER,kuan/7,-1);
m_ListCtrl.InsertColumn(2,_T("年齡"),LVCFMT_CENTER,kuan/7,-1);
m_ListCtrl.InsertColumn(3,_T("班級"),LVCFMT_CENTER,kuan/7,-1);
m_ListCtrl.InsertColumn(4,_T("學號"),LVCFMT_CENTER,kuan/7,-1);
m_ListCtrl.InsertColumn(5,_T("籍貫"),LVCFMT_CENTER,kuan/7,-1);
m_ListCtrl.InsertColumn(6,_T("性別"),LVCFMT_CENTER,kuan/7,-1);
DWORD dwStyle = m_ListCtrl.GetExtendedStyle(); //獲取當前擴展樣式
dwStyle |= LVS_EX_FULLROWSELECT; //選中某行使整行高亮(report風格時)
dwStyle |= LVS_EX_GRIDLINES; //網格線(report風格時)
dwStyle |= LVS_EX_CHECKBOXES; //item前生成checkbox控件
m_ListCtrl.SetExtendedStyle(dwStyle); //設置擴展風格
3.如何設置、獲取ComboBox控件當前項
設置ComboBox當前項:CComboBox::SetCurSel(int) 參數即為選擇的項序號,項序號從0開始
得到當前項序號:CComboBox::GetCurSel() 返回值為當前項序號,int型
得到當前項文本:CComboBox::GetLBText(nselect,Str) 第一個參數為當前項序號,第二個參數為該項對應的文本
4.如何設置Static Text控件上的文本
GetDlgItem(IDC_STATIC_STATE1)->SetWindowText(_T("設置成功")) GetDlgItem函數中參數為控件ID
5.如何向ListCtrl控件中寫數據
首先要將ListCtrl控件屬性View設置為Report(報表形式)
注意:ListCtrl中數據均為字符串型,所以顯示數字時要涉及到類型轉換問題
將int型轉為CString型方法:CString::Format(_T("%d"), int i) 將int型變量i轉換為十進制顯示的字符串
此外兩個CString是可以直接相加的,這樣可以滿足列表中數據顯示要求,如_T("0")+_T("1")就得到了_T("01")
m_ListCtrl.InsertItem(int nItem,StrItem);//在第nItem行第一列插入數據,數據為StrItem,返回值為下一行nItem+1
m_ListCtrl.SetItemText(int nItem, 1, Data1);//在某一行的某一列設置數據,這里在int nItem行第2列(第一列前面幾句已經寫了)寫數據Data1
m_ListCtrl.SetItemText(int nItem, 2, Data2);//在nRow行第2列(第一列前面幾句已經寫了)寫數據Data1
6.Button上的字體如何換行
Button上的字太長了時需要換行,實現如下:
將Button屬性的Multiline設置為true
再要換行的字前加\n 比如:"神馬按鈕"寫成"神馬\n按鈕"
7.刪除Listctrl中數據
全部刪除:CListCtrl::DeleteAllItems()
8.得到ListCtrl列表中的某個數據
得到nItem行nSubItem列的數據:CListCtrl::GetItemText(int nItem, int nSubItem) 返回值為CString型
9.ListCtrl 滾輪自動顯示到列表最后一行
CListCtrl::EnsureVisible(int nItem,false);
即序列號為nItem的行在可見區域的最后一行
