HTControl之CHTButton按钮控件类

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-29 18:05   11   0

HTControlCHTButton按钮控件类

作者

李海涛

日期

2012-10-07

文档只是简要说明,在CHTButton.h中有各接口和变量的详细说明。还可以下载HTControlDemo进行调试。

http://download.csdn.net/detail/htcontrol/5423895感兴趣的朋友请关注我的资源列表中最新版本

一 实现机制及适用范围

此类是完全独立的,没有任何基类。直接由WIN32 API实现。这样就决定了此类不局限于windows平台下任何框架,比如:你可以在SDKMFCwxWidget等等方式下使用它。支持各种类型的按钮,比如:普通按钮,PNG透明按钮,复选框按钮,单选按钮等。窗体必须动态创建,代码段如下:

m_HTBtnClose.Create(758, 0, 39, 20,m_hWnd,iChildId++);

m_HTBtnClose.SetAllBitmap(m_hBmpBtnCloseNormal,m_hBmpBtnCloseDown,m_hBmpBtnCloseHover);

m_HTBtnClose.SetParentBgMemDC(m_hdcMemBuf);

二 简易的使用方式

一个窗口就是一个C++对象,要想实现某功能直接呼叫接口即可,没有附加的代码。减轻开发者负担。

三 窗体任意透明度

此类支持窗体以任意透明度显示,操作很简单,使用下面接口即可实现:

void SetTransparency(int iTransparency);

PNG透明按钮

系统默认按钮都是矩形或圆角矩形的,但是很多软件都有一些各种形状的按钮,实现方式可能都不同。

先说明一种比较笨拙的方式:把表现出来的按钮形状以外的区域绘制成与框架窗体一样,这样看上去就是异形按钮了。但是要是框架窗体背景更换了,那就麻烦了,按钮也得重画。

比较好的想法就是使用PNG透明按钮:腾讯qq,迅雷等软件的关闭,最小化等按钮就是透明PNG绘图(当然他们整个界面机制很可能是目前所谓的DirectUI无子窗口句柄),这样做的好处是,无论框架窗体背景如何变化,按钮的绘制都不需要改变。CHTButton类实现了这种PNG透明按钮。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP