首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MFC:成员变量与控制资源id

MFC:成员变量与控制资源id
EN

Stack Overflow用户
提问于 2015-06-09 12:51:20
回答 2查看 1.1K关注 0票数 2

我是vc++的新手。我想知道通过使用控件的成员变量或资源id来处理控件的正确和有效的方法。

代码语言:javascript
代码运行次数:0
运行
复制
m_Name.SetWindowTextW(_T("xyz"));
or 
SetDlgItemText(IDC_EDIT2,_T("xyz"));
or 
CWnd* cwd =    GetDlgItem(IDC_EDIT2);
cwd->SetWindowTextW(_T("xyz"));
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-09 13:39:47

有效的方法是创建一个控制成员变量。您可以在资源编辑器中通过右键单击控件并选择Add变量来完成此操作。

每次在资源ID中使用GetDlgItem时,它都会遍历所有的子控件,以找到具有指定ID的子控件。对于每个GetDlgItem调用,这种迭代都是效率低下的。

票数 2
EN

Stack Overflow用户

发布于 2015-06-09 15:30:21

您应该关心的是,什么是长期可维护的,而不是效率,除非您真的有一个性能瓶颈。在SetWindowText()操作中,这可能不是什么值得担心的事情。

你必须问这样的问题

1)你打算设置多少次窗口文本?就一次还是多次?如果有一次,您可能应该只使用SetDlgItemText()。

2)除了设置文本之外,你还会做其他操作吗?如果是这样的话,那么很可能将它作为一个成员变量。如果不是,那么将其作为成员变量并对窗口进行子类化有什么意义?为了节省一毫秒,用户永远不会注意到?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30732553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档