Win32 API编程笔记(转)

 原帖地址: http://www.cnblogs.com/tangzhengyue/archive/2012/08/16/2643149.html


一 组合框 ComboBox

  1 组合框的样式
  
    1.1 简单组合框  CBS_SIMPLE
    1.2 下拉式组合框 CBS_DROPDOWN
       能输入或者从下拉列表中选择
    1.3 下拉列表式组合框 CBS_DROPDOWNLIST
       只能从下拉列表中选择
    
  2 组合框的使用 
  
    2.1 组合框的创建
      窗口类名称是 COMBOBOX, 使用CreateWindow创建, 创建时要注意窗口高度(弹出的列表).
    2.2 增加选项
      CB_ADDSTRING/CB_INSERTSTRING
      CB_ADDSTRING: WPARAM为0不使用, LPARAM是添加字符串的地址
    2.3 删除选项
      CB_DELETESTRING 删除指定选项
      CB_RESETCONTENT 清空所有选项
    2.4 选择
      CB_GETCURSEL 获取被选择项
      CB_SETCURSEL 设置当前的选择项
      CB_SELECTSTRING 设置选择指定的字符串所对应的项
    2.5 查找
      CB_FINDSTRING 根据指定的字符串,找到对应项的索引
         1)大小写不敏感
         2)字符串和选项从左到右匹配.
         3)选项包含字符串即可
    2.6 获取选项或者被选择字符串
       CB_GETLBTEXT 获取选项的字符串
       WM_GETTEXT   获取被选择到窗口的字符串
       
    2.7 选项的数据
       可以将自定义数据信息,在选项中设置和获取.
       CB_SETITEMDATA 将数据保存到选项中
       CB_GETITEMDATA 从选项当中获取数据
       
    2.8 目录显示
       CB_DIR 将指定路径下的文件和路径信息显示在ComboBox当中
          wParam - 显示的类型
          lParam - 路径字符串地址
          
    2.9 通知消息
      通过WM_COMMAND消息,通知父窗口.
      CBN_SELCHANGE 当窗口的选项发生变化的情况下,通知父窗口.


二 列表框 ListBox

 1 列表框的样式
   1.1 单选列表框 默认
   1.2 多选列表框 LBS_MULTIPLESEL
   
 2 列表框的使用
   2.1 列表框的创建
     窗口类名为LISTBOX, 使用CreateWindow/Ex
   2.2 增加选项
     LB_ADDSTRING
     LB_INSERTSTRING
   2.2 删除选项
     LB_DELETESTRING 删除指定选项
     LB_RESETCONTENT 清空所有选项
   2.3 选择项的获取和设置
     LB_GETCURSEL 获取被选择项
     LB_SETCURSEL 设置当前被选择项
     LB_GETSEL  获取指定项的选择状态
     LB_SETSEL  设置指定项的选择状态
     LB_GETSELCOUNT 获取被选择的数量
     LB_GETSELITEMS 获取被选择项的索引
     
    2.4 查找 LB_FINDSTRING
    2.5 获取指定项的文字
       LB_GETEXT  指定项的文字
       LB_GETTEXTLEN 指定项的文字的长度
       
    2.6 选项的数据
       LB_SETITEMDATA 将自定义数据保存到指定的选项当中
       LB_GETITEMDATA 将自定义数据从指定选项中取出
    2.7 目录信息
       LB_DIR 显示指定目录下的文件和子目录信息
    2.8 通知消息
       LBN_SELCHANGE 当ListBox中的选择项发生变化时,通知父窗口.
       注意:对于ListBox需要增加LBS_NOTIFY的样式,才能发送通知消息

View Code

三 滚动条

   1 滚动条样式
     1.1 水平滚动条 SBS_HORZ
     1.2 垂直滚动条 SBS_VERT
     
   2 滚动条的使用
     2.1 滚动条的创建
        窗口类名称 SCROLLBAR 
     2.2 消息处理   
        2.2.1 水平滚动条 WM_HSCROLL
           LOWORD(wParam) - 滚动的标示
           HIWORD(wParam) - 当前滑块的位置
           lParam - 窗口的句柄
        2.2.2 垂直滚动条 WM_VSCROLL
           LOWORD(wParam) - 滚动的标示
           HIWORD(wParam) - 当前滑块的位置
           lParam - 窗口的句柄
        2.2.3 HIWORD(wParam)只在 
          SB_THUMBPOSITION/SB_THUMBTRACK时
          有效.
     2.3 滚动条的滚动范围
        SBM_SETRANGE 设置滚动条的滚动范围
           wParam - 最小值,起始值
           lParam - 最大值,终止值
        SBM_GETRANGE 获取滚动条的滚动范围
           wParam - 最小值得存放的INT的地址
           lParam - 最大值得存放的INT的地址
     2.4 滑块位置的设置和获取
        SBM_SETPOS 设置滑块位置
           wParam - 新的滑块位置
           lParam - 重新绘制窗口
        SBM_GETPOS 获取,返回当前位置

View Code

四 控件的自绘制

  1 控件具有OWNERDRAW样式
    BUTTON LISTBOX COMBOBOX
  2 WM_MEASUREITEM
    计算控件的大小    
    (UINT) wParam - 控件ID
    (LPMEASUREITEMSTRUCT)lParam-控件项的大小
  3 WM_DRAWITEM
    实现控件的绘制
    (UINT) wParam - 控件ID
    (LPDRAWITEMSTRUCT)lParam - 控件绘制的信息

View Code

 原帖地址: http://www.cnblogs.com/tangzhengyue/archive/2012/08/16/2643149.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值