WEB开发网
开发学院软件开发VC MFC程序员的WTL指南(6)高级对话框用户界面类 阅读

MFC程序员的WTL指南(6)高级对话框用户界面类

 2006-07-22 22:03:25 来源:WEB开发网   
核心提示: CHyperLinkCHyperLink是一个CWindowImpl派生类,它子类化一个static text控件,MFC程序员的WTL指南(6)高级对话框用户界面类(9),使之变成可点击的超链接,CHyperLink根据用户的IE使用的颜色画链接对象,没有这个诡计,不过向导存在一个BUG
CHyperLink

CHyperLink是一个CWindowImpl派生类,它子类化一个static text控件,使之变成可点击的超链接。CHyperLink根据用户的IE使用的颜色画链接对象,还支持键盘导航。CHyperLink类的构造函数没有参数,下面是其它的公有方法。

CHyperLink methods

CHyperLinkImpl类内含实现一个超链接的全部代码,如果不需要重载它的方法或处理消息的话,你可以直接使用CHyperLink类。

SubclassWindow()BOOL SubclassWindow(HWND hWnd)

重载函数SubclassWindow()完成控件子类化,然后初始化该类保有的内部数据。

Text label managementbool GetLabel(LPTSTR lpstrBuffer, int nLength)
bool SetLabel(LPCTSTR lpstrLabel)

获得或设置控件显示的文字,如果不指定显示文字,控件会显示资源编辑器指定给控件的静态字符串。

Hyperlink managementbool GetHyperLink(LPTSTR lpstrBuffer, int nLength)
bool SetHyperLink(LPCTSTR lpstrLink)

获得或设置控件关联超链接的URL,如果不指定超链接URL,控件会使用显示的文字字符串作为URL。

Navigationbool Navigate()

导航到当前超链接的URL,该URL或者是由SetHyperLink()函数指定的URL,或者就是控件的窗口文字。

Tooltip management

没有公开的方法设置工具提示,所以需要直接使用CToolTipCtrl成员m_tip。

下图显示的就是ControlMania2对话框中的超链接控件:

在OnInitDialog()函数中设置URL:

m_wndLink.SetHyperLink ( _T("http://www.codeproject.com/") );对话框中控件的UI Updating

对话框中的的UI updating控制比MFC中简单得多,在MFC中,你需要响应未公开的WM_KICKIDLE消息,处理这个消息并触发控件的updating,在WTL中,没有这个诡计,不过向导存在一个BUG,需要手工添加一行代码解决这个问题。

上一页  4 5 6 7 8 9 10  下一页

Tags:MFC 程序员 WTL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接