Win32 SDK值得注意的地方

2024-01-19 12:32
文章标签 sdk 地方 win32 值得注意

本文主要是介绍Win32 SDK值得注意的地方,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

阅读了theForger's Win32 API的书摘,提取了一些我感觉我自己应该注意到的地方。之后我安排时间学习Charles PetzoldProgramming Windows 5th以及实践win32 SDK项目。在以上学习实践结束前本文会不定期的更新。

 

  • PostMessageSendMessage区别

 可以用PostMessage()或SendMessage()来发送消息.PostMessage()把消息放入消息队列再立即返回.就是说你调用了PostMessage()后消息可能被处理了,也可能还沒有被处理.SendMessage()则真接把消息送往窗口并且在窗口沒有结束处理消息之前不返回.

 

  • 窗口处理回调函数

通常上你不处理的消息就返回一个FALSE,处理的话就是TRUE,除非那个消息

指明了你要返回一个別的值.注意这就是我们在上面做的,默认的就是什么都不做并返回一个FALSE,而我们处理的消息就跳出switch()并返回TRUE.

 

 

 

  • WM_COMMAND参数组成

wParam有两个部分,HIWORD(wParam)中含有提示消息(如果有的话),LOWORD(wParam)含有发送消息的控件或菜单的标识号(注意消息占用两个字节,不超过2^16).lParam含有发送消息的控件的HWND(窗口的句柄)或者为NULL,当消息不是由控件发送.

 

 

  • 关于通用控件的重要说明

对于所有的通用控件,你要用它们之前都要调用InitCommonControls().还要#include<commctrl.h>以便使用函数与一些所必须的通用控件的申明与定义. 你还需要在链接设置中加上comctl32.lib,如果它不在那里的话.注意

InitCommonControls()是个旧API,为了使用更多的功能你可以使用InitCommonControlsEx()(就是InitCommonControlSex()), 在使用很多最近

才有的通用控件的时候,你也必须要用这个函数.

 

通用控件包括工具栏以及状态栏等,ListView,TreeView,Hotkey,Progress Bar,等控件也被规类为通用控件。而Button,Edit,ListBox等等控件毫无疑问也很通用,但不是”通用控件”,一般称为”标準控件”.

 

  • 如何销毁HDC(Handle to Device Context,设备上下文的句柄)

GetDC() -- ReleaseDC()

BeginPaint() -- EndPaint()

CreateCompatibleDC() -- DeleteDC()

 

 

 

未读部分

应用第二部分:使用文件与常用对话框

应用第四部分:多文档界面

文本与字体(读得不是很仔细,用的时候仔细看下)

 

这篇关于Win32 SDK值得注意的地方的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/622433

相关文章

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

Win32函数调用约定(Calling Convention)

平常我们在C#中使用DllImportAttribute引入函数时,不指明函数调用约定(CallingConvention)这个参数,也可以正常调用。如FindWindow函数 [DllImport("user32.dll", EntryPoint="FindWindow", SetLastError = true)]public static extern IntPtr FindWindow

二分猜数易错的地方

今天做简单的二分猜数问题,while循环总是跳不出去,搞了好久才弄好了。。。好几次都这样,总结一下吧 while(left <= right){int mid = (left+right)/2;if(ok(mid)) left = mid+1,ans = mid;//记录结果,要不然跳不出循环,视题目而定,ans也可以写在下面else right = mid-1;}

android sdk 设置

android sdk 设置 http://www.androiddevtools.cn/

unable to access android sdk add-on list解决办法

mac环境,由于不小心删掉了sdk文件夹的内容,拷贝别人的文件内容过来后,发现sdkmanager不见了。 慌乱中重装了Android Studio。 打开app后发现如下提示:unable to access android sdk add-on list 解决办法: 在 Android Studio 安装目录 bin/idea.properties 文件最后追加一句 disabl

兔子--SDK,ADT,AVD,IDE,ADB

a:SDK(Software Development Kit):开发android应用所需要的开发工具的集合,包括库文件及工具。 b:ADT(Android Developer Tools):在Eclipse下开发工具的升级下载工具。adt只是一个eclipse的插件,里面可以设置 sdk路径. c:IDE:集成开发环境。IDE通常包括编程语言编辑器、自动建立工具、通常还包括调试

集成电路学习:什么是SDK软件开发工具包

SDK:软件开发工具包         SDK,即Software Development Kit(软件开发工具包),是一套由软件提供商或其他组织提供的开发工具集合。这些工具旨在帮助开发者更快速、更便捷地创建、测试和部署软件应用程序。以下是对SDK的详细解释: 一、SDK的定义与组成         定义:SDK是一套包含编程工具、代码示例、技术说明文档、调试和测试工具等内容的软件包,有

ubuntu 编译android SDK错误处理

1.提示错误curses.h: No such file or directory 是因为没有安装ncurses sudo apt-get install libncurses5-dev 2./usr/bin/ld: cannot find -lncursesw collect2: ld returned 1 exit status make[1]: ***

.net 调用海康SDK实现NVR录像视频的下载

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,最近一直被测试拿捏,痛苦的挣扎中… 我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔 序言 上3篇海康SDK使用以及常见的坑受到了许多网友的喜爱,这也说明了在工控领域内,使用.net开发还是非常便捷省事

RP2040 C SDK clocks时钟源配置使用

RP2040 C SDK clocks时钟源配置使用 🌿RP2040时钟源API函数文档:https://www.raspberrypi.com/documentation/pico-sdk/hardware.html#group_hardware_clocks 🍁RP2040时钟树: 系统时钟源可以来自外部时钟输入(external clocks)、 晶体振荡器(XOS