vc编辑框数据存储在哪里 vc点击按钮在编辑框显示内容如何实现
一、vc限制编辑框输入数字的个数
如果想让编辑框控件只支持数字的输入,只需改一下控件的属性就可以了:在VC6.0中,右键点击控件在弹出的菜单上点击“Properties”(属性),在弹出的属性对话框中,点击Style(样式)页面,将右下角的Number(数字)选中即可。
但是这样做后,你会发现,小数点也没法输入了,也就是说只能输入整数了。那么还想输入小数点,或者还想限制其他字符的输入怎么办呢?
这就要麻烦点了:
需要从CEdit派生一个新的类,重载WM_CHAR消息,在OnChar()中添加对输入字符的判断,不是你想要的字符直接返回就可以了
例如,只能输入小数:
void CXXXEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(::isdigit(nChar)||(nChar=='.'))
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
二、vc 设置编辑框的颜色
这是改变IDC_NUM1编辑框背景色的例子,另外一个你自己弄吧:
HBRUSH CDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr= CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_EDIT)
{
LONG wndID=::GetWindowLong(pWnd->GetSafeHwnd(),GWL_ID);//获取窗口ID if(wndID==IDC_NUM1){CString EditBoxTxt; pWnd->GetWindowText(EditBoxTxt); if(EditBoxTxt==“pass"){ pDC->SetBkMode(TRANSPARENT);//设置文字背景透明(注意区分文字背景和窗口背景)
pDC->SetBkColor(BkColor);//设置文字背景,如果设置文字背景透明则这一句不起作用
pWnd->GetClientRect(rcClientRect);
CBrush br1(BkColor);//这里BkColor就是编辑框背景色,我在别的地方定义了BkColor并设置这
//个值
pDC->FillRect(rcClientRect,&br1);//通过填充的方式改变编辑框背景色}
}}}
// TODO: Return a different brush if the default is not desired
return hbr;
}
三、vc点击按钮在编辑框显示内容如何实现
1,IDC_EDIT1确实是你要写入的编辑框?
2,onclick函数你是怎么添加的,如果是你自己添加的,一定要添加添加消息映射。好是用类向导(ctrl+w),选定按钮的id,然后双击BN_CLICKED添加,这样消息映射是自动添加的。
3,按钮关联的类确定是编辑框和按钮所在的窗口类?
估计多半你是挂在第二条了。。
什么是思路,这是人家MFC规定好的,也不是自己发明的要什么思路?
对于这个问题,只有过程,没有思路。