win32基本控件

 一.控件概念

     ·控件:特殊的一类”子”窗口,系统已经定义好了窗口类型.

     创建方式和创建窗口类似,调用createWindows,每个控件都由ID

     ·父窗口直接通过sendmessage向控件发送消息.

     控件事件发生后,会向所在的父窗口发送通知消息

     ·注意:创建窗口时必须添加两个属性

     WS_CHILD:控件是放在我们的窗口上的,自然要作为窗口的子窗口

          WS_CHILDWINDOW也一样,为了节约几个字母,用WS_CHILD吧。

WS_VISIBLE:设置可见,要想别人称赞你老婆漂亮,先让别人见你老婆

 ·创建窗口函数讲解

      HWND WINAPI CreateWindow( 类名, 显示内容,  风格,  nt x,   int y,   

               int nWidth,  int nHeight,  父窗口,  控件ID,  

               HINSTANCE hInstance,  LPVOID lpParam  );

·主要控件:按钮,编辑框,静态框,列表框,组合框,树控件,分组框,等

 二.按钮

2.1基本概念   

 窗口类名  BUTTON

 按钮分类:

 下压式按钮 BS_PUSHIBUTTON/BS_DEFPUSHIBUTTON

 复选框 BS_CHECKBOX/BS_AUTOCHECKBOX /BS_3STATE/ BS_AUTO3STATE

 单选框BS_RADIOBUTTON/BS_AUTORADIOBUTTON

 分组框BS_GROUPBOX

2.2下压式按钮

  创建按钮:

  CreateWindow(L"Button", L"按钮一", WS_VISIBLE | WS_CHILD |

       BS_PUSHBUTTON,     .... hwnd, (HMENU)IDB_ONE, hg_app, NULL); 

 按钮消息:WM_COMMAND

       LOWORD(wParam) --- 保存的是按钮ID

       HIWORD(wparam)---通知码BN_CLICKED

       lParam 子窗口句柄

      

 改变按钮文本信息: 向控件发送 WM_SETTEXT

      

2.3 分组框

    窗口名称BUTTON

    窗口风格 BS_GROUPBOX    

2.4单选框

    窗口名称BUTTON

    窗口风格BS_RADIOBUTTON / BS_AUTORADIOBUTTON/WS_GROUP

    WS_GROUP的单选框,到下一个WS_GROUP单选框之前,为1组

     获取和设置选择状态(通知消息是BN_CLICKED)

     BM_SETCHECK

     BM_GETCHECK 

    案例:if( HIWORD(wParam)==BN_CLICKED )                         {

                                HWND h3State = GetDlgItem( hWnd, 1005 );

                                LRESULT nRet = SendMessage( h3State, BM_GETCHECK, 0, 0 );

                                if( nRet == BST_CHECKED )}  

2.5复选框

   窗口类名:BUTTON

   窗口风格:

    BS_CHECKBOX - 点击选择时,需要自己维护选择状态

    BS_AUTOCHECKBOX - 点击选择时,系统自动维护选择状态

    BS_3STATE --变灰的三种状态

    BS_AUTO3STATE-自动处理的三种状态

获取和设置选择状态(通知消息是BN_CLICKED)

   BST_INDETERMINATE-设置灰色

    BST_CHECKED     ---设置选择

    BST_UNCHECKED  --设置不选择

    设置状态SendMessage(... BM_SETCHECK,具体状态,必须为0);

    获取状态SendMessage(... BM_GETCHECK,0,0);

    案例SendMessage( 句柄, BM_SETCHECK,BST_INDETERMINATE, 0 );

 三. 编辑框

3.1基本概念

  窗口类名 EDIT

  分类:

  文字编辑框:显示单行文字/显示多行文字

  密码编辑框:ES_PASSWORD,显示密码

  窗口风格

 

3.2通知消息

 在WM_COMMAND case下 处理这个参数
      if (HIWORD(wParam) == EN_CHANGE && LOWORD(wParam) == nEditID)

  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值