65.9K
CodeProject 正在变化。 阅读更多。
Home

CPPHtmlStatic v1.2

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.94/5 (64投票s)

2004年5月10日

CPOL

10分钟阅读

viewsIcon

322790

downloadIcon

9419

一个基于CStatic的控件,用于显示类HTML文本格式化元素。

目录

特性

  • 内置HTML-lite语言,用于静态控件
  • 内置支持CSS样式 
  • 支持任何大小的图标(最多256色)
  • 支持位图
  • 支持ImageList
  • 从资源、DLL或文件中加载图标、位图和字符串
  • 支持静态控件的标准和扩展样式
  • 支持图像的渐变阴影
  • 支持对任何图像应用各种效果(提亮、变暗、灰度)
  • 支持超链接
  • 支持热区
  • 支持表格
  • 扩展的<br><t>标签
  • 支持动画
  • 包含完整的源代码!

如何在您的应用程序中集成CPPHtmlStatic

要将HTML绘图控件集成到您的应用程序中,您应该将以下文件添加到您的项目中

  • PPHtmlStatic.h
  • PPHtmlStatic.cpp
  • PPHtmlDrawer.h
  • PPHtmlDrawer.cpp
  • PPDrawManager.h
  • PPDrawManager.cpp
  • CeXDib.h, CeXDib.cpp (由Davide Pizzolato和Davide Calabro提供)。此类用于扩展背景效果。

如果定义了USE_SHADE,则可以使用Davide Pizzolato和Davide Calabro提供的扩展背景效果

在PPDrawManager.h中

#define USE_SHADE

 

创建CPPHtmlStatic对象

在您想使用CPPHtmlStatic的头文件中包含PPHtmlDrawer.h并创建一个成员变量

CPPHtmlStatic m_html_static;
or
CPPHtmlStatic * m_pHtmlStatic;

类成员

然后,当你开始迭代 2(这是构建迭代的开始)时,你可能想要复制测试用例并将它们重新分类到迭代 2。这还允许对测试用例进行粒度跟踪,并允许你说某个测试用例在一个迭代中是准备好的,但在另一个迭代中不是。同样,如何做到这一点取决于你以及你希望如何报告。 “场景”部分提供了更多细节。

 
CPPHtmlStatic 构造一个CPPHtmlStatic对象。

操作 (Operation)

 
SetWindowText 指定要在静态控件中显示的文本。
SetHyperlink 指定要在静态控件中显示的超链接。
SetIcon 指定要在静态控件中显示的图标。
SetBitmap 指定要在静态控件中显示的位图。
SetAnimation 指定要在静态控件中显示的动画图像。
SetImageList 指定要显示在静态控件中的图像列表项。

Align

 
SetAlign 设置对象对齐标志
GetAlign 获取对象对齐标志。

绘图

 
SetImageZoom 设置图像的缩放因子
SetFrameRate 设置动画的新帧率。
ClearFrameRate 设置动画的新帧率。
SetCallbackHyperlink 通过点击超链接,将消息从控件发送到父窗口。
SetFont 将窗口的当前字体设置为指定的字体。
GetFont 获取此窗口的当前字体。
SetTextColor 设置文本颜色。
SetBkColor 设置当前背景颜色。
SetBkMode 设置背景模式。
SetHyperlinkStyle 设置超链接的样式。

边框

 
SetRgn 设置一个区域
SetRectRgn 创建并设置一个矩形区域
SetRoundRectRgn 创建并设置一个圆角矩形区域
SetBorder 设置静态控件的边框

版本

 
GetVersionI 获取CPPHtmlStatic版本
GetVersionC 获取CPPHtmlStatic版本

 

CPPHtmlStatic::CPPHtmlStatic

CPPHtmlStatic ();

备注
构造一个CPPHtmlStatic对象。

示例

// Create a static object on the stack.
CHtmlStatic m_HtmlStatic; 
// Create a static object on the heap. 
CHtmlStatic* m_pHtmlStatic = new CHtmlStatic; 

CPPHtmlStatic概述 | 类成员

 

CPPHtmlStatic::SetWindowText

void SetWindowText(LPCTSTR lpszText);

参数

  • lpszText - 指定要放置在控件中的文本。如果为NULL,则不显示文本。此文本可以是HTML字符串。

备注
此方法将静态控件的标题设置为指定的文本。此方法会导致向该窗口发送WM_SETTEXT消息。文本可以是HTML字符串,例如:

<h2>CPPHtmlStatic</h2><br><hr color=blue><br>

CPPHtmlStatic概述 | 类成员

 

CPPHtmlStatic::SetHyperlink

void SetHyperlink(LPCTSTR lpszText, LPCTSTR lpszUrl, BOOL bParentNotify /* = FALSE */);

参数

  • lpszText - 指定超链接的可见文本。不能为NULL
  • lpszUrl - 指定目标URL。不能为NULL
  • bParentNotify - 如果为TRUE,将创建用于向父窗口发送消息的超链接。

备注
调用此方法创建超链接控件。

