MFC 对话框程序中的各组件常用方法:
Static Text:
将 ID 号改成唯一的一个,如:IDC_XX,然后进一次类向导点确定产生这个 ID,
之后更改 Caption 属性:
GetDlgItem(IDC_XX)->SetWindowText(L"dsgdhfgdffd");
设置字体:
CFont *pFont = newCFont;
pFont->CreatePointFont(120,_T("华文行楷"));
GetDlgItem(IDC_XX)->SetFont(pFont);
Edit Control:
设置文本:
SetDlgItemText(IDC_XX,L"iuewurebfdjf");
获取所有输入:
建立类向导创建一个成员变量(假设是 shuru1,shuru2……)类型选 value,变
量类型任选。
UpdateData(true);
GetDlgItem(IDC_XX)->SetWindowText(shuru1);
第一句更新所有建立了变量的对话框组件,获取输入的值。第二句将前面的
IDC_XX 的静态文本内容改为 shuru1 输入的内容。
若类型选用 control:
1.设置只读属性:
shuru1.SetReadOnly(true);
2.判断 edit 中光标状态并得到选中内容(richedit 同样适用)
int nStart, nEnd;
CString strTemp;
shuru1.GetSel(nStart, nEnd);
if(nStart == nEnd)
{
strTemp.Format(_T(" 光标在%d" ), nStart);
AfxMessageBox(strTemp);
}
else
{
//得到edit选中的内容
shuru1.GetWindowText(strTemp);
strTemp = strTemp.Mid(nStart,nEnd-nStart);
AfxMessageBox(strTemp);
}
其中 nStart 和 nEnd 分别表示光标的起始和终止位置,从 0 开始。strTemp.Format
方法用于格式化字符串。AfxMessageBox(strTemp)显示一个提示对话框,其内容
是字符串 strTemp。
strTemp = strTemp.Mid(nStart,nEnd-nStart)返回一个被截取的字符串,从 nStart 开
始,长度为 nEnd-nStart。如果 nStart == nEnd 说明没有选择文本。
注:SetSel(0,-1)表示全选;SetSel(-1,i)表示删除所选。