优秀的SDK学习资料_sdk接入看什么书-程序员宅基地

技术标签: 语言  c  VC++经验总结  编程  api  windows  class  

   进来学习SDK编程,感觉好多东西不够系统。网上找到的很好的资料。

   (1):http://blog.csdn.net/beyondcode,API入门系列总结的相当不错。

   (2)劝学网小雅整理的SDK编程http://www.quanxue.cn/JC_CLanguage/SdkIndex.html

   (3)《Windows程序设计》Charles Petzold写的,堪称是地球上最有名的windows程序设计书;

   (4)http://www.functionx.com/win32/Lesson01.htm,超详细的一份学习教程;

   (5)《windows程序设计教程》杨祥金等编著,这本书其实是总结了《Windows程序设计》,不过还可以。

   (6)如鹏网计算机也能做大事http://www.rupeng.com/forum/forum-33-1.html

 

 

 

一个相关问题的解释:

 1.RegisterClass函数的作用是通知系统,你要定义一个新的窗体类型,然后把这个类型记录到系统里面,以后你就可以使用CreateWindow来创建一个基于此类型的窗体。基于此类型的窗体都具有相同的属性,比如,背景色,光标,图标等等
对于对话框而言,系统已经注册了对话框自己的类型,因此你无需调用RegisterClass就可以使用DialogBox显示模态对话框,使用CreateDialog创建非模态对话框
对于控件而言,系统已经注册了对话框自己的类型,因此你也无需调用RegisterClass就可以使用CreateWindow来创建控件,而CreateWindow中的第一个参数,正是RegisterClass函数使用的WNDCLASS结构中的成员lpszClassName。
控件与对话框的区别在于,对话框的窗体过程由调用程序提供,而控件的窗体过程是定义在系统中的,你必须对窗体进行子类化,才能定制控件的处理消息逻辑。
2.说白了,早在C语言的Window编程时代,就已经支持了继承,这为以后的C++语言的实现奠定了基础。RegisterClass函数的作用是定义一个窗体类,相对于C++中的class概念,而CreateWindow这个函数是定义基于这个类型的对象,相对于C++中的对象概念。
3.当你使用CreateWindow函数时,如果指定了WS_VISIBLE标志,那么就无需调用ShowWindow函数就可以显示窗体,否则,你就必须使用ShowWindow函数。UpdateWindow函数的作用是发送一条WM_PAINT消息给窗体过程,让窗体在创建完之后,立刻进行绘制。如果没有UpdateWindow函数,那么只有当窗体创建完之后, 它的可视区域发生变化了,才会响应WM_PAINT.

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liquanhai/article/details/4954912

智能推荐

python基础IDE之Pycharm_pycharm ide 格式-程序员宅基地

文章浏览阅读411次。1. Python Pycharm 下载/安装官方网址:https://www.jetbrains.com/pycharm/download/#section=windows安装:下载保存文件,运行,下一步,下一步2. 新建工程3. 新建并运行python文件4. IDE配置-窗口主题>>> 进入 file > Settin..._pycharm ide 格式

微信开发“TOKEN验证失败”根源和解决方法_微信开发者token验证失败-程序员宅基地

文章浏览阅读3.3w次,点赞5次,收藏9次。引子微信公众号开启开发者模式时,需要配置“服务器配置”,但在配置这个东西时有很多坑需要注意。网上解决的问题这里就不再赘述,下面说的是我碰到的问题,同时也叙述了“TOKEN验证失败”的根源问题。背景 之前,我的公众号一直正常工作,但由于需要更换服务器,就把网站做了迁移,数据也迁移的,但是在修改服务器配置时,始终提示“TOKEN验证失败”。 于是艰难的排查之路开始了。 我的后台是PHP的,于是我在入口..._微信开发者token验证失败

【Android功能测试 如何定位bug】_自己写的安卓软件出bug怎么知道-程序员宅基地

文章浏览阅读1.1k次。话不多说,直接上定位1.4XX 客户端问题, 比如发生了401,那么要看下是否带了正确的身份验证信息;发生了403则要看下是否 有权限访问;404则要看下对应的URL是否真实存在;真实场景(直接提bug给前端开发,管他4几几,哈哈)​ 2.5xx服务端出现问题(配合服务器log进行定位,发生了502错误则可能是服务器挂了导致的问题、发生503 错误可能是由于网络过载导致的问题、发生504错误则可能是程序执行时间过长导致超时);真实场景(直接提bug给后端开发,管他5几几,哈哈)3.android功能测_自己写的安卓软件出bug怎么知道

