zoukankan      html  css  js  c++  java
  • Win32 Windows编程 十二

    一、对话框

    1、对话框的分类

    2、对话框的基本使用方式

    3、对话框资源

    4、有模式对话框的使用

    5、 无模式对话框的使用

    5.1 加入对话框资源

    5.2 定义窗体处理函数

    BOOL CALLBACK DialogProc(

    HWND hWnd,

    UINT UMsg,

    WPARAM wParam,

    LPARAM lParam

    )

    5.3 创建对话框

    HWND CreateDialog(
      HINSTANCE hInstance,  // handle to module
      LPCTSTR lpTemplate,   // dialog box template name
      HWND hWndParent,      // handle to owner window
      DLGPROC lpDialogFunc  // dialog box procedure
    );
    返回值是创建好的对话框窗体句柄

    5.4 显示对话框

    ShowWindow

    5.5 关闭对话框

    EndDialog

    5.6 与有模式对话框相比

    创建函数:有模式创建对话框 DialogBox

    无模式对话框; CreateDialog

    程序运行方式:有模式对话框堵塞。禁止其它窗体输入。

    无模式对话框会立马返回让主程序继续运行

    6 对话框消息

    WM_INITDIALOG消息。用途类似于WM_CREATE消息,能够再对话框创建完毕后 进行数据初始化

    他与WM_CREATE不同的是,WM_INITDIALOG消息会在对话框资源模板上的全部子控件(button等)创建完毕后再发送给对话框窗体处理函数

    wParam  - 当前接受输入焦点子控件窗体句柄

    lParam - 创建时附带的參数

    7 对话框和普通窗体的对照

    7.1 创建方式不同

    普通窗体 CreateWindow/Ex

    对话框: DialogBox/CreateDialog

    7.2 消息

    普通窗体:会收到WM_CREATE

    对话框: WM_INITDIALOG

    7.3 关闭方式

    普通窗体 : DestroyWindow等

    对话框: EndDialog

    二 子控件

    1 由 Windows系统定义的窗体类型能够提供

    对应的功能。包含button。文本编辑框, 静态框

    2 空间的创建

    都能够使用CreateWindow/CreateWindowEx创建, 并获取到空间HWND。

    创建时每一个子控件都要有对应的ID号,

    ID号尽量要求不反复。

    1.3 控件的消息

    子控件和父窗体(一般窗体或者对话框)的交换都是通过消息完毕的。假设子窗体状态发生变化,子窗体会向父窗体发送

    对应的消息,

    一般父窗体会使用SendMessage向子窗体发送消息。同一时候父窗体响应子窗体发送的消息一般在WM_COMMAND中进行处理

    三 静态框

    1 静态框的创建

    窗体类的名称 - STATIC, 用于窗体上显示文字等,假设使用SS_ICON、SS_BITMAP风格能够显示ICON和BITMAP

    文本静态框 - 创建时使用SS_SIMPLE就可以

    ICON静态框 - 创建时使用SS_ICON, 而且将静态框的窗体名称设置成相应的ICON的资源ID号。比如 “#101”


    2 静态框的命令响应

    2.1 惊天狂要加入SS_NOTIFY风格

    2.2  WM_COMMAND 进行处理

    WPARAM - HIWORD 命令ID

      LOWORD 静态框的窗体ID

    LPARAM - 静态框创库句柄

    3 静态框相关消息

    调用SendMessage函数向空间发送消息

    如: STM_SETICON消息改动控件显示图标

    SendMessage( hStatic, STM_SETICON, (WPARAM)hIcon, 0 );

    其它:

    GetDlgItem 从窗体中获取指定ID的子控件的窗体句柄

    四 button

    1 button的分类

    依据创建button时使用的风格:

    1.1 下压式button PUSH_BUTTON

    正常下压式button BS_PUSHBUTTON

    三态下压式button BS_3STATE

    1.2 分组式button

    BS_GROUPBOX

    1.3 CheckBoxbutton 多选button

    BS_CHECKBOX

    1.4 单选button Radio Box

    BS_RADIOBUTTON


    2.下压式button的使用:

    2.1 创建button

    创建时使用BUTTON

    2.2 响应button的点击命令消息

    WM_COMMAND

    2.3  通知消息消息处理

    SendMessage









  • 相关阅读:
    GridView跨列
    html的积累
    什么是json?
    关于string
    Effective C# Item38:定制和支持数据绑定
    Effective C# Item44:为应用程序创建特定的异常类
    Effective C# Item42:利用特性简化反射
    Effective C# Item47:选择安全代码
    Effective C# Item43 : 避免过度使用反射
    Effective C# Item39 : 使用.NET验证
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5158844.html
Copyright © 2011-2022 走看看