COMBOBOX一系列的“函数”

 

还是把用自己理解下来的写下来吧,毕竟这个参数死记硬背的话不是一般人在一般少的时间是能做到的,一方面可以让自己以后忘了回来翻翻,另一方面更加好理解。

getdlgitem(),参数前者是对话框的句柄,后面的是这个对话框中的要取得item的id,返回值是这个控件的句柄,这样应该就比较好记了,多用用就熟练了。

ComboBox_AddString(),前者参数是控件的句柄,后者参数是要加入的字符串,返回值是加这个字符串之前有几个字符串;

ComboBox_InsertString(),前者参数是空间的句柄,中间参数是在哪里加入,后者参数要加入的字符串,返回值是加这个字符串之前有几个字符串;

这两者的区别不是很大,只是add的加入的顺序是没规律的,而insert是加入的位置可以由你控制的,就像insert中,中间参数是-1,则添加的string是正序的,而0是逆序的;

ComboBox_DeleteString(),前者参数是控件的句柄,后者参数是你要删除的索引号(有点像数组中总括号的数,也是从零开始),返还值是删除后还剩几个字符串的个数;

ComboBox_FindString(),前者参数是控件的句柄,中间参数是从那里开始找(找到末尾还会回头找的),后者参数是要找的字符串,返回值是找到的字符串的索引号,找不到则返回-1;

ComboBox_GetCount(),唯一的参数是控件的句柄,返回值是这个控件中所含项目的个数;

ComboBox_SetCurSel(),前者参数是控件的句柄,后者参数是索引号,执行后在控件中会显示相应索引号的字符串;

ComboBox_GetCurSel(),唯一的参数是控件的句柄,而返回值是在句柄上显示字符串的索引号‘;

还有其他的好多,熟悉了几个,应该就可以比较快的掌握其他的了,主要还是要在应用中能记起来有这么个函数。               

这里有好多介绍以便自己查询。  点击链接

 


刚才发现一个问题:

int FindStr = ComboBox_FindString(hwnd1, 0, str1);           //查找是否已经有该信息
if (-1 != FindStr)

//如果已有该消息则弹出出错消息,并返回
{
SetDlgItemText(hwnd, IDC_EDIT1, TEXT(""));
MessageBox(hwnd, TEXT("已经添加"), NULL, MB_OK|MB_ICONERROR);
return;
}

为什么要是我初始化的时候有字符串dd,
而我选择添加字符串d的时候(int Findstr的返回值就是dd的索引号!!!!)会提醒说已经输入,而输入ddd的就不会提示已经输入
同样的我为什么ComboBox_SelectString函数也是一样的 ??


后来无意中看到有个叫ComboBox_FindStringExact()的函数,好奇一试:

突然就不会有问题了就对了,这个函数害死人啊,还以为是哪里写错了,没有深刻体会到函数的实际意义啊!

还有就是,值得注意的是这个函数是不区分大小写的!!也就是说如果你已经输入了dd,再输入DD的话就就会提醒你“已经添加”
但是ComboBox_SelectString好像没有找到有类似的ComboBox_SelectStringExact。







  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值