ddv

在类向导中将IDC_STATIC_TEXT1与一个字符串成员变量m_strText关联起来(按住CTRL双

击Static控件),然后在对话框类的构造函数中将m_strText = _T(““);改为

m_strText.LoadString(IDS_STRING1);即可

补充:
如果要再改变内容的话则在按钮处理函数里,比如OnOK()中加上
m_strText = “另外一个字符串“;(如果要从String Table中读字符串就用

m_strText.LoadString(IDS_ANOTHER_STRING);其中IDS_ANOTHER_STRING就是你新读入的

另外一个字符串对应的资源ID),然后UpdateData(FALSE);(将关联的成员变量的改变反映

到控件上)。
当然liujun_7177的方法也可以:
GetDlgItem(IDC_STATIC_TEXT1)->SetWindowText(“另外一个字符串“); (须要提出

的是,SetWindowText()是CWnd类的方法,GetDlgItem()返回的就是CWnd*,强制类型转换

为CStatic*是不必要的)

 

MFC中怎样读取文本框的内容?(有分追加)
 悬赏分:0 - 解决时间:2009-5-20 20:04
我有一个文本框,是用来请用户输入数值的,ID为IDC_EDIT2,用str_scale表示这个文本

框的内容,定义如下:
h文件:
public:
 CString str_scale;
cpp文件:
DDX_Text(pDX, IDC_EDIT2, str_scale);
我定义了一个变量scale用来将这个文本框的内容读出来并转化为单精度,进行运算。可

是从运行程序来看好像没有读出这个文本框的内容。这个函数体的结构如下:
CMyDBADODlg MyDlg;
float scale=atof(MyDlg.str_scale)
程序运算

我试着在float scale=atof(MyDlg.str_scale)前加入了UpdateData()来更新数据。但

报错,说是没有定义的标识符。我把UpdateData()放在按钮的click事件函数中的开头

就不报错了,但还是没有读出文本框的内容。请问我应该怎么改正?

提问者: 伊贝尔伊贝尔 - 伍长 四级 最佳答案从编辑框输入数据后,需要调用

UpdateData(TURE);进行数据交换,
这样用GetDlgItem()就可以获取内容了

如果要写入数据,先SetDlgItem(),之后再调用UpdateData(FLASE);进行数据交换这样

才回把数据写入到编辑框

UpdateData();是对话框的更新函数
TURE的时候读取数据,FLASE的时候写入数据
编辑框内容改变后,程序和这个编辑框对应的变量并不改变,直到用UpdateData(TURE);

。同样,变量改变后,编辑框也不会反应出来,直到调用UpdateData(FLASE);

 

MFC编辑框改变背景、颜色等

MFC   2009-07-29 17:57   阅读142   评论0   字号: 大大  中中  小小 VC 编辑框

改变背景、字体、文本颜色、长度限制、英文 汉字判断
1。长度限制
OnInitDialog()中:
m_edit1.SetLimitText(8); //m_edit1为编辑框的成员变量
或者
CEdit*pEdt=(CEdit*)GetDlgItem(IDC_EDIT1);
pEdt->SetLimitText(8); //限制编辑框输入长度为8字节
2。汉字判断
方法一、
CString str="ab你c好。。";
for(int i=0;i<str.GetLength();i++)
{
if( (BYTE)str[i] < 0x80 )
{
MessageBox("非汉字");
}
else//汉字
{
MessageBox("是汉字");
} //方法不好,只能判断有没有汉字
方法二、
CString ss="dd你aa今bb真cc";
int i=0;
while(i<ss.GetLength())
{
if(IsDBCSLeadByte(ss[i]))
{
// 是DBCS
i += 2;
AfxMessageBox("汉字");
}
else
{
// 英文
i ++;
AfxMessageBox("English");
}
}
附原帖:
http://topic.csdn.net/t/20020728/12/905767.html
3。字体及大小
定义一全局变量或成员变量CFont font; //不要定义成局部变量,否则没效果
CEdit*pEdt=(CEdit*)GetDlgItem(IDC_EDIT1);
font.CreatePointFont(266,"Arial");
pEdt->SetFont(&font);
4。背景及文本颜色
定义一成员变量CBrush m_brush;
OnInitDialog()中进行初始化工作m_brush.CreateSolidBrush(RGB(255,0,0));
然后在OnCtrlColor中
HBRUSH CAsdfaaaaaaaaaDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_EDIT &&
pWnd->GetDlgCtrlID()==IDC_EDIT1)//注意此处的(pWnd->),否则没效果
{
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(255,255,0));//设置文本背景色
pDC->SetBkMode(TRANSPARENT);//设置背景透明
hbr = (HBRUSH)m_brush;
}
return hbr;
}
对于nCtlColor的类型,如下:
CTLCOLOR_BTN Button control
CTLCOLOR_DLG Dialog box
CTLCOLOR_EDIT Edit control
CTLCOLOR_LISTBOX List-box control
CTLCOLOR_MSGBOX Message box
CTLCOLOR_SCROLLBAR Scroll-bar control
CTLCOLOR_STATIC Static control


