转载:atl组件和控件编程 wtl,atl

从零开始的WTL入门教程(1) WTL的简介,环境搭建 图文手把手教学系列 阅读详情

COM&&ATL

COM空间

  优快云 |  社区 |  技术中心 |  BLOG首页 |  我的首页 |  个人档案 |  联系作者 |  聚合  |   |  搜索 |  登录
  40篇原创: 0篇翻译: 12篇转载: 13737次点击: 24个评论: 0个Trackbacks
作者tag: atl组件和控件编程  wtl,atl 优快云 推荐tag: .net  c++  vc++  visual c++  win32  win32 api  wtl  atl  模板  安装 

WTL开发者指南

注:本文是袁晓辉根据Eamon O’ Tuathail的WTL Developer’s Guide(www.clipcode.biz ) 翻译而来,发布在www.farproc.com 和 blog.youkuaiyun.com。作者翻译本文仅仅是为自己和其他WTL爱好者学习之用,请勿用于商业用途。你可以转载本文,但必须保证本文的完整性,并保留该声明!

 

第1章 WTL概述

目标

该章的目标为:

Ÿ       WTL在整个VC++开发中所处的位置

Ÿ       WTL的目标

Ÿ       WTL和其他用户界面(UI)开发技术的对比

Ÿ       介绍WTL的安装

Ÿ       介绍WTL安装了什么

Ÿ       列举可用的开发资源

Ÿ       对后面各章的介绍

 

概述

以前Visual C++开发者往往选择MFC,因为它提供的功能涵盖了非常广的编程技术领域而模板库所涉及的领域相对狭窄。

最近模板库涉足的领域和质量都有很大发展,因而越来越多的人选择了模板库。

ATL设计的目标是提供快速紧凑的COM组件,ISO C++的STL提供集合(collections),VC++ OLE DB Data Consumer and Provider模板提供数据库支持。与之相对应,MFC提供了一个C++类库,这个类库包含对COM创建、集合类(collection class)、数据库和用户界面的普遍支持。

大部分的高级开发人员更喜欢较新的模板开发方式。MFC很庞大、臃肿、对线程不友好,并且,基本上已经过时了!模板的方法既快速(当正确设计时)、有弹性而且涵盖了所有最新的技术,拿来应对新的开发需要是再好不过的了。

到目前为止,让模板狂热分子头疼的主要问题在于如何创建图形用户界面(GUI)。ATL确实提供了一个轻量级的Win32/64 windowing 包装类,但是它并没有涵盖所有的UI需求。ATL开发者为了琐碎的用户界面处理不得不重操MFC UI编程或者用VB给自己的ATL COM做前端,这两种方法都不能完全令人满意。

进入正题,开始说窗口模板库(Windows Template Library)。WTL是一个居于Win32/64 API之上的一个包装类和方便易用的增强模板的高级集合,它对图形用户界面提供了广泛的支持。WTL不但保持着模板库的真正血统,小巧,快速,不具侵入性而且包括了最新的UI理念,非常好地支持多线程。你可以单独使用WTL或和ATL、STL、VC++ Data Templates、第三方类库,以及你自己的类库一起使用以便利用他们各自的优点。WTL通常不依赖外部的DLLs,如果你用WTL开发程序的话,你提供给最终用户的可以只有一个EXE文件。

 

WTL的目标

WTL之于用户界面就像ATL之于COM、STL之于collection。和它的堂兄一样,WTL需要一段时间来学习,但是一旦掌握了,就没有比它更好的开发高级程序的途径了。从本质上说,WTL完成了三个重大任务:

    提供了一个应用程序框架(framwork)

    集合了UI功能

    包装了windows控件、系统对话框和GDI对象

让我们逐个来看。

 

提供了一个应用程序框架

 

WTL提供了一个轻量级的广泛的应用程序框架,这个框架为基于它的程序提供了非常有价值的工具。它的目标既不是像MFC框架那样难以理解也不像手工写WinMain那样原始。

WTL包含了一系列的C++模板和一个WTL AppWizard,AppWizard向程序开发者提出几个问题,然后据此生产VC++工程和程序源代码,源代码里多数是WTL模板类的实例或继承类。一般来说,开发者仅仅需要改变AppWizard生产的代码,而那些很少需要改动的“样板”式的代码都被WTL模板封装了。