示例

// Create a hyperlink control for open WWW link.
m_html.SetHyperlink("Goto the Codeproject", 
 "https://codeproject.org.cn"); 
// Create a hyperlink control to send a mail to me. 
m_html.SetHyperlink("Send mail to me", 
 "mailto:pustovoyt@mail.ru");
// Create a hyperlink control to send a message to 
 //the parent with label
 "click no.1". 
m_html.SetHyperlink("Notify a parent", "click no.1", 
 TRUE);

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic:SetIcon

void SetIcon(DWORD dwIdIcon, LPSIZE lpSize /* = NULL */);
void SetIcon(HICON hIcon);

参数

  • dwIdIcon - 要在静态控件中绘制的图标资源的ID号。
  • lpSize - 加载图标的大小。
  • hIcon - 要在静态控件中绘制的图标的句柄。

备注
调用此成员函数将新图标图像与静态控件关联。图标将自动在静态控件中绘制。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetBitmap

void SetBitmap(DWORD dwIdBitmap, COLORREF clrMask /*= RGB(255, 0, 255)*/);
void SetBitmap(HBITMAP hBitmap, COLORREF clrMask /*= RGB(255, 0, 255)*/);

参数

  • dwIdBitmap - 要在静态控件中绘制的位图资源的ID号。
  • hBitmap - 要在静态控件中绘制的位图的句柄。
  • clrMask - 位图上的透明颜色。如果不存在透明颜色,则为-1

备注
调用此成员函数将新位图与静态控件关联。位图将自动在静态控件中绘制。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetAnimation

void SetAnimation(DWORD dwIdBitmap, LPSIZE lpSizeItem, COLORREF clrMask /*= RGB(255, 0, 255)*/);
void SetAnimation(HBITMAP hBitmap, LPSIZE lpSizeItem, COLORREF clrMask /*= RGB(255, 0, 255)*/);

参数

  • dwIdBitmap - 包含图像列表的位图资源的ID号。
  • hBitmap - 包含图像列表的位图句柄。
  • clrMask - 位图上的透明颜色。如果不存在透明颜色,则为-1。
  • lpSizeItem - 每个图像的尺寸。

备注
调用此方法将图像列表绘制为动画。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetImageList

void SetImageList(DWORD dwIdBitmap, DWORD dwIndex, LPSIZE lpSizeItem, COLORREF clrMask /*= RGB(255, 0, 255)*/);
void SetImageList(HBITMAP hBitmap, DWORD dwIndex, LPSIZE lpSizeItem, COLORREF clrMask /*= RGB(255, 0, 255)*/);

参数

  • dwIdBitmap - 包含图像列表的位图资源的ID号。
  • hBitmap - 包含图像列表的位图句柄。
  • clrMask - 位图上的透明颜色。如果不存在透明颜色,则为-1。
  • lpSizeItem - 每个图像的尺寸。
  • dwIndex - 图像的零基索引。

备注

调用此成员函数将图像列表中的图像与静态控件关联。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetAlign

void SetAlign(DWORD dwAlign /*= PPHTMLSTATIC_ALIGN_DEFAULT*/);

