- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VisualC实现定制标题栏(国外英文资料)
Visual C++实现定制标题栏(国外英文资料)
Visual C++ implements custom title bars
2005-06-23 10:37 Author: mynote source: blog editor: Ark to want to use VC to prepare a beautiful interface is usually time-consuming, there are two main reasons, one is the VC own small components and not bright, two is not a visual design. However, these are only the common methods. If you use subclassing, hook technology, can completely change the situation, even more than Delphi and other RAD tools faster. This paper will introduce how to write a DLL, how to easily customize the title bar.
In order to make each form of the title bar can be customized, and not for each form class encoding, so this method adopts the hook technology, its core idea is to monitor the Windows message processing to slow the title of the news, to customize the title bar of the thought.
The method described in this document will install the WH_CALLWNDPROC hook in your application, as shown in the following code:
The code for installing hooks at application startup:
Extern C, BOOL __declspec (dllexport), InstallCallWndHook ()
{
G_hCallWndProc = SetWindowsHookEx (WH_CALLWNDPROC, CallWndProc, AfxGetInstanceHandle (), GetCurrentThreadId ());
If (NULL = g_hCallWndProc)
Return FALSE;
Else
Return TRUE;
}
InstallCallWndHook () function is defined as the export function in the calling program will need to customize the title of it, due to the installation of the WH_CALLWNDPROC hook, so in the process of application form before calling himself, always call the CallWndProc; if set to WH_CALLWNDPROCRET, the order of the opposite
G_hCallWndProc is a shared memory variable, and other methods are defined as follows:
#pragma data_seg (Shared)
Static HHOOK g_hCallWndProc;
#pragma, data_seg ()
Of course, you can also define other forms, such as directly using shared memory API creation.
Install uninstall hook code when application exits:
Extern C, void __declspec (dllexport), UnInstallCallWndHook ()
{
If (g_hCallWndProc = = NULL)
{
UnhookW
文档评论(0)