WTL中有一个管理整个模块(一个DLL或EXE)的类,这个类在AppWizard生成的代码中实例化,在自动生成的WinMain中被初始化和终结。一个WTL程序也可以作为COM server,支持可编程的应用程序。WTL提供了消息处理机制,支持消息过滤和空闲(on-idle)功能,WM_SETTINGCHANGE引发的改变通知也可以被截获。

MFC提供了一个“文档-框架-视图”结构,WTL也提供框架(比如一个包括菜单条、工具条和状态条的顶层窗口)和视图,但是根本不支持文档。MFC的那套方法往往妨碍高级的开发者,它的文档是基于二进制数据的序列化(serialize),在当今互联网的世界里,基于XML/XSL的文档格式越来越流行,对于弹性化存储机制的需求也越来越多(可能根本就不是存储在本地磁盘上的),文档可能需要运用大量的远程机制,比如WebDAV,FTP等,进行存储。WTL没有提供任何关于数据或存储格式的功能和机制,程序开发者可以自己编写代码,比如利用高效的Win32 API WriteFileGather/ReadFileScatter或XML解析器来根据需要做这些工作。

WTL支持基于对话框的程序,单文档界面(SDI)和多文档界面(MDI)。对于SDI它同样支持多线程SDI,每个SDI窗口一个线程,多数高级的应用程序很有可能用到这种构架(比如,模仿Word2000的方法)。WTL不支持多线程MDI构架,即不支持一个MID子窗口一个线程,但这是可以理解的,比如这样可以避免线程和MDI父子窗口之间交互的许多问题。

 

集合了UI功能

WTL提供了一组实现现代的用户界面所必不可少的特性。

WTL提供了一个框架窗口用于管理一个包含了命令条(增强的菜单条)、工具条的rebar,一个状态条,一个或多个视图(views)。视图可以基于一个普通的空窗口RechEidt,ListView,TreeView之类的控件。如果使用了多个视图,WTL的分割功能就派上用场了,视图也支持滚动,状态条可以是一个pane或多个panes。

WTL也支持传统的菜单条和工具条,但是它的主菜单表现概念是基于命令条的。一个命令条可以容纳菜单和工具条图标,可以放在一个rebar里显示并四处移动。如果一个菜单项目和一个工具条按钮拥有同样的命令ID的话,菜单项目旁边会自动显示对应的图标。WTL支持可停泊或浮动的命令条,WTL的命令条和Internet Explorer中的很像但和Word2000或Visual Studio的(更令人向往)不一样,WTL不支持可以隐藏不常用的项目的菜单(比如Word2000的)。动态数据交换的概念允许数据在可见的UI控件和C++数据成员之间双向传递,和MFC的DDX很相近。可以用ATL生成对话框,包括那些支持ActiveX控件和窗口容器,利用Visual C++的Resource View可以用来在对话框资源上布局标准控件、通用控件和ActiveX控件,利用ATL Window Message Handler Wizard来映射这些控件的消息。

WTL提供了用来管理属性薄、属性页创建和向导创建的模板创建。

打印机设备场景、打印预览、devmode处理和打印作业管理功能可以用来实现文档打印。

使用特殊的设备场景、文件管理器和增强metafile信息类可以支持增强的metafile。

 

包装了windows控件、系统对话框和GDI对象

ATL提供了对普通窗口的控制但是没有提供对基于不同窗口类的窗口的特殊支持,开发者不得不根据需要手工编写SnedMessage调用。对于和Edit或TreeView的通讯他们不得不使用ATL的CWindow并且调用Win32的SendMessage以EM_LIMITTEXT或VM_SETITEM还得担心消息的参数是否正确(SendMessage没有类型检查,全部为WPARAM,LPARAM)。当程序接收到它们时也是“裸数据”- wParam和lParam被送到了消息队列,必须通过代码来转换数据为合适的类型,这时还得保证转换对于每个消息是正确的

一些ATL开发者都使用从ATLCON例程中提取出的代码,这些代码提供了对Windows UI 元素的一些封装封装。WTL现在以及进化出了一整套的广泛的封装类,这些类实现了对所有标准和通用窗口控件、系统对话框和所有GDI对象以及其他的封装。WTL中无论是对edit,button,listbox,treeview,listview等还是对通用文件对话框、颜色对话框、字体对话框等还是对DC,pen,brush,region,font等都有对应的包装类。

