
CEdit是一个类。使用向导添加一个CEdit控件,不过是自动往代码中添加变量和相关的映射而已,和你自己手工添加没有什么不同。
之所以提示SetSel不是CWnd的成员,是因为GetDlgItem返回的是一个CWnd指针而不是一个CEdit指针。不过,CEdit是派生自CWnd的,而且GetDlgItem返回的的确是一个CEdit指针(因为你传递了一个CEdit控件的ID)。因此,强制转换一下即可。
((CEdit * )GetDlgItem( IDC_EIDT1 ))->SetSel( x, y )
自己派生一个CMyEdit类,步骤如下:1、Insert
->
New
Class
->
在Base
Class中选择CEdit,在Name中输入CMyEdit.
2、在左边的ClassView中,右键击CMyEdit,选择Add
Windows
message
Handle,在d出的框左边选择WM_CHAR,添加并编辑该消息如下:
void
CMyEdit::OnChar(UINT
nChar,
UINT
nRepCnt,
UINT
nFlags)
{
if(nChar!=49
&&
nChar!=48)
{
return
}
CEdit::OnChar(nChar,
nRepCnt,
nFlags)
}
3、在对话框中添加一个Edit控件,为Edit添加成员变量,Category选择Control
,
Variable
type选择CMyEdit,输入变量名即可。
完成上述三步后,该EDIT控件中就只能输入0和1
CEdit m_edit变量类型 定义的变量
要控制edit框,首先就要知道文本框的ID,自己重新起名字比较好,然后在控件上点击右键添加变量变量名自己定,类别为contril。
然后自己搜有关mfc的函数
比如,获取edit中的文本用 GetDlgItemText(int id, cstring str)
edit id号和存放文本的字符串
等
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)