MFC中怎么用代码设置文本控件为ReadOnly

 我来答
ahcc08
2017-04-23 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51940
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
代码实现的就要重载消息处理的方法了.控件样子不会变.
选择类视图,然后点取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 );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-04-24
展开全部
代码实现的就要重载消息处理的方法了.控件样子不会变. 选择类视图,然后点取dlg类,右键添加vitual function. 然后在里面找到 PreTranslateMessage()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式