另外,WTL还提供了一整套的message crackers,进入窗口的消息被映射到指定的处理函数。使用ATL时,消息处理函数收到的是lParam和wParam,而使用WTL的message cracker,消息处理函数的参数都是具体消息的具体类型。比如:WM_LBUTTONDOWN消息有一个CPoint类型的参数(CPoint是WTL对Win32 POINT结构的包装-WTL包装了每一个通用的结构)。注意,ATL Windows Message Handler Wizard 使用ATL的原始消息映射,非WTL的message crackers,VC++下一版可能对向导支持会好一些。

许多的开发者选择MFC仅仅是为了使用CString,WTL自己也提供了对CString的实现,并且是几乎和MFC一样的实现。WTL的CString支持ASCII,MBCS,UNICODE和自动化的BSTR,支持这些类型间的相互转换,支持字符串连接、截断、和比较,支持printf一样的格式化处理,支持弹性的内存管理。

 

WTL,ATL和Win32/64 API之间的关系

WTL是基于ATL和Win32、64API的,ATL是基于Win32/64 API的,当谈到它们之间的关系时,我们应该从源代码和二进制两个视角来讨论。

源代码

Win32/64 API是成千上百的C函数的集合,涵盖了相当大的范围,包括我们感兴趣的COM和windowing。

ATL是C++模板的集合,几乎就是为COM编程量身定做的,但是也包括广泛的底层windowing功能的支持。

WTL是C++模板的集合,它的关注点在高层的windowing功能,WTL不依赖于COM,但是可以和COM一起使用。只要你不在WTL中选择支持“Com Server”,CoInitialize就不会被调用。

WTL使用ATL的windowing服务,所以要使用WTL,你必须访问ATL模板。

ATL调用Win32/64 API,WTL调用ATL模板和Win32/64 API,你的程序代码调用WTL,ATL和Win32/64 API。

当你运行了WTL AppWizard,他给你生成一些源文件,这些源文件将成为你程序代码的一部分,这些生成的代码调用WTL,构建程序框架。

WTL支持Windows 2000,Windows Me,Windows NT4,Windows 98,Windows95, OSR 2和“经典”windows 95,WTL并不是只支持它们 “最小公分母”,而是提供#define(比如 _RICHEDIT_VER, _WIN32_IE, _WIN32_WINNT and WINVER)来决定使用那些Win32/64的特性。WTL不会自动判别被安装到的操作系统的版本或IE的版本(比如,它不使用LoadLibrary /GetProceAddress 或GetVersionEx APIs来判别)。程序开发者必须指定#define宏,而且在编译期间已经假定程序在正确版本的客户机上可以正常运行,否则不能。

 

举个例子,菜单中的“>>”符号(v型符号),当一个命令条因为窗口大小改变而被截短时如果不使用v型符号,超出窗口边界的那部分命令条就别直接“剪掉”了。

V型符号是一个包含两个大于号的标志,当被按下时,就弹出一个菜单菜单上包含由于窗口大小改变而被从命令条尾部截去的那些项目。如果包含了IE5,v型符号就被支持,反之不支持。

在WTL程序中,如果_WIN32_IE 别定义为0x0500或更高(比如,在stdafxh里)那么v型符号在必要时就会显示。

 

二进制

ATL和WTL是作为一组包含C++模板的头文件的形式发布的。ATL中有少数的类可以作为一个独立的DLL来使用,但是多数的程序员也把它们的源代码包含到自己的工程里面去,对于WTL程序来说,这也是被推荐的。WTL没有可以作为独立的DLL的东西,所以WTL的C++类(并非全部)将被包含进每个程序。当你编译WTL程序,你最终会得到一个EXE或DLL,这就是你唯一需要交付最终用户的程序,不依赖外部库,当然除去操作系统自带的DLL,比如kernel32.dll,但是这些库基本上都存在(如果不存在,windows本身也许就无法正常工作了)。一个例外:如果你需要使用浮点数,你不得不使用C语言运行库(CRT)。

 

WTL-ATL,MFC,VB,Java,DHTML等的抉择

……(省略废话数百字)

 

为什么选择WTL?

WTL不像MFC那样笨重,最终的应用程序也比较小巧。对于高级程序,WTL给你使用API的机会,但是比纯粹的API编程节省时间。

Win32 API可以直接使用,但是有时候它们看起来相当独立,很难决定如何将它们结合起来使用。

WTL提供了更多的可以完成同样操作的功能。

