首页 > 其他分享 >CreadWindow创建控件,设置控件ID,添加消息响应

CreadWindow创建控件,设置控件ID,添加消息响应

时间:2024-12-06 21:58:58浏览次数:3  
标签:wParam 控件 窗口 lParam CreadWindow 句柄 ID

1、设置控件 ID,资源头文件中,添加一行 --->  #define IDC_控件名     (int)控件ID号;  随便你给定ID号,只要和其他的不重复就好了。

2、HWND h控件句柄 = CreateWindow(控件类名, 控件描述, 控件风格, 左上角坐标X, 左上角坐标Y, 宽, 高, 控件的父句柄, (HMENU)菜单句柄, 应用程序句柄, (lParam)附加信息);

     把  (HMENU)菜单句柄 设定为  (HMENU)控件ID号,就好了,现在 IDC_控件名 是父窗口(句柄) 下面的 一个有名字,有ID标识 的子控件了。

3、添加代码:

  看看 子控件的 消息是怎么被传递的;子控件的ID标识包含在 wParam的低位 LOWORD(wParam) , 该子控件的具体消息内容包含在高位 HIWORD(wParam)

  如,以ComboBox控件的视角,当其列表被选择,父窗口将发起一个 sendmessage(父窗口句柄, UINT WM_COMMAND, WPARAM wParam(低位时控件ID,高位是CBN_SELCHANGE), LPARAM lParam)

  父窗口的消息处理函数((父窗口句柄, UINT WM_COMMAND, WPARAM wParam(低位时控件ID,高位是CBN_SELCHANGE), LPARAM lParam )

  {

    wmId_LOW = = LOWORD(wParam);

    switch (message)  {

      case WM_COMMAND:

        switch (wmId_LOW) {
          case IDC_控件名:

            switch (wmId_HI) {

              case CBN_SELCHANGE:

                break;

            }

          }

      }

  }  

 

  

标签:wParam,控件,窗口,lParam,CreadWindow,句柄,ID
From: https://www.cnblogs.com/oujian/p/18591496

相关文章

  • 攻防世界-hidden key
    ⭕考察内容1、系统随机数与随机数种子2、bytes()函数参考3、all()函数参考4、逆向思维一、题目fromCrypto.Util.numberimport*fromsecretimportflagimportrandomimporthashlibimportoskey=os.urandom(8)defrand(rng):returnrng-random.randran......
  • P5007 DDOSvoid 的疑惑 题解
    题目传送门思路树形dp模版题。设\(dp_i\)为\(pos\)的最优解,\(dp2_i\)为只考虑\(pos\)子树时,毒瘤集的数量。可得:\(dp_i=dp_{i}\timesdp2_{son}+dp_{son}\timesdp2_{i}+dp_i+dp_{son}\)\(dp2_i=dp2_{i}\timesdp2_{son}+dp2_{i}+dp2_{son}\)用深搜来更新\(dp\)......
  • JavaSwing JSlider
    try{BeautyEyeLNFHelper.frameBorderStyle=BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelDecorated;//UIManager.put("RootPane.setupButtonVisible",false);org.jb2011.lnf.beautyeye.BeautyEyeLNFHelpe......
  • 几个图表控件关于热力图显示的调研笔记
    InteractiveDataDisplay.WPF这是微软出的一个开源的曲线图控件,目前已经没有更新了,而且只支持.NETFramework,不支持.NETCore平台。安装Install-PackageInteractiveDataDisplay.WPF前台代码<Windowx:Class="HeatmapGraphDemo.MainWindow"xmlns="http://schemas.mi......
  • IDEA、Pycharm、GoLang等激活常见原因汇总
    前言激活方式千变万化,方式也不断更新,常用的激活方式,大致就2种一种是双击vbs文件,自动激活至2099年IDEA2024.3安装激活教程(至2099年)Pycharm2024.3安装激活使用教程(至2099年)一种是通过ja-netfilter.jar,自动激活至2025/2026(实际上永久的)关于IntelliJIDEA2024安......
  • [开发工具]Idea实用操作文档,工欲善其事必先利其器
    [Java开发]提升开发效率的IDEA插件与功能设置技巧在Java开发中,良好的开发环境配置和工具使用可以大大提高开发效率。IDEA作为目前最流行的Java开发工具,其丰富的插件和功能为开发者提供了不少便利。本文将分享如何通过IDEA的功能配置和插件使用来提升编码效率和质量。一、IDE......
  • 将 C++程序移植到 Android 平台
    将C++程序移植到Android平台 将C++程序移植到Android平台需要多个步骤,涉及AndroidNDK(NativeDevelopmentKit)和AndroidStudio。下面是详细的步骤指导:1.环境准备安装AndroidStudio:确保你的开发环境中安装了AndroidStudio,这是开发Android应用的主流IDE。......
  • 鸿蒙开发-Divider 组件
    在ArkTS中,Divider组件是用于在界面上显示分割线的组件,以下是其详细介绍:基本功能Divider组件主要用于将页面中的不同部分进行视觉上的分隔,使页面布局更加清晰和有条理,增强用户界面的可读性和美观性。常用属性color:用于设置分割线的颜色,接受ResourceColor类型的值,可以是......
  • 从Delphi到Lazarus——在Lazarus中使用ActiveX控件(导入类型库)
    0.前言Lazarus的设计目标是应用FreePascal,所以所有凡是FreePascal能运行的平台,Lazarus都可以运行。通俗地说就是Lazarus追求的是跨平台编程,致力于“一次编写,到处编译”。Lazarus最初是一个基于FreePascal的Delphi仿制品。Lazarus作为一个可能代替Delphi的集成开发环境,从诞生......
  • 【AI绘画stable diffusion教程】对普通人来说,Stable diffusion 和 Midjourney 怎么选?
    前言这个问题我觉得挺好,因为虽然StableDiffusion(SD)和Midjourney(MJ)这2个AI绘画工具的名字已经深入广大AI爱好者的内心了,但对于普通人(包括刚接触到AI绘画的童鞋)来说,看到这2个名字仍然还是会感觉到陌生。那么,今天我就来给新手用户来讲讲这2个AI绘画工具的区别,我们应该如何选......