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,然后在把焦点转给编辑框。

相关文章
|
5月前
|
消息中间件 C++ Windows
02 MFC - Windows 编程模型
02 MFC - Windows 编程模型
22 0
|
6月前
|
监控 编译器 API
[笔记]Windows核心编程《二十二》注入DLL和拦截API(一)
[笔记]Windows核心编程《二十二》注入DLL和拦截API
144 0
|
6月前
|
人工智能 缓存 Shell
[笔记]Windows核心编程《二十》DLL的高级操作技术(二)
[笔记]Windows核心编程《二十》DLL的高级操作技术(二)
151 0
|
1天前
|
API C++ Windows
windows编程入门_链接错误的配置
windows编程入门_链接错误的配置
7 0
|
2月前
|
Windows
火山中文编程 -- 第一个windows程序
火山中文编程 -- 第一个windows程序
12 0
|
2月前
|
编译器 API Windows
windows编程基础
windows编程基础
13 0
|
2月前
|
Windows
win32编程 -- windows绘图操作
win32编程 -- windows绘图操作
20 0
|
6月前
|
C++ Windows
[笔记]Windows核心编程《番外篇》几种常见的执行命令行方法
[笔记]Windows核心编程《番外篇》几种常见的执行命令行方法
|
3月前
|
网络协议 Linux C语言
005.在Windows下编程让效率起飞
windows开发Linux方式: 先用编辑器编写源代码 然后进入Linux 系统,使用gcc编译器(后面会讲),对源代码进行编译运行。 熟练后推荐使用VS2019 开发Linux C++ 程序 将自己的Ip地址设为静态IP
40 1
|
4月前
|
人工智能 机器人 C#
Windows编程课设(C#)——基于WPF和.net的即时通讯系统(仿微信)
一款参考QQ、微信的即时通讯软件。采用CS结构,客户端基于.Net与WPF开发,服务端使用Java开发。