MFC中怎么用代码设置文本控件为ReadOnly
3个回答
展开全部
代码实现的就要重载消息处理的方法了.控件样子不会变.
选择类视图,然后点取dlg类,右键添加vitual function. 然后在里面找到
PreTranslateMessage() 然后生成并书写 下面列代码就OK了 .
BOOL CMy3321Dlg::PreTranslateMessage(MSG* pMsg)
{
CWnd * pedit= GetDlgItem(IDC_EDIT1); //获得编辑框控件的指针
if(GetFocus()==pedit) //如果编辑框获得焦点的话 就进行处理
{
pedit-> SetWindowText( "haha ");//方法并 不影响正常的内部赋值
this-> SetFocus(); //如果讨厌编辑框那个光标的话
//就让对话框主体获得.这样下面的代码也就不必 了,如果没这句,下面代码还是要的.
//如果消息是按键的话,直接返回.
if ((pMsg-> message==WM_KEYDOWN||pMsg-> message==WM_KEYUP))
{
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
选择类视图,然后点取dlg类,右键添加vitual function. 然后在里面找到
PreTranslateMessage() 然后生成并书写 下面列代码就OK了 .
BOOL CMy3321Dlg::PreTranslateMessage(MSG* pMsg)
{
CWnd * pedit= GetDlgItem(IDC_EDIT1); //获得编辑框控件的指针
if(GetFocus()==pedit) //如果编辑框获得焦点的话 就进行处理
{
pedit-> SetWindowText( "haha ");//方法并 不影响正常的内部赋值
this-> SetFocus(); //如果讨厌编辑框那个光标的话
//就让对话框主体获得.这样下面的代码也就不必 了,如果没这句,下面代码还是要的.
//如果消息是按键的话,直接返回.
if ((pMsg-> message==WM_KEYDOWN||pMsg-> message==WM_KEYUP))
{
return true;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
2017-04-23
展开全部
主要依赖SetWindowText函数。
首先给编辑框关联一个CEdit类型的变量。(右键编辑框,添加变量就可以)
然后调用SetWindowText函数,传入CString类型的参数。
函数原型:
CWnd::SetWindowText
void SetWindowText( LPCTSTR lpszString );
首先给编辑框关联一个CEdit类型的变量。(右键编辑框,添加变量就可以)
然后调用SetWindowText函数,传入CString类型的参数。
函数原型:
CWnd::SetWindowText
void SetWindowText( LPCTSTR lpszString );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-04-24
展开全部
代码实现的就要重载消息处理的方法了.控件样子不会变. 选择类视图,然后点取dlg类,右键添加vitual function. 然后在里面找到 PreTranslateMessage()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询