vc++ 2010 中Static text 问题!

问题1:建了两个STATICtext,默认id怎么都是IDC_STATIC,在id属性上有个属性name,他们却不一样,为什么!!后来我把一个的id改成IDC_STATI... 问题1:
建了两个STATIC text,默认id怎么都是IDC_STATIC,在id属性上有个属性name,他们却不一样,为什么!!
后来我把一个的id改成IDC_STATIC1.
问题2:
开始代码操作:
sub 1中
CString s=“一个文本”
CStatic * pSt=(CStatic *)GetDlgItem(IDC_STATIC);
pSt->SetWindowTextW (s);//成功赋值IDC_STATIC,运行显示s
pSt=(CStatic *)GetDlgItem(IDC_STATIC1);//错误,红色显示IDC_STATIC1未定义,后来把id
改成IDC_STATIC_1,编辑器通过,但调试出现错误!
pSt->SetWindowTextW (s);
sub 2中,把文本取回 !
//IDC_STATIC1不能赋值就不说了,现在取回IDC_STATIC中的上面赋好的s文本
CString s1
GetDlgItem(IDC_STATIC)->GetWindowText(s1);
或者
CStatic * pSt=(CStatic *)GetDlgItem(IDC_STATIC);
pSt->GetWindowText(s1);
两者都取回不成功!
问题是sub1中为什么不能给IDC_STATIC1赋值,若想给两个赋值该怎么写!
取文本为什么取不了,改怎么做!
共3个问题!
解决了追加分
展开
 我来答
bhtzu
2013-01-12 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4200万
展开全部
两个问题其实是一个问题。
静态文本框,为了节约资源(通常这类文字是不需要操作的),所以初始和其它控件不同,都是同一个ID,即:IDC_STATIC。
如果不需要程序控制这个文本,就是用这个ID就ok,如果需要程序修改,那么,必须修改成其它ID!
名字就是静态文本显示的内容,在Vc中不能通过名字来操作控件。

第二个问题,不是IDC_STATIC1的控件ID问题,而是一个指针不能两次赋值,直接这样写就可以了:
GetDlgItem(IDC_STATIC_1)->SetWindowText(s);
GetDlgItem(IDC_STATIC_1)->GetWindowText(s);

其它问题前面解释了,不再赘述。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式