由于被调用的方法是在编译期而不是运行期决定的,这就是它在效率和代码规模方面占有优势,模板库正在变得越来越流行。

 

安装WTL

WTL的发展很快,它的发行机制也在时常变化。

未来的发行模式

很可能下一版VC++发布时将会整合进WTL,因此,它可能会和ATL,STL,Data Templates一起自动安装。

现在的安装机制

当前,WTL是作为Microsoft Platform SDK (January 2000 或更高)的一部分发布的,需要手动分三步安装,未来可能会自动完成。

第一步-取得文件

可以从MSDN光盘的第三张或http://msdn.microsoft.com得到安装文件。你可以选择全部安装这个SDK或仅仅安装包含Windows Template Library的部分。(译者注:你也以在www.farproc.com下载WTL7.1安装包)

 

注意:WTL7.1安装的后面步骤与作者原文有出入,所以下面关于安装的就没有安装原文翻译

 

第二步-WTL Appwizard

安装后打开WTL的安装目录(比如c:/Program Files/Microsoft Platform SDK)进入对应的AppWizXX目录,其中XX为你的VC的版本号,比如你用的是VC6.0的话就进入AppWiz60,你会看到一个setup.js文件,点击运行它就可以为你自动安装WTL的AppWizard了。如果你无法运行这个文件或想手工安装,就复制这个目录下的AtlApp60.awx到“……/Microsoft Visual Studio/Common/MSDev98/Template”目录下也可以的。

然后打开vc,在new对话框中就可以看到“ATL/WTL AppWizard”选项了。

 

 

第三步-更新路径

第三步是设置路径以便让编译器找到WTL头文件。WTL是一个包含C++头文件(没有.cpp文件)的模板库,当编译时,编译器需要找到这些文件,这些文件在WTL安装目录/Src/WTL/include下,你可以在你的源文件里包含这个全路径(不推荐,但也可以),或把这个路径添加到VC的“Include Files”里,如下图

 

WTL安装了什么

WTL安装后,会有一个或若干个AppWizXX目录,这是WTL AppWizard文件的所在地;一个Include目录为WTL的头文件(也就是源文件)所在;还有一个samples,一些WTL程序的例子。

                                                       <待续>

接下篇:http://blog.youkuaiyun.com/uoyevoli/archive/2005/05/30/384357.aspx



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=381808

 

Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1542424


[ 收藏到我的网摘]   星发表于 2007年03月27日 10:12:00

相关文章:




没有评论。

发表评论

 
大名:
网址:
评论 
   
width="0" scrolling="no" height="0" frameborder="no" src="http://www.youkuaiyun.com/ggmm/dd333.htm" border="0" name="myframe" id="myframe">
 
WTL界面介绍 前 言 WTL 全称是 Windows Template Library,像 MFC 一样使用 C++ 的面向对象技术对 Win32 接口进行了封装,使之便于开发 Windows 程序。相对于 MFC 这个庞然大物,WTL 保持了小而美,只包含了界面开发相关的特性。 如果想在vs 2019 上安装wtl ,可以使用看如下文章: https://www.cnblogs.com/Lzl678/p/10771668.html WTL概述 WTL 是Windows Template Library 的缩写。最初,W 阅读详情

相关推荐

WTL 操作ListView 示例程序

WTL 操作List View 示例程序

使用WTL进行Windows桌面应用开发-第一部

基于Windows平台的ATL/WTL桌面应用程序开发.使用C/C++作为开发语言, 开发Windows本地桌面程序.WTL界面库是MFC的替代选择, 是Win32界面编程的薄封装,可以说学会WTL开发即学会了Win32界面开发。适合中小型公司开发基于C/C++语言的客户端项目, 因为WTL可以进行快速开发,不需要其他语言.由浅入深介绍WTL桌面开发涉及到的原理和技术, 从简单界面到自定义界面,自定义按钮表格都有介绍。在绘制窗口元素如文本,图形介绍了GDI和GDI+的常用的开发技巧。介绍了项目开发中遇到的一些细节问题.WTL配置少, 只有头文件,不需要编译为库, 性能高,不依赖第三方库,文件小, 运行快,调试方便, 升级方便。

114页的WTL指南和WTL7.1

114页的MFC程序员的WTL开发指南(word)和WTL7.1.exe

[翻译]WTL开发者指南 第1章 WTL概述