VC MFC 编辑框 写几行代码就行了
 悬赏分:20 - 解决时间:2009-8-18 20:21
如何将输入编辑框(CEdit ID_EDIT m_edit)里的内容赋给整形变量a;

请留下您的邮箱好吗?把我的代码发给你
guozhiqian@163.com

提问者: 大头2003 - 试用期 二级 最佳答案有两种方法:
①用GetDlgItemText获取编辑框内容,再用 atoi函数可转为整形;
②在建立编辑框后,给控件关联一个整形变量即可


MFC编辑框的问题
 悬赏分:50 - 解决时间:2008-7-5 13:38
将编辑框控件定义成控件类型或者字符串类型有什么不同?
谢谢。

提问者: 2005hjj - 初入江湖 四级 最佳答案定义成字符串类型的,可以响应一些按钮

,从而在框内显示 你想显示的内容。
  而定义成控制类型的,则只能从该框中 读入字符,而不可以作为显示框(即,显示一

些字符。。) 来出现。


MFC编辑框的问题
 悬赏分:10 - 解决时间:2009-3-18 12:07
我给编辑框关联一个CString变量,然后在初始化对话框的时候运用UpdateData(false)显

示到编辑框内,为什么,它显示的时候是选中的方式呢,如图


提问者: jsjlzhq - 试用期 二级 最佳答案应该是默认的焦点在这个EDIT里吧

可以把默认的焦点放到别的控件上,按Ctrl+D,点击其他控件,把其他控件设为Tab序号1

也可以用代码取消选择状态。

MFC 编辑框问题 急急
 悬赏分:20 - 解决时间:2009-7-18 15:11
现在我定义 了一个double My_data;
我想从编辑框获取一个double型的数据给My_data;
编辑框的ID是 IDC_ITEM1;
怎么弄啊 如果是int 我会用My_data=GetDlgItemInt(IDC_ITEM1);
double 我就不会了,最好给个例子 不要太长 ,
同理我要把一个double型的数据通过编辑框输出怎么弄 ,int 我会 用SetDlgItemInt(),

急急  高手帮忙
问题补充:My_data = atof(str);  怎么说不能转换啊 还有输入怎么弄啊 怎么没有高手

啊?

提问者: huxiangtao1000 - 解元 五级 最佳答案ClassWizard直给编辑框关联一个变量

不是更简单。
方法:
在编辑上单右鼠标右键,选择ClassWizard..然后在Member Variables上找到这个控件的

ID号,双击并添加double类型的成员变量(m_edit1).

获到编辑框中的值:
UpdateData(true);
double My_data = m_edit1;

给编辑框赋值:
m_edit1 = My_data;
UpdateData(false);


MFC编辑框输出问题
 悬赏分:10 - 解决时间:2008-11-29 11:41
如何在编辑框中给字符型的变量赋值为一个整型的数值然后用UpdateData(false)输出


如:
另外一个编辑框的变量是添加的int num;
要输出的编辑框的变量是CString str;
现在我在不知道num的具体的值的前提下要从str中输出这个num怎么输出啊?
我记得C++中有"<<num<<"的输出办法,但是在MFC中<<是没被定义的,不能使用。
问题补充:我不是要在对话框中弹出,而是要在一个添加了CString str变量的编辑框中

输出啊

提问者: 覃松涛 - 见习主管 五级 最佳答案看的不是很明白...
你的意思是
现在有两个编辑框
一个绑定变量 num(int),编辑框1
一个绑定变量 str(CString),编辑框2
然后当num改变的时候,绑定str的编辑框显示num的值
是这样吗???

UpdateData(TRUE);
str.Format("%d", num);//把num以整形赋给str
UpdateData(FALSE);
然后编辑框2的内容就是num了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码猿杂谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值