Windows编程的方方面面

简介: (一)控件 滚动条  SCROLLINFO结构中的nPage和nPos是有范围限制的,超出范围设置时,Windows会自动纠正。 0

(一)控件

  • 滚动条

 

SCROLLINFO结构中的nPage和nPos是有范围限制的,超出范围设置时,Windows会自动纠正。

0<=nPage<=nMax-nMin+1

0<=nPos<=nMax-(nPage-1)

 

所以不要总以为自己设置了页面大小,设置了滚动条位置,滚动条的页面和位置就一定会如你所设置。

 

  • 编辑框

在使用Edit_SetSel的时候,一定要将焦点定格在Edit上,否则选择效果不显示。

 

 

 

 (二)编程技巧

  • 窗口子类

对于改变控件一些常规行为用窗口的子类的方式是非常好的。例如用鼠标点击某个按钮时,将某个编辑框全选,不要以为在WM_COMMAND里面对应的按钮消息里面添加就可以了。可以试一下是不行的?关键在于鼠标点击,在鼠标左键松开的时刻,先发送WM_COMMAND消息,后发送WM_SETFOCUS给按钮,因为要让编辑框全选必须让编辑框得到焦点,但是在WM_COMMAND把焦点给编辑框只是暂时的,紧接着按钮本身的WM_LBUTTONUP会把焦点设置到自己身上,所以编辑框的获得焦点只是一瞬间。为了解决这个问题,就是给按钮使用窗口子类的方法。在WM_LBUTTONUP中先调用CallWindowProc,然后在把焦点转给编辑框。

相关文章
|
消息中间件 C++ Windows
02 MFC - Windows 编程模型
02 MFC - Windows 编程模型
57 0
|
2月前
|
网络协议 API Windows
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
|
2月前
|
Windows
[原创]用MASM32编程获取windows类型
[原创]用MASM32编程获取windows类型
|
2月前
|
JavaScript 前端开发 API
MASM32编程通过WMI获取Windows计划任务
MASM32编程通过WMI获取Windows计划任务
|
2月前
|
API Windows
MASM32编程获取Windows当前桌面主题名
MASM32编程获取Windows当前桌面主题名
|
3月前
|
编译器 开发工具 C语言
解锁QtCreator跨界神技!Windows下轻松驾驭OpenCV动态库,让你的跨平台开发如虎添翼,秒变视觉编程大师!
【8月更文挑战第4天】QtCreator是一款强大的跨平台IDE,便于创建多平台应用。本教程教你如何在Windows环境下集成OpenCV库至Qt项目。首先,下载匹配MinGW的OpenCV预编译版并解压。接着,在QtCreator中新建或打开项目,并在.pro文件中添加OpenCV的头文件和库文件路径。确保编译器设置正确。随后编写测试代码,例如加载和显示图片,并进行编译运行。完成这些步骤后,你就能在QtCreator中利用OpenCV进行图像处理开发了。
217 6
|
3月前
|
数据库 Windows
超详细步骤解析:从零开始,手把手教你使用 Visual Studio 打造你的第一个 Windows Forms 应用程序,菜鸟也能轻松上手的编程入门指南来了!
【8月更文挑战第31天】创建你的第一个Windows Forms (WinForms) 应用程序是一个激动人心的过程,尤其适合编程新手。本指南将带你逐步完成一个简单WinForms 应用的开发。首先,在Visual Studio 中创建一个“Windows Forms App (.NET)”项目,命名为“我的第一个WinForms 应用”。接着,在空白窗体中添加一个按钮和一个标签控件,并设置按钮文本为“点击我”。然后,为按钮添加点击事件处理程序`button1_Click`,实现点击按钮后更新标签文本为“你好,你刚刚点击了按钮!”。
261 0
|
5月前
|
Java C++
jni编程(windows+JDK11+clion)
jni编程(windows+JDK11+clion)
|
C++ Windows
[笔记]Windows核心编程《番外篇》几种常见的执行命令行方法
[笔记]Windows核心编程《番外篇》几种常见的执行命令行方法
109 0
|
6月前
|
API C++ Windows
windows编程入门_链接错误的配置
windows编程入门_链接错误的配置
53 0