WTL开发者指南注:本文是袁晓辉根据Eamon O’ Tuathail的WTL Developer’s Guide(www.clipcode.biz ) 翻译而来,发布在www.farproc.com 和 blog.youkuaiyun.com。作者翻译本文仅仅是为自己和其他WTL爱好者学习之用,请勿用于商业用途。你可以转载本文,但必须保证本文的完整性,并保留该声明! 第1章 WTL概述目标该章的目标为:Ÿ 

farproc's blog 7231

深入剖析WTL

此文件深入讲解了wtl的有关知识,及其开发。希望对大家有帮助。

ATL与WTL精品学习资料.rar

ATL与WTL精品学习资料.rar

WTL介绍

WTL介绍

ytffhew的博客 4443

WTL doc

很不错的关于WTL开发的文档

ATL和WTL中的消息反射

转载地址:  http://www.cppblog.com/qinqing1984/archive/2010/06/14/117872.html WTL是窗口模板库(Windows Library Template)的简称,是一套轻量级C++ GUI库,因为它使用了C++模板封装了窗口界面操作API和消息映射处理,它扩展了ATL中的UI窗口部分,并支持如下更多的功能特性:     (1) 

szq2k08的专栏 1147

避坑指南:英飞凌TC3XX的MCMCAN初始化常见错误及解决方法

本文针对英飞凌TC3XX系列MCU的MCMCAN模块初始化难题,深入剖析了寄存器配置时序、总线监控模式误用、中断映射错误及Message RAM地址冲突四大常见陷阱。通过实战代码示例和诊断流程,提供了清晰的避坑指南和解决方案,帮助嵌入式开发者高效解决CAN FD通信故障,确保汽车电子与工业控制项目的稳定运行。

weixin_29193259的博客 246

Unity开发HoloLens应用:从打包到部署的完整指南

本文为Unity开发者提供了将应用部署到HoloLens设备的完整实战指南。详细讲解了从环境准备、Unity项目配置、生成Visual Studio工程,到最终构建APPX安装包并通过设备门户或Visual Studio进行部署的全流程,帮助开发者高效完成混合现实应用的打包与安装。

red88的博客 1019

wtl单文档选项_[翻译]WTL开发者指南 第1章 WTL概述

WTL开发者指南注:本文是袁晓辉根据Eamon O’ Tuathail的WTL Developer’s Guide(www.clipcode.biz )翻译而来,发布在www.farproc.com 和 blog.youkuaiyun.com。作者翻译本文仅仅是为自己和其他WTL爱好者学习之用,请勿用于商业用途。你可以转载本文,但必须保证本文的完整性,并保留该声明!第1章WTL概述目标该章的目标为:ŸWTL在...

weixin_39714015的博客 386

避坑指南:Qt无边框窗口拖动+阴影效果这些细节要注意

本文深入探讨了Qt无边框窗口开发中实现流畅拖动与阴影效果的关键细节与常见陷阱。针对高DPI屏幕适配、阴影闪烁、拖动卡顿及多显示器兼容性等核心难题,提供了从QGraphicsDropShadowEffect原理剖析到手动绘制优化、坐标系统精准处理及平台原生事件拦截的实战解决方案,帮助开发者构建稳定、美观的商业级应用界面。

weixin_27943395的博客 479

(好贴转载)MFC程序员的WTL开发指南---ATL界面类(1)

导读    WTL 具有两面性,确实是这样的。它没有MFC的界面(GUI)类库那样功能强大,但是能够生成很小的可执行文件。如果你象我一样使用MFC进行界面编程,你会觉得MFC提供的界面控件封装使用起来非常舒服,更不用说MFC内置的消息处理机制。当然,如果你也象我一样不希望自己的程序仅仅因为使用了MFC的框架就增加几百K的大小的话,WTL就是你的选择。当然,我们还要克服一些障碍:   1

nostopstep的专栏 2631

飞书日历同步Outlook翻车?我踩过的坑和最终用Google Calendar成功的完整配置记录

本文详细记录了从Outlook日历同步到飞书时遇到的常见问题及解决方案,特别是通过Google Calendar实现稳定同步的完整配置流程。文章揭示了Outlook同步方案易翻车的原因,并提供了Google Calendar的避坑指南、高级技巧和企业级部署建议,帮助用户高效实现日历同步。

weixin_33724046的博客 314

Python爬虫实战:高德地图POI信息爬取(餐馆/加油站等),附选址分析技巧