参数

  • dwAlign - 指定对象对齐标志。第一类影响对象在x方向上的对齐。
    PPHTMLSTATIC_ALIGN_DEFAULT - 使用CStatic样式的对齐方式(SS_CENTER, SS_LEFT, SS_RIGHT, SS_CENTERIMAGE
    PPHTMLSTATIC_ALIGN_LEFT
    PPHTMLSTATIC_ALIGN_RIGHT
    PPHTMLSTATIC_ALIGN_CENTER
    PPHTMLSTATIC_ALIGN_TOP
    PPHTMLSTATIC_ALIGN_BOTTOM
    PPHTMLSTATIC_ALIGN_VCENTER

备注
设置对象对齐标志。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::GetAlign

DWORD GetAlign();

返回值

对象对齐标志的状态。请参阅SetAlign函数以获取可用标志的列表。

备注
检索对象对齐标志的状态。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetImageZoom

void SetImageZoom(int nWidthPercent /*= 100*/, int nHeightPercent /*= 100*/);
void SetImageZoom(int nPercent /*= 100*/);

备注
设置图像的缩放因子(以百分比为单位)。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetFrameRate

void SetFrameRate(DWORD dwFrameRate /*=500*/);

参数

  • dwFrameRate - 指定当前和下一个显示位图之间的时间间隔。

备注
设置动画的新帧率。对于CPPHtmlStatic类,帧率表示当前和下一个位图之间的超时周期(以毫秒为单位),而不是每秒帧数。默认值为500毫秒。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::ClearFrameRate

void ClearFrameRate();

备注
停止动画计时器。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetCallbackHyperlink

void SetCallbackHyperlink(UINT nMessage, LPARAM lParam /* = 0 */);

参数

  • nMessage - 指定要发送的消息。
  • lParam - 指定额外的用户定义信息。

备注

此方法在用户点击带有msg参数的超链接时,将消息从控件设置到父窗口进行回调。

Format a callback message:
    Msg - Specified ID message
    wParam - Pointer to the string specified as msg 
     parameter of the <a href="#A_Tag"><a></a> tag.
    lParam - Additional user-defined value

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetFont

void SetFont(CFont* pFont, BOOL bRedraw /*= TRUE*/);

参数

  • pFont - 指定新字体。
  • bRedraw - 如果为TRUE,则重绘CPPHtmlStatic对象。

备注

将窗口的当前字体设置为指定的字体。如果bRedrawTRUE,则也会重绘窗口。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::GetFont

CFont* GetFont();

返回值

指向包含当前字体的CFont的指针。该指针可能是临时的,不应将其存储以备将来使用。

备注

获取此窗口的当前字体。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetTextColor

void SetTextColor(COLORREF clrText);

参数

  • clrText - 以RGB颜色值指定文本颜色。

备注

将文本颜色设置为指定的颜色。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetBkColor

void SetBkColor(COLORREF clrBk);

参数

  • clrBk - 指定新的背景颜色。

备注

将当前背景颜色设置为指定的颜色。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetBkMode

void SetBkMode(int nBkMode /*= TRANSPARENT*/);

参数

  • nBkMode - 指定要设置的模式。此参数可以是以下值之一:
    • OPAQUE 在绘制文本之前,用当前背景色填充背景。
    • TRANSPARENT 绘制之前不对背景进行更改。这是默认的背景模式。

备注

设置背景模式。背景模式定义了在绘制文本之前,系统是否清除绘图表面的现有背景颜色。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetHyperlinkStyle

void SetHyperlinkStyle(COLORREF clrOrg, BOOL bOrgUnderline, COLORREF clrHover, BOOL bHoverUnderline);

参数

  • clrOrg - 指定鼠标不在链接上时的超链接文本颜色。
  • bOrgUnderline - 指定鼠标不在链接上时的超链接文本下划线样式。
  • clrHover - 指定鼠标悬停在链接上时的超链接文本颜色。
  • bHoverUnderline - 指定鼠标悬停在链接上时的超链接文本下划线样式。

备注

指定超链接的正常状态和悬停状态的颜色和下划线样式。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetRgn

void SetRgn(HRGN hRgn = NULL);

参数

  • hRgn - 要选择的区域的句柄。如果必须删除任何区域,则为NULL

备注

将一个区域指定为静态控件的当前裁剪区域。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetRectRgn

void SetRectRgn();

备注

通过静态控件的客户区创建矩形区域,并将其选择为当前裁剪区域。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetRoundRectRgn

void SetRoundRectRgn(int nWidth, int nHeight);

参数

  • nWidth - 指定用于创建圆角的椭圆的宽度。
  • nHeight - 指定用于创建圆角的椭圆的高度。

备注

通过静态控件的客户区创建带有圆角的矩形区域,并将其选择为当前裁剪区域。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::SetBorder

void SetBorder(COLORREF color, int nWidth = 1, int nHeight = 1);
void SetBorder(HBRUSH hbr, int nWidth = 1, int nHeight = 1);

参数

  • color - 指定用于创建实心画笔的颜色。
  • hbr - 用于绘制边框的画笔句柄。
  • nWidth - 指定垂直画笔笔触的宽度(以逻辑单位为单位)。
  • nHeight - 指定水平画笔笔触的高度(以逻辑单位为单位)。

备注

使用指定的画笔在指定区域周围绘制边框。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::GetVersionI

short GetVersionI()

返回值

CPPHtmlStatic的版本号。

备注

将CPPHtmlStatic版本作为短整数返回。除以10可获得实际版本。

CPPHtmlStatic概述 | 类成员

CPPHtmlStatic::GetVersionC

LPCTSTR GetVersionC()

返回值

CPPHtmlStatic的版本号(字符串格式)。

备注

将CPPHtmlStatic版本作为字符串返回。

CPPHtmlStatic概述 | 类成员

历史

2004年5月9日 首次发布
2004年5月25日

发布版本1.1
- 添加了SetTextColorSetBkColorSetBkMode方法;
- 记录了SetHyperlinkStyle方法;
- 添加了ClearFrameRate方法(感谢Steve Mayfield);
- 修复了动画的一些小错误(感谢Steve Mayfield);
- 修复了多重绘制的脏问题
- 控件的启用状态未正确初始化

2004年9月25日

发布版本1.2
- 支持文本换行;
- 添加了对通用字符实体的支持;
- 添加了<justify>标签;
- 支持表格中的禁用绘制;
- 修复了表格单元格绘制的一些小错误;
- 添加了静态控件的渐变填充;
- 添加了一些静态控件边框的样式 

2012年5月18日

为简单的HTML语言添加了文档。这种HTML可以与CPPStatic和CPPTooltip控件一起使用。

联系作者

您可以随意在任何地方使用此类;CPPHtmlStatic是免费的。您可以自由添加修改和/或修复错误,但请将任何此类修改发送给我!

© . All rights reserved.