| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 567 人关注过本帖
标题:for循环里要用GetDlgItem(/*i*/),这个问题怎么解决呢?
只看楼主 加入收藏
Lyone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:195
注 册:2010-12-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
for循环里要用GetDlgItem(/*i*/),这个问题怎么解决呢?
在窗口中建了多个图像组件。都分别命名为IDC_DRAW1,IDC_DRAW2,IDC_DRAW3.....
要获得这些空间的句柄,应该是用GetDlgItem(IDC_DRAW1).
但是如果用for循环来写GetDlgItem(IDC_DRAW*)这个*怎么解决呢?
for(int i=1;i<=n;i++)
{
  GetDlgItem(/*IDC_DRAW**/);
}

搜索更多相关主题的帖子: 空间 
2011-04-22 15:56
Lyone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:195
注 册:2010-12-7
收藏
得分:0 
有了一个比较傻的方法。。。
int *a=new int[n];
a[0]=GetDlgItem(IDC_DRAW1);
a[1]=GetDlgItem(IDC_DRAW2);
...
然后依次用a[0],a[1]....但是能否有更好的方法呢?
2011-04-22 16:09
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:20 
const int N = 2;
int a[N];
a[0]=IDC_DRAW1;
a[1]=IDC_DRAW2;
for(int i = 0 ; i < N ;++i)
{
    GetDlgItem(a[i]);
}
这个方法不是挺好的嘛!!
2011-04-22 22:59
风飘无息
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-4-25
收藏
得分:0 
3楼在这里的++i和i++有什么区别呢
2011-05-03 21:11
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:0 
没什么特别的,习惯了。
2011-05-03 22:10
快速回复:for循环里要用GetDlgItem(/*i*/),这个问题怎么解决呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084869 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved