编辑框的问题! 麻烦大家帮我解决一下这个问题!1>我想让编辑框不可获取输入焦点,不是变灰!只是不可输入!2>按了按钮以后可输入,输入完后再按按钮则恢复到不可获取焦点状态,不可输入,同时里面的字体变灰!怎么实现! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1>映射EDIT控件的EN_CHANGE消息,然后在消息函数中void CCircumvo2Dlg::OnChangeEdit_Unit() { if (b_var) { char ch[10]; m_unit.GetWindowText(ch,10); if ( atoi(ch) != atoi(circu_main.edit_ch)) { m_unit.Clear(); m_unit.SetWindowText(circu_main.edit_ch); } }}2>定义一个布尔变量,在按钮消息映射函数中进行乒乓处理,设定为真不能输入,否则可输入.{ if (b_var) b_var = false; else b_var = true;}如果要字体变灰,需要继承CEdit类,在生成的类中,自定义你的字体颜色. 我会在 C***Dlg::OnSetfocusEdit1() 中使用 GetDlgItem()->SetFocus(),将焦点转移到其它控件上(如果有 Picture 最好)。第二个问题,用一个 BOOL 变量控制 GetDlgItem()->SetFocus() 的执行,再用一个 BOOL 变量判断按钮是否被点击过,若点击过,使编辑框无效就行了,用 EnableWindow(FALSE)。 就算用棱枫的方法,这种变色也不用派生类,在 OnCtlColor() 中处理就好了,不过要再加一个 BOOL 变量。 在edit的获取焦点的消息处理函数中杀死焦点不就行了 不可输入,你在OnSetFocus里面KillFocus就行了。 禁止输入KillFocus具体该怎么用,给个例子吧! 那需要派生一个 CMyEdit 类,重载 OnSetFocus() 函数。不如我的焦点转移法方便。 MFC如何用控件同时绘制多个图 用FindFirstFile()和FindNextFile()查找文件,如何知道找到的东西是个文件还是个文件夹? 麻烦大家介绍一个可以画多坐标轴曲线的软件 怎么丢失了一些帖子? 在非对话框类里如何动态创建对话框控件?40分加分 谁有9X下进入RING0 来HOOK API的源码?[急求中]up有分!! 管理线程 帮忙看一段程序(真正的100分) 厚金征解 如何改变单文挡主窗口的图标 谁有列表窗体的实例? typedef的问题
void CCircumvo2Dlg::OnChangeEdit_Unit()
{
if (b_var)
{
char ch[10];
m_unit.GetWindowText(ch,10);
if ( atoi(ch) != atoi(circu_main.edit_ch))
{
m_unit.Clear();
m_unit.SetWindowText(circu_main.edit_ch);
}
}
}2>定义一个布尔变量,在按钮消息映射函数中进行乒乓处理,设定为真不能输入,否则可输入.
{
if (b_var) b_var = false;
else b_var = true;
}
如果要字体变灰,需要继承CEdit类,在生成的类中,自定义你的字体颜色.
将焦点转移到其它控件上(如果有 Picture 最好)。第二个问题,用一个 BOOL 变量控制 GetDlgItem()->SetFocus() 的执行,
再用一个 BOOL 变量判断按钮是否被点击过,若点击过,使编辑框无效就行了,
用 EnableWindow(FALSE)。
不过要再加一个 BOOL 变量。
你在OnSetFocus里面KillFocus就行了。