首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
认识ATL窗口
】的更多相关文章
认识ATL窗口
这是一个相当于“Hello world!”的任务,作为认识ATL,考查了其运作流程与机制. 环境:VS2008 创建:新建-项目-Win32项目-添加公用头文件用于(选择ATL). PS:注意新建项目取消预编译头与设置自增链接为默认 需要用到的头文件: ,, OK,下面进行程序设计:(非完整代码,主要便于认识) Main函数: int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR l…
ATL窗口
标准的Windows应用程序框架: /*------------------------------------------------------------ HELLOWIN.C -- Displays "Hello, Windows 98!" in client area (c) Charles Petzold, 1998 ------------------------------------------------------------*/ #include <win…
ATL封装IE内核启示:使用Win32/ATL建立窗口
开发大型GUI界面程序MFC当仁不让,但如果是开发图形应用程序,并不需要大规模界面控件,没有必要链接庞大的MFC库,直接使用platform sdk会很麻烦,这时ATL中的关于Windows的封装就是最好的选择 ATL的窗口架构是这样的—— [两个底层封装类] CWindow 窗口句柄和API封装类 只封装了hWnd窗口句柄和与之有关的WinAPI,CWindow和hWnd可以方便地进行转换. CMessageMap 消息映射接口 该基类有一个待实现的函数ProcessWindowMessage…
使用Win32/ATL建立窗口的过程
有时候想写个几十kb的小程序,MFC实在是太大了,Win32有时又太麻烦,怎么办呢?用ATL写会更方便和轻量级一些 ATL和MFC不同的是,ATL并没有强制性封装WinMain函数,仅封装了WndProc,所以使用ATL写Windows程序有很高的自由度 ATL的窗口架构是这样的—— [两个底层封装类] CWindow 窗口句柄和API封装类 只封装了hWnd窗口句柄和与之有关的WinAPI,CWindow和hWnd可以方便地进行转换. CMessageMap 消息映射接口 该基类有一个待实现的…
关于Windows窗口框架
我们知道Windows的窗口消息处理函数是C方式, 面向过程的, 所以窗口框架的基本任务就是将它转成面向对象的方式, 确切的说如何将消息处理函数第一参数HWND转成对象指针. 关于这个问题, 其实网上大家已经说滥了, 这里只是简单记录一下. Map方式:MFC就是采用这种方式, 就是建立一张从HWND到CWindow*的映射表, 每次收到消息都从Map中根据HWND找到CWindow*, 再进行调用 UserData的方式:CreateWindow时将最后一个附加数据设置为对象CWindow*…
STL,ATL,WTL之间的联系和区别
STL即 Standard Template Library (标准模板库) STL是惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R Musser在惠普实验室工作时所开发出来的.现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间. STL的代码从广义上讲分为三类:algorithm(算法).container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方…
STL,ATL,WTL的联系与区别
STL 即 Standard Template Library STL(标准模板库)是惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R Musser在惠普实验室工作时所开发出来的.现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间. STL的代码从广义上讲分为三类:algorithm(算法).container(容器)和iterator(迭…
ATL的GUI程序设计(4)
第四章 对话框和控件 对于Win32 GUI的程序设计来说,其实大部分的情况下我们都不需要自己进行窗口类的设计,而是可以使用Win32中与用户交互的标准方式--对话框(Dialog Box).我们可以在VC IDE的资源设计器中设计对话框资源,并在其上放置各种控件资源--的确是非常方便.在本章里,李马将要向诸位介绍如何利用ATL来操作对话框,以及如何操作对话框上的各种控件. 题外话先 ATL,是的,正是由于我所讲的是"ATL的GUI程序设计",所以我才可能将内容直接经由CWindowI…
ATL的GUI程序设计(3)
第三章 ATL的窗口类 CWindowImpl.CWindow.CWinTraits,ATL窗口类的奥秘尽在此三者之中.在本章里,李马将为你详细解说它们的使用方法.另外,本章的内容也可以算是本书的核心部分--如果你要进行ATL的GUI程序设计的话,就必须将ATL的窗口类设计理念了然于心. 窗口的组成 把ATL的窗口类撇开不谈先.我在上一章中提到:窗口类并非任何一种OOP语言中的类--它所包括的并不是通称的属性和方法(在C++中称作成员变量和成员函数),而是属性和响应.现在是解释这句话的时候了.…
HOOK自绘原理 good
做“HOOK文件打开/保存对话框”的过程中,我首先研究了界面库的相关知识.界面库一般都是由C/C++这种中低级语言编码,这是因为在Windows下的界面库实现技术大都以直接操作控制Windows的消息和调用Windows的API为主,这就是这种中低级语言的优势了.无论何种界面库,最为根本的原理就是获得或者截获窗口的某些消息,按照自己的需要处理这些消息,画出自己需要的界面. 按照Windows下的界面库的使用方法来分类,可以分为两种: 1. 通过派生.继承界面库中的类来使用库.这类界面库现在是占绝…