社区
ATL
帖子详情
用ATL做控件,怎么得到控件容器的RECT?
知行职场-雷曼
2001-03-30 08:03:00
我用ATL做了一个控件.
RECT rect;
this->GetWindowRect(&rect);
总是出错,应该如何解决?
...全文
96
7
打赏
收藏
用ATL做控件,怎么得到控件容器的RECT?
我用ATL做了一个控件. RECT rect; this->GetWindowRect(&rect); 总是出错,应该如何解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
知行职场-雷曼
2001-04-03
打赏
举报
回复
我要用ATL做一个控件, 现在的问题是
我相在控件容器中加入一个Static控件
但是我不知道怎么得到cwnd指针?
CStatic test;
RECT rect = *(RECT*) di.prcBounds;
test.Create( "CStatic", WS_CHILD¦WS_VISIBLE,
rect,(CWnd*)this , 3432);
~~~~~~~~~~
画线部分怎么写?
拜托各位, 我搞不定了!
知行职场-雷曼
2001-04-03
打赏
举报
回复
我要用ATL做一个控件, 现在的问题是
我相在控件容器中加入一个Static控件
但是我不知道怎么得到cwnd指针?
CStatic test;
RECT rect = *(RECT*) di.prcBounds;
test.Create( "CStatic", WS_CHILD|WS_VISIBLE,
rect,(CWnd*)this , 3432);
vcmfc
2001-04-02
打赏
举报
回复
在OnDraw不是有以下代码吗?
RECT& rc = *(RECT*)di.prcBounds;
如果你用GetWindowRect(&rect)是错的,因为你的控件的窗口是Windows Less,hWnd=NULL,在OnDraw画就可以了。
如果你一定要这样做的话,来信交流。
sxbyl
2001-04-02
打赏
举报
回复
画Static控件?Static不就是些文字吗?直接在OnDraw里完成不就行了?
知行职场-雷曼
2001-04-02
打赏
举报
回复
是Full control.
我想在控件容器中画一个Static控件,请问题怎么实现?
知行职场-雷曼
2001-04-02
打赏
举报
回复
是Full control.
我想在控件容器中画一个Static控件,请问题怎么实现?
sxbyl
2001-03-31
打赏
举报
回复
你的ATL选的是什么?如果是Full Control,里面有一个OnDraw函数,OnDraw的前两行就是关于容器RECT的,你在这里将RECT保存起来就可以了。好像还有更好的方法,那我就不知道了。
皮肤
控件
研究文档,破解后的库文件,皮肤设计工具使用教程
皮肤
控件
研究文档,破解后的库文件,皮肤设计工具使用教程 皮肤
控件
skin++ skincrafter SkinFeature IrisSkin 我共享的都是本人实际验证过的精品,有文档,破解后的库文件,皮肤设计工具使用教程, 1 软件界面 每个软件都要有自己的软件界面,对于软件开发来说,软件界面不一定是最重要的,但是也是相当重要的。一款软件要是可 以在界面上
做
好,吸引了客户的眼球,那这款软件也就相对成功了一半。 现在各行各业的软件都添加了自己的皮肤色彩,显示出了不同的特点。例如QQ,MSN,Foxmail等等,这些软件都修改 了自己软件的界面,将自己的界面化
做
的很完善,很漂亮。使用起来感觉很舒服。 2 软件界面的解决方案之一:使用皮肤组件 皮肤组件能完全自动的为您的应用程序添加支持换肤功能,甚至不需要更改您的设计好的Form以及添加一行代码!您 也不再需要花费很多时间来使得自己的应用程序更漂亮。 3 选择皮肤组件产品时需要考虑的几个因素: 3.1 产品易用性 软件
控件
的API及使用 是否简单易用是我们需要考虑的一个重要关键。这个问题涉及到两个方面: 是否容易整合到现有应用程序中? 是否容易在新的应用程序项目中应用? 易用性: 界面
控件
类产品对应用程序的影响应该越小越好,要易于在现有应用程序中整合。这要求API简洁,同时也要求界面库易扩 展,兼容性强。 开发人员能否及时掌握并使用。 3.2 产品稳定性 界面库产品当前的稳定性当然是首要考虑的问题,目前可以从以下几个方面来鉴别产品的稳定性: 是否有足够多的示例Demos来演示
控件
库产品的各个方面的功能特性 是否已经有众多的成功案例 发布多长时间,同时是否一直有持续更新。 3.3 界面配置灵活性 界面开发一个很重要的问题是界面的样式是非常灵活的。比如一个button上面可能有一个图标,但有时也有可能需 要两个图标;有时有一行文字,但有时也可能有两行不同颜色的文字。界面库产品都需要考虑这些因素。以下是我们在开发 中经常遇到的问题:
控件
界面的多样性。 如上面提到的不同位置多个图标,多行文字等。如果一个
控件
库的button只支持设置一个图标,这显然是不够灵活的,不实 用的。有人可能会说“把几张图片,切图时
做
到一起不就可以了么,反正一个
控件
也可以理解只有一个背景。” 如果涉及 到色调调整,这种
做
法会遇到麻烦,比如如下界面: 其中间图标在色调调整时,其色调不变的。如果图标和背景
做
到一起,则不能
做
到此效果。
控件
界面元素的动态变化。
控件
的界面表现不是静态的,很多情况我们需要能根据程序逻辑动态调整界面表现。 比如: 这种情况在界面设计与开发中是非常常见的,界面库产品需要非常容易的支持此特性。 需要根据程序逻辑自绘界面。 界面库不是万能的,界面库的设计者需要考虑尽可能的避免让客户去绘制界面,但却无法
做
到100%避免,由于程序逻辑的需 要,客户有时候需要自己绘制
控件
的某一部分。因此一个完整的界面库系统需要有自绘的支持,即在界面库绘制之后,让客 户有绘制的机会。同时也需要有一套机制来管理自绘部分的图片,颜色等资源,不然无法保证界面色调的一致性。 3.4 界面库高效性 界面库的效率是一个核心问题。糟糕的界面库效率会带来极坏的用户体验,这也应是公司在考虑一个界面
控件
类产 品时首要考虑的问题。可以通过以下几种方式来判断界面库类产品的效率: 拖拽窗口,观察是否有明显的停顿感。 可在一个系统下,找一些知名软件比较,如QQ/MSN等。如果有明显差异,则说明界面库在界面的绘制等方面存在欠缺。 拖拽窗口,观察界面
控件
是否有明显闪烁 如发生界面闪烁,则说明界面绘制的处理有些问题。 软件启动速度 界面库产品应该对图片等资源加载
做
优化,以尽可能的减少界面库加载等带来的时间开销。也可以通过比较软件启动速度来 比较界面库的效率。 软件色调调整时的效率 色调调整等操作一般会涉及到整体界面库的运算与操作,这种情况下也可以显示出不同界面库产品之间的效率差异。如果色 调调整明显带来停顿感,则说明界面库某些方面的效率偏低;一般来说Di
rect
UI类型的库这方面效率会稍微高些。 3.5 周边产品完整性 软件界面开发会涉及到很多部分,通用的界面库产品只是其中的一个需求。界面开发中还会涉及到其他行业相关 的特殊
控件
、组件需求,如果
控件
提供商能一站式的解决这些问题,提供完整的界面解决方案,那将极大的减少界面方面的 研发投入。 IM即时聊天客户端产品,除了通用界面库的需求外,可能还需要制作聊天窗口的RichEdit扩展
控件
,配置面板,系统消息组 件,这些都是一个IM客户端必须的。 3.6 产品升级及售后服务 产品是否有持续的更新和升级 所选择的产品是否有持续的、及时的升级及更新,是否有可靠的售后服务也是需要考虑的重点。 如果
控件
提供商不能对产品持续投入,则产品不能保持技术竞争力,也不能给客户以信心。一个优秀的产品成长 的过程应该是根据客户的需求及行业的发展来不断升级和完善的过程。 售后服务是否有保障 有保障的售后服务是选择软件产品的基本条件。 一般来说以公司方式运营的产品在售后服务方面更有保障,双方可以以合同或协议的方式来保证产品的售后服务质量及 持续性。 4 市面上有几款比较好的皮肤组件 4.1 Skin++(属于第二代的外挂式的界面库) 网站链接:http://www.uipower.com/index.html 4.1.1 简介: 产品易用性 界面与业务逻辑彻底分离; 支持流行的Windows操作系统; 支持所有Win32/Win64平台,包括.Net应用程序; Skin++ 支持的开发工具: 支持VC++各种版本:VC6,VC2003,VC2005,VC2008; 支持VisualStudio. Net各种版本:VisualStudio. Net 2003, 2005, 2008; 支持 PowerBuilder 各种版本:PowerBuilder 6.0,7.0,8.0,9.0,10.0,10.5,11.0; 支持 Delphi各种版本:Delphi 4,5,6,7,8,2005,2006; 支持C++ Builder 各种版本:C++ Builder 4,5,6,2006; 产品稳定性 成功案例: Skype 华为eSpace 阿里旺旺 淘宝助理 江民杀毒软件 浩方对战平台 360安全卫士(使用Di
rect
UI, Di
rect
UI为上海勇进软件skn++有限公司旗下产品) 等等 界面配置灵活性 可视设计,正式版提供皮肤设计工具SkinBuilder,SkinBuilder是所见即所得的设计开发环境,可以设计用户自己风格的界 面皮肤,并实现动态换肤功能。 没有下载到试验版的SkinBuilder,我联系的skn++的客服人员,只提供了一个视频教程和一个文档Skin++BuilderHelp.chm 视频教程链接地址:http://www.uipower.com/bbs/forum-56-1.html 皮肤设计工具(SkinBuilder)使用演示: http://www.uipower.com/Di
rect
UIBuilder/Di
rect
UIBuilder.html 其它信息:http://www.uipower.com/bbs/index.htm 界面库高效性 下载试用skn++网站上的Skin++ 演示系统 SkinPlusPlus.VS.Net.EvalEdition.3.1.1.exe 窗口数量小于10个时,颜色改变时间延迟不明显,窗口推动不会闪烁。 窗口数量大于30时: 我测试时在MDI应用程序中的主框架下新建100个子窗口,改变一下界面主题颜色,从第一个子窗口改变颜色到整个界面改变 颜色,用了1分27秒。平均一秒一个窗口,内存使用28.4M左右,改变颜色过程中CPU占用99%。颜色改变时间延迟明显,窗口 推动不会闪烁,但是响应速度很慢。 周边产品完整性 可视设计,提供皮肤设计工具,所见即所得的设计开发环境; 色调变换,支持皮肤色调变换,每一套皮肤都拥有N种色调风格; 皮肤资源海量,提供方便的皮肤转换工具,可以将目前主流的皮肤主题转换成Skin++格式; 支持Unicode,提供多种编码格式; 支持静态库链接,与客户程序可以进行无缝整合; 支持第三方
控件
; 产品升级及售后服务 产品分为:标准版,专业版,企业版,高级版,企业源码版 根据购买的版本的不同服务的项目和时间各异: 提供4到32小时的面对面开发培训 提供1到12个月的免费售后技术服务期 同步升级1个月到12个月 价格:(skin++客服人员提供的价格) skin++ di
rect
UI 标准版 价格 5800- 专业版 价格 17800 企业版 价格 38800 58800 高级企业版 价格 58800 88800 企业源码版 价格 98800
控件
源码版 价格 158800 平台源码版 价格 218800 4.1.2 详细信息: 链接到<< 皮肤
控件
:Skin++产品详细信息>> 4.2 DSkinLite 网站链接:http://www.uieasy.cn/ 4.2.1 简介: 产品易用性 DSkinLite界面库API及XML配置语法简单,开发人员一般可以在2-3天内熟悉使用方法。DSkinLite界面库API共20个左右,常 用API函数应该在5左右。同时DSkinLite采用C++编写,专为Visual Studio开发者设计,开发者可以很容易的将DSkinLite整 合到已有软件工程中或者迅速开发新的软件。 DSkinLite使用XML配置界面样式,定义界面资源(字体,颜色,图片)等。借助于XML的灵活的语法,可以描述多 种多样的
控件
界面风格。因此不管您是否有意选择DSkinLite界面产品,您都可以下载我们的使用试用版,了解DSkinLite界 面库的设计风格,相信会让您了解一种全新的界面产品设计理念,给您的界面开发带来启发。 产品稳定性 近期的客户:长江证券 广州因豪集团 易酷创新 IM即时聊天类的客户比较多 界面配置灵活性 需要熟悉xml语法。 界面配置灵活。DSkinLite界面库采用XML管理GDI元素,并独创了将界面元素抽象为图片,矩形,线条,文字等元素。任何 一个
控件
界面均可以由这些元素来组合,使用DSkinLite可以轻松配置各种界面效果。如下图所示: 由此在一个
控件
界面中,可以灵活的配置界面元素,可以满足绝大多数界面设计需要. 动态的控制界面元素。同时DSkinLite提供相应的API可以控制这些元素(image,text,
rect
)的显示/隐藏,同时修正某些 属性,如image的picfile属性即更换图片,text的content属性即文本内容。这种界面需求在界面开发中十分常见。 界面库高效性 DSkinLite与其他界面库相比有以下特点: 没有采用Hook所有进程消息的方式,因此没有替换系统相关对话框。DSkinLite 只是采用MFC,
ATL
等framework类似的方式,简单替换窗口过程,截取界面绘制等消息,对应用程序来说基本上是透明的。 从这个方面讲,DSkinLite是一款轻量级的界面库,界面效率较高。 DSkinLite内部实现跟MFC类似,就是使用SetWindowLong替换窗口过程,然后截获绘制相关消息绘制界面. 周边产品完整性 没有可视化皮肤编辑工具
控件
的样式定义于XML中,你可以在xml中定义一张图片,并设置其在窗口的任何位置,包括标题栏区域, 产品升级及售后服务 DSkinLite界面库产品及服务: DSkinLite产品使用授权 软件界面开发服务
控件
定制服务 ekRichEdit
控件
: ekRichEdit源码版使用授权 RichEdit
控件
定制服务 Di
rect
UI界面库: Di
rect
U产品源码使用授权
控件
定制服务 这个公司的UI设计也是外包的, 有专门针对IM即时聊天的扩展
控件
ekRichEdit; 价格 http://www.uieasy.cn/dskinlite/purchase.html DSkinLite界面库企业版(¥12000) 企业版售后服务如下: 12个月免费Email技术支持 12个月免费版本升级 8小时免费技术培训 两个工作日技术支持响应 软件界面开发服务(¥5000起) 软件界面框架开发服务,根据客户需求及提供的UI设计图片,完成软件界面框架开发。此服务费用为5000元起,具体费用需 要根据用户的需求评估具体工作量来定。
控件
定制服务(¥2000起) 如您需要一些特殊的
控件
,我们可以根据您的需求定制
控件
。此服务费用为2000元起,具体需要根据
控件
需求及具体工作量 来定。 4.3 其他产品及信息: 4.3.1 东日IrisSkin 支持Delphi 5/6/7/2005,C++Builder 5/6,BDS 2006,RAD Studio 2007/2009/2010/XE; Microsoft VisualStudio.NET 2002/2003/2005/2008/2010; 含有免费的SkinBuilder工具 IrisSkin 共有两个版本,一个是IrisSkin.dll 用于.Net Framework1.0/1.1 和IrisSkin2.dll 用于.Net Framework2.0版 本。详细内容见安装文件的help文档。 除此之外,东日还有两个很cool的Menu: MatrixMenu和WheelMenu。 (详细内容请参见http://www.sunisoft.cn/irisskin)。 《皮肤
控件
:东日 Skin详细信息.doc》 4.3.2 Appface Appface支持的语言与开发环境是我见到的最多的,在。net上面使用起来相对前面4中都相对复杂一点, 不过看看那个 Demo也差不多会了,还是几个函数的使用。 (详细内容请参见http://www.appface.net)。 4.3.3 SkinSE 网站链接:http://www.skinse.com/ 是一款真正意义上适合软件界面开发的C++皮肤库。通过使用XML文件来配置GDI资源(如:图片、字体、颜色等),最大程度将 界面与逻辑分开,让程序员有更多的时间去进行软件内部的逻辑处理。SkinSE没有采用传统的HOOK修改窗口过程函数的方式 ,而是只是针对具体窗口进行界面处理。SkinSE只用到了windows几个底层的核心库,没有用到(MFC/
ATL
等第三方库),采用 纯API编写,采用C语言导出方式,增强可移植性。 4.3.4 DotNetSkin DotNetSkin的用法和IrisSkin差不多。此外,网站提供了几个免费的很cool的
控件
, Button,RadioButton, CheckBox, 那个button和codeproject的XPButton有的一拼了。 (详细内容请参见http://www.dotnetskin.net)。 4.3.5 SkinCrafter SkinCrafter地用法和Skin++有点类似,都是添加一个Com引用,然后加上几句语句用来Load皮肤,和Apply皮肤。另外, SkinCrafter还另外提供了为Windows Installer换肤的软件。 (详细内容请参见http://www.skincrafter.com)。 4.3.6 SkinEngine Alcyonesoft推出了SkinEngine,支持的语言数目与Appface不相上下,用法和Skin++, SkinCrafter类似。(详细内容参 见http://www.ksdev.com) 6、 DotNetMagic提供了许多漂亮的
控件
(http://www.dotnetmagic.com), 7、DotNetBar许多很有创意,很炫的
控件
(http://www.devcomponents.com) 8、Divelements 的许多漂亮的
控件
(http://www.divelements.co.uk) VclSkin DevExpress系列 XPMenu、 SuiPack、 rainxp、 Flatstyle、 skinengine..... 4.3.7 其他公司的界面库: 金山 自己的界面库; 瑞星 自己的界面库; 腾讯 自己的界面库,皮肤设计工具
做
的最精细; 迅雷7 自己的皮肤库,采用lua+xml架构,扩展性强,效率高,“万能皮肤库”。
用递归的方法画分形图
用递归的方法画分形图 用递归的方法画分形图 分形几何是数学领域里新兴的课题,如果将图形的每个元素按某种规则进行变形,
得到
新的图形,以此类推,进行若干次变形后
得到
的图形就是分形图形。Couch曲线是最典型的分形图形: 将一条线段按照图1进行变换,
得到
图1,再将图1中的每条线段按图1的折线变换
得到
图2,以此类推,进行6次变换就
得到
图6,如果进行无限次变换,就
得到
的是Couch曲线,Couch曲线的维数不是整数维,更多详情请见分形方面的书籍。 用分形图形能画图许多漂亮的图案而被广泛地应用,下面将几个简单的分形图形的代码与图形大家分享。 //Couch曲线的画法 void Couch(CDC *pDC,int x1,int y1,int x2,int y2,int n) { //pDC是画图的设备上下文的指针 //x1,y1,x2,y2是起始的两点 //其中参数n是递归的层数 int x3,y3,x4,y4,x5,y5; //以下是根据空间几何计算出来的坐标 x3=x1+(x2-x1)/3; y3=y1+(y2-y1)/3; x4=x1+(x2-x1)*2/3; y4=y1+(y2-y1)*2/3; x5=x3+(x4-x3)/2+int(sqrt(3)*(y4-y3)/2); y5=y3-int(sqrt(3)*(x4-x3)/2)+(y4-y3)/2; //递归最后一层,递归的出口 if(n==1) { pDC->MoveTo(x1,y1); pDC->LineTo(x3,y3); pDC->LineTo(x5,y5); pDC->LineTo(x4,y4); pDC->LineTo(x2,y2); } else { //递归画图 Couch(pDC,x1,y1,x3,y3,n-1); Couch(pDC,x3,y3,x5,y5,n-1); Couch(pDC,x5,y5,x4,y4,n-1); Couch(pDC,x4,y4,x2,y2,n-1); } } //斯宾斯基篓垫的画法 void Floor(CDC *pDC,int x1, int y1,int x2,int y2,int x3,int y3,int n) { //pDC是画图的设备上下文的指针 //x1,y1,x2,y2,x3,y3是起始的三角形的三点坐标 //其中参数n是递归的层数 int x11,x22,x33,y11,y22,y33; //以下是根据空间几何计算出来的坐标 x11=(x2+x3)/2; y11=(y2+y3)/2; x22=(x1+x3)/2; y22=(y1+y3)/2; x33=(x1+x2)/2; y33=(y1+y2)/2; pDC->MoveTo(x11,y11); pDC->LineTo(x22,y22); pDC->MoveTo(x11,y11); pDC->LineTo(x33,y33); pDC->MoveTo(x22,y22); pDC->LineTo(x33,y33); //递归最后一层,递归的出口 if(n==1) { pDC->MoveTo(x11,y11); pDC->LineTo(x22,y22); pDC->LineTo(x33,y33); pDC->LineTo(x11,y11); } else { //递归画图 Floor(pDC,x1,y1,x33,y33,x22,y22,n-1); Floor(pDC,x33,y33,x2,y2,x11,y11,n-1); Floor(pDC,x22,y22,x11,y11,x3,y3,n-1); } } //分形矩形的画法 void
Rect
(CDC *pDC,int x1,int y1,int x2,int y2,int n) { //pDC是画图的设备上下文的指针 //x1,y1,x2,y2是起始矩形坐标 //其中参数n是递归的层数 int x3,y3,x4,y4,x5,y5,x6,y6; //以下是根据空间几何计算出来的坐标 x3=x1+(x2-x1)/3; y3=y1+(y2-y1)/3; x4=x1+(x2-x1)*2/3; y4=y1+(y2-y1)*2/3; x5=x3+(y4-y3); y5=y3-(x4-x3); x6=x4-(y3-y4); y6=y4+(x3-x4); pDC->MoveTo(x1,y1); pDC->LineTo(x3,y3); pDC->MoveTo(x4,y4); pDC->LineTo(x2,y2); //递归最后一层,递归的出口 if(n==1) { pDC->MoveTo(x1,y1); pDC->LineTo(x3,y3); pDC->LineTo(x5,y5); pDC->LineTo(x6,y6); pDC->LineTo(x4,y4); } else { //递归画图
Rect
(pDC,x3,y3,x5,y5,n-1);
Rect
(pDC,x5,y5,x6,y6,n-1);
Rect
(pDC,x6,y6,x4,y4,n-1); } } //分形树的画法,其中参数n是递归的层数 void Tree(CDC *pDC,int x1,int y1,int x2,int y2,int n) { //pDC是画图的设备上下文的指针 //x1,y1,x2,y2是起始矩形坐标 //其中参数n是递归的层数 int x3,y3,x4,y4,x5,y5; //以下是根据空间几何计算出来的坐标 x3=x1+(x2-x1)/3; y3=y1+(y2-y1)/3; x4=x3+int((x1-x3)*cos(5*pi/6))-int((y1-y3)*sin(5*pi/6)); y4=y3+int((x1-x3)*sin(5*pi/6))+int((y1-y3)*cos(5*pi/6)); x5=x3+int((x1-x3)*cos(5*pi/6))+int((y1-y3)*sin(5*pi/6)); y5=y3-int((x1-x3)*sin(5*pi/6))+int((y1-y3)*cos(5*pi/6)); pDC->MoveTo(x1,y1); pDC->LineTo(x2,y2); //递归最后一层,递归的出口 if(n==1) { pDC->MoveTo(x3,y3); pDC->LineTo(x4,y4); pDC->MoveTo(x3,y3); pDC->LineTo(x5,y5); } else { //递归画图 Tree(pDC,x3,y3,x2,y2,n-1); Tree(pDC,x3,y3,x4,y4,n-1); Tree(pDC,x3,y3,x5,y5,n-1); } } 上述的代码及图形附有Visual C++源代码,并在Windows XP和Visual C++6.0下调试成功。更多的分形图形及图形坐标空间几何的计算方法请与作者联系。 最新评论 [发表评论] [文章投稿] 查看所有评论 推荐给好友 打印 改成sqrt(3.0)就好了,vs的问题,参数多类型重载没自己识别出来 ( maxint 发表于 2008-9-4 21:27:00) skinfeature界面产品特点介绍 SkinFeature完全支持各种常用
控件
及窗口 。对话框,单文档界面,多文档界面的全部支持。 完全支持PNG、TGA、bmp 图像格式。 支持皮肤(.rss)文件加密。保护美工图像不被别人非法使用,进一步保护自身知识产权。 支持从msstyle wba 等主题文件中自动转化为rss皮肤文件。 SkinFeature完全支持 VC,Delphi,C#,VB.Net,Visual Basic,C++ Bulider, PowerBuilder, Win32 SDK Supported WTL,
ATL
, 第三方厂商SDK, OUTLOOK 等等界面换肤。 支持各Windows平台 Windows 9X/NT/2000/2003/XP/Vista 完全支持ANSI UNICODE 文字编码格式。 完全支持动态换肤(*.rss),支持不规则窗体,支持美工设计自定义界面生成方案。 完全多线程,自定义窗口类换肤支持。 内含15种专业皮肤(.rss)文件。 内含SkinDesigner 皮肤文件开发工具。 http://www.skinfeature.com ( skinfeature 发表于 2008-6-18 17:30:00) change sqrt(3) to sqrt(3.0) ( Eric_wang 发表于 2007-10-30 9:59:00) x5=x3+(x4-x3)/2+int(sqrt(3)*(y4-y3)/2); y5=y3-int(sqrt(3)*(x4-x3)/2)+(y4-y3)/2; 运行是错误的啊? 错误 1 error C2668: 'sqrt' : ambiguous call to overloaded function d:\wordplay\c++\范例\fractral递归方法画分图形\stdafx.cpp 19 错误 2 fatal error C1903: unable to recover from previous error(s); stopping compilation d:\wordplay\c++\范例\fractral递归方法画分图形\stdafx.cpp 19
使用WTL进行Windows桌面应用开发-第二部
1. 在第一部基础上增加更深入的内容,比如WTL提供的标准Win32窗口和自定义窗口的使用方式.2. 涉及到一些项目开发难题的窗口自定义的解决方案。3. 涉及到Gdiplus绘图的项目开发难题的一些解决方案。4. 推荐使用的第三方跨平台库, 虽然WTL是基于Windows的,但是不妨碍我们使用第三方的库进行开发,减少跨平台开发的学习成本。5. WTL是对Win32窗口的薄封装,库是原微软员工开发,是MFC的替代选择。掌握了WTL表示你已经基本掌握了Win32的窗口编程.6. 使用WTL库完全使用C++开发,不需要其他编程语言,减少学习成本和复杂度,整个WTL是开源可控的。7. WTL库只能使用VS2005以上版本开发, 因为它依赖
ATL
库. 不同的VS版本对应的
atl
版本不一致,建议使用VS2010以上版本开发.
ATL
复合
控件
更换背景图
前言在
做
ATL
COMDLL中的复合
控件
练习, 空荡荡的背景好尴尬. 试了一下,加了背景后,在复合
控件
UI上再放其它标准
控件
,不影响效果. 那就给复合
控件
加一张背景位图^_^ 加背景位图的操作是纯SDK编码, 用到的实例句柄和窗口句柄是
ATL
复合
控件
的.
ATL
编程,除了
ATL
框架代码外,其它都可以用SDK编程.效果图用
控件
容器
插入后,能看到复合
控件
的背景位图. 在复合
控件
上添加按钮,
VC中使用
ATL
编写
控件
VC中使用
ATL
编写
控件
作者:邵盛松 2010年10月29日 源码下载地址:http://download.csdn.net/source/2793074 在VC2005中创建
控件
,可以使用MFC创建
控件
,也可以使用
ATL
创建
控件
一
ATL
项目的创建 在VC2005中新建一个项目,项目类型选择
ATL
,模板选择
ATL
项目。项目名称命名为ActiveXDemo。
ATL
项目向导的概述中直接下一步
ATL
项目的应用程序设置如下 服务器类选选择动态链接库(DLL)
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章