高德API配置AMAP_KEY = "你的高德API Key" # 替换成自己的Key# 爬取参数CITY = "成都" # 城市DISTRICTS = ["锦江区"] # 区域,可添加多个(比如["锦江区", "武侯区"])KEYWORDS_LIST = ["川菜馆", "加油站"] # 要爬取的POI类型TYPES = {"川菜馆": "050101", # 餐饮服务→中餐→川菜馆(高德POI分类编码)"加油站": "110100" # 交通设施→加油站。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2472

WTL 学习

转载自:http://blog.youkuaiyun.com/hsyouxishe/archive/2007/12/26/1968475.aspxWTL 新参考:http://www.cnblogs.com/procoder/archive/2009/06/03/1495002.htmlWTL 参考:http://dev.youkuaiyun.com/develop/article/74/74004.shtmhttp://www.cnblogs.com/kylindai/archive/2007/11/28/974797.html

kinghzking的专栏 2056

杰理SDK入门教程(一):SDK的四种编译方式的使用

杰理SDK提供了四种主要编译方式:1) JL Studio官方IDE,适合初学者;2) VS Code轻量级编辑器,需在SDK根目录打开;3) 命令行/脚本编译,灵活支持自动化;4) Code::Blocks开源IDE。每种方式都有详细操作指南,开发者可根据需求选择,初学者推荐从JL Studio开始熟悉编译流程。环境配置注意事项和编译成功标识均有明确说明,确保开发效率。

qq_42014563的博客 1153

[翻译]WTL开发者指南 第1章 WTL概述

WTL开发者指南注:本文是袁晓辉根据Eamon O’ Tuathail的WTL Developer’s Guide(www.clipcode.biz ) 翻译而来,发布在www.farproc.com。作者翻译本文仅仅是为自己和其他WTL爱好者学习之用,请勿用于商业用途。你可以转载本文,但必须保证本文的完整性,并保留该声明! 第1章 WTL概述目标该章的目标为:Ÿ     

wiki_ld的专栏 3351

Matplotlib之bar3d画3D柱状图

3D柱状图通常用于展示数据集中不同分类项的数据大小或数量。与普通的柱状图相比,3D柱状图更适合展示数据的三个维度 3D 柱状图 按行/列涂颜色 柱加阴影、描黑边 自定义座标轴名、刻度标签、范围

我走的每一步都算数 1123

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

(转)WTL开发者指南(WTL Developer’s Guide翻译)

WTL开发者指南 注:本文是袁晓辉根据Eamon O’ Tuathail的WTL Developer’s Guide(www.clipcode.biz ) 翻译而来,发布在www.farproc.com 和 blog.youkuaiyun.com。作者翻译本文仅仅是为自己和其他WTL爱好者学习之

wangweixing2000 3591

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

WTL开发者指南 第1章 WTL概述

WTL开发者指南 第1章 WTL概述       WTL开发者指南注:本文是袁晓辉根据Eamon O’ Tuathail的WTL Developer’s Guide(www.clipcode.biz ) 翻译而来,发布在www.farproc.com 和 blog.youkuaiyun.com。作者翻译本文仅仅是为自己和其他WTL爱好者学习之用,请勿用于商业用途。你可以转载本文,但必须保证本文的完

1303

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ATL基础

ATL: Active Template Library(活动模板库)   一种开发框架,通过它可以快速建立基于COM的组件 基本特征:   1.对低级别COM功能的内置式支持:IUnknown, 类工厂, self-registration   2.支持IDL(interface definition language)   3.对自定义Vtable接口的调度支持(marshal...

weixin_34007879的博客 126

php webbrowser控件,WTL 通过IWebBrowser2接口使WebBrowser控件在自己的窗口打开网页

遇到的问题是这样的, 在WTL中我用了一个WebBrowser控件来显示网页,但是在点击网页中的链接的时候经常跳到其他浏览器上去打开这个链接。我希望的是总是在我的这个控件上显示网页, 不要跳到其他浏览器上去打开。 1.添加IWebBrowser2控件 在创建的时候Select遇到的问题是这样的, 在WTL中我用了一个WebBrowser控件来显示网页,但是在点击网页中的链接的时候经常跳到其他浏览器...

weixin_32445895的博客 308
上一篇: 转载:ini配置文件的代码实现
下一篇: 转载:char* string CString比较总结
prophet08
博客等级 码龄20年 2粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值