Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156425
  • 博文数量: 27
  • 博客积分: 684
  • 博客等级: 上士
  • 技术积分: 421
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-20 17:07
文章分类

全部博文(27)

文章存档

2012年(27)

分类: C/C++

2012-03-16 14:51:08

ComboBox的操作

1)添加项:

填入Combo最简单的方法是借助ComboBox_AddString“函数(其实是宏):

ComboBox_AddString(hwndCtrl,str)

每个控件也有自己的句柄。句柄是WINDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例、窗口、图片、图标等等。控件句柄和控件id的区别:控件句柄在每次运行的时候都是不一样的,而控件id则是确定的。ComboBox_AddString等几乎所有控件函数都可以对整个Windows中的控件进行控制(有的游戏外挂的原理),在一个对话框内id不能重复,但是在不同的对话框内则可以重复,因此需要一个全局的不重复的句柄来表示控件,通过对话框+id联合确定。两个不同的程序(哪怕是同一个程序启动的两个不同的实例,开两个记事本)是找到我爸,然后找我父亲的id=1的儿子,也就是我。这就是通过我父亲的把柄和我的id=1来定义我

GetDlgItem由对话框句柄+id得到控件的句柄。

Main_OnInitDialog对话框初始化的时候被调用。

做一个例子

   (2) 确定目前选项的索引:int ComboBox_GetCurSel(
    HWND hwndCtl);Cur:CurrentSel:Selection
返回值是当前项的编号,从0开始。得到的不是北京市这样的字符串,而是索引(编号)如果没有项目被选中,那么从函数中传回的iIndex值为CB_ERR。做一个例子

3)删除项:

int ComboBox_DeleteString(
    HWND hwndCtl,    int index);

做一个例子

4)取得有多少项:

int ComboBox_GetCount(
    HWND hwndCtl);
返回值是个数。(5)选定某一项int ComboBox_SetCurSel(
    HWND hwndCtl,    int index);
index设定为-1则取消所有选择

(5)得到某项的值

int ComboBox_GetLBText(
    HWND hwndCtl,    int index,    LPCTSTR lpszBuffer);
 

怎么让Combo不能改?类型:下拉列表

更多ComboBox的用法


    是宏,不是函数。
SendDlgItemMessage/SendMessage

阅读(2176) | 评论(1) | 转发(0) |
0

上一篇:奋斗十年的经历

下一篇:使用定时器

给主人留下些什么吧!~~

桔色花朵2012-03-19 01:35:22

恩,多练下就好了~