python 中 冒泡排序 等while、for循环的总结_利用一个for和一个while实现排序-程序员宅基地

文章浏览阅读1.2k次。一、冒泡排序的案例二、字符串遍历案例三、for 循环计算1~100的和四、for 循环计算1~100的偶数和六、for循环打印矩形七、for循环输入数据打印矩形八、for循环打印三角形九、for循环打印九九乘法表十、键盘录入年龄案例十一、continue 循环案例..._利用一个for和一个while实现排序

BI的体系架构及相关技术_bi架构-程序员宅基地

文章浏览阅读3.1k次。一个BI系统为了满足企业管理者的要求,从浩如烟海的资料中找出其关心的数据,必须要做到以下几步:1)为了整合各种格式的数据,清除原有数据中的错误记录——数据预处理的要求。2)对预处理过数据,应该统一集中起来——元数据(Meta Data)、数据仓库(Data Warehouse)的要求;3)最后,对于集中起来的庞大的数据集,还应进行相应的专业统计,从中发掘出对企业决策有价值的新的机会——..._bi架构

Tensorflow Serving部署推荐模型_tfserving 输出key怎么制定-程序员宅基地

文章浏览阅读1k次。Tensorflow Serving部署推荐模型1、找到当前模型中定义的variables,并在此定义一个saver用于保存模型参数def saveVariables(self): variables_dict = {} variables_dict[self.user_embedding.op.name] = self.user_embedding variables_dict[self.item_embedding.op.name] = self.item_embedding_tfserving 输出key怎么制定

随便推点

18.图像处理之线性滤波(空间域/高低频/方框/均值/高斯) --- OpenCV从零开始到图像(人脸 + 物体)识别系列_高斯平滑模板频域分析-程序员宅基地

文章浏览阅读1.1k次。18.图像处理之线性滤波(空间域/高低频/方框/均值/高斯) — OpenCV从零开始到图像(人脸 + 物体)识别系列本文作者:小嗷 微信公众号:aoxiaoji吹比QQ群:736854977简书链接:https://www.jianshu.com/u/45da1fbce7d0 平滑处理也称模糊处理,最常见的是用来减少图像上的噪点或者失真。在涉及到降低图像分..._高斯平滑模板频域分析

YOLOv1详解_yolov1论文下载-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏5次。YOLO(You only look once)你只需要看一次,提出了一种新的one stage类型的检测器,正如名字所说的那样,一步到位,直接预测出目标类别和位置。不同于之前的检测器,YOLO将目标检测视作回归问题,整个检测网络是单一的神经网络,输入是图像,输出直接给出目标类别和位置,不需要给出目标的区域建议再进行复杂的后处理。......_yolov1论文下载

6大人工智能应用关键技术,终于有人讲明白了-程序员宅基地

文章浏览阅读8.5k次,点赞3次,收藏39次。导读:我国《人工智能标准化白皮书(2018年)》中也给出了人工智能的定义:“人工智能是利用数字计算机或者由数字计算机控制的机器,模拟、延伸和扩展人类的智能,感知环境、获取知识并使用知识获..._人工智能ai关键技术

js实现下载excel_exceljs.workbook()-程序员宅基地

文章浏览阅读6.3k次,点赞2次,收藏7次。excel是常见的表格处理工具,那么前端怎么实现excel生成与下载呢?我们利用xlsx.js来实现一. 安装js-xlsxnpm install xlsx二. 文档简介完成的XLSX对象:需要理解的术语:1 workbook是xlsx读取excel内容后的js对象,读取到内容后可以对表格进行操作;同样的也可以创建一个空的workbook,往其中写入内容完整的workbook对象..._exceljs.workbook()

php 启动workman,workerman如何启动-程序员宅基地

文章浏览阅读1.5k次。Workerman启动停止等命令都是在命令行中完成的。要启动Workerman,首先需要有一个启动入口文件,里面定义了服务监听的端口及协议。Workerman启动的方法:以debug(调试)方式启动php start.php start以daemon(守护进程)方式启动php start.php start -ddebug和daemon方式区别:1、以debug方式启动,代码中echo、var_d..._workman 启动

wperl与perl-程序员宅基地

文章浏览阅读174次。以前在xp下,可以用wperl运行"*.pl"的文件,而不现实一个dos窗口,但在vista中不行了,需要更改文件的扩展名为"wpl",才能通过wperl运行,否则只能以perl运行。[@more@]以前在xp下,可以用wper..._wperl是什么文件

推荐文章

热门文章

相关标签