`
xkxjy
  • 浏览: 43532 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

为控件添加Tooltip

    博客分类:
  • C
 
阅读更多
/*************************************************
Function:        CreateToolTip
Description:    在父类容器中为子控件添加Tooltip
Input:             int toolID 控件ID 
                       HWND hDlg 
                       TCHAR* pText
Output:       NULL
Return:       NULL
*************************************************/
BOOL CXXX::CreateToolTip(int toolID, HWND hDlg, TCHAR* pText)
{
	// toolID: the resource ID of the control.
	// hDlg: the handle of the dialog box.
	// pText: the text that appears in the tooltip.
	// g_hInst: the global instance handle.
	if (!toolID || !hDlg || !pText)
	{
		return FALSE;
	}

	// Get the window of the tool.
	HWND hwndTool = ::GetDlgItem(hDlg, toolID);
	HINSTANCE g_hInst = GetModuleHandle(NULL);

	// Create the tooltip.
	#ifndef TTS_BALLOON
	#define TTS_BALLOON 0x40
	#endif
	HWND hwndTip = CreateWindowEx(NULL, TOOLTIPS_CLASS, NULL,
				//WS_POPUP |TTS_ALWAYSTIP | TTS_BALLOON,//泡泡型
				WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,//普通方块型
				CW_USEDEFAULT, CW_USEDEFAULT,
				CW_USEDEFAULT, CW_USEDEFAULT,
				hDlg, NULL, 
				g_hInst, NULL);

	if (!hwndTool || !hwndTip)
	{
		return FALSE;
	} 

	// Associate the tooltip with the tool.
	TOOLINFO toolInfo = { 0 };
	toolInfo.cbSize = sizeof(toolInfo);
	toolInfo.hwnd = hDlg;
	toolInfo.uFlags = TTF_IDISHWND | TTF_SUBCLASS;
	toolInfo.uId = (UINT_PTR)hwndTool;
	toolInfo.lpszText = pText;
	::SendMessage(hwndTip, TTM_ADDTOOL, 0, (LPARAM)&toolInfo);

	return TRUE;
}

 

/*************************************************
Function:      CreateToolTip
Description: 自添加Tooltip
Input:          int toolID 控件ID 
                    HWND hDlg 
                    TCHAR* pText
Output:       NULL
Return:        NULL
*************************************************/
BOOL CXXX::CreateToolTip(HWND hDlg, TCHAR* pText)
{
	// toolID: the resource ID of the control.
	// hDlg: the handle of the dialog box.
	// pText: the text that appears in the tooltip.
	// g_hInst: the global instance handle.
	if (!hDlg || !pText)
	{
		return FALSE;
	}
	// Get the window of the tool.
	//HWND hwndTool = ::GetDlgItem(hDlg, toolID);
	HWND hwndTool = this->GetSafeHwnd();
	HINSTANCE g_hInst = GetModuleHandle(NULL);
	// Create the tooltip.
#ifndef TTS_BALLOON
#define TTS_BALLOON 0x40
#endif
	HWND hwndTip = CreateWindowEx(NULL, TOOLTIPS_CLASS, NULL,
		//WS_POPUP |TTS_ALWAYSTIP | TTS_BALLOON,//泡泡型
		WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,//普通方块型
		CW_USEDEFAULT, CW_USEDEFAULT,
		CW_USEDEFAULT, CW_USEDEFAULT,
		hDlg, NULL, 
		g_hInst, NULL);
	if (!hwndTool || !hwndTip)
	{
		return FALSE;
	} 
	// Associate the tooltip with the tool.
	TOOLINFO toolInfo = { 0 };
	toolInfo.cbSize = sizeof(toolInfo);
	toolInfo.hwnd = hDlg;
	toolInfo.uFlags = TTF_IDISHWND | TTF_SUBCLASS;
	toolInfo.uId = (UINT_PTR)hwndTool;
	toolInfo.lpszText = pText;
	::SendMessage(hwndTip, TTM_ADDTOOL, 0, (LPARAM)&toolInfo);
	return TRUE;
}

 

分享到:
评论

相关推荐

    为控件添加提示信息的例程

    "为控件添加提示信息"是提升用户体验的一种常见方法。在Windows应用程序开发中,`ToolTipCtrl`是一个常用的类,用于创建并管理显示在控件上方的小型提示窗口,通常用来显示用户将鼠标悬停在控件上时的简短帮助信息。...

    给对话框控件添加 Tooltip

    在这个场景中,我们讨论的是如何在对话框控件中添加自定义的Tooltip,即`CToolTipCtrl`。 `CToolTipCtrl`是MFC(Microsoft Foundation Classes)库中用于处理Tooltip控制的类。这个类提供了创建、显示和管理Tooltip...

    博客-win32 工具提示ToolTip控件的使用

    我们可以直接在控件的属性中设置`TipText`,并且`CToolTipCtrl`类已经封装了添加、删除和更新`ToolTip`的操作,简化了编程过程。 总之,Win32 API中的`ToolTip`控件提供了一种直观的方式来增强用户界面的可理解性。...

    VC 简洁的tooltip提示类

    在标准的MFC(Microsoft Foundation Classes)库中,为控件添加Tooltip是通过CToolTipCtrl类来实现的。然而,标题中提到的"简洁的tooltip提示类"可能是对这个过程的一种优化,使得开发者能更方便、更快速地在项目中...

    标准控件及数据窗口的tooltip示例

    通过这个示例,开发者不仅可以学会如何为标准控件和数据窗口字段添加tooltip,还可以了解如何在实践中应用和自定义这些组件,提升应用的交互性和用户体验。在实际项目中,合理运用tooltip可以有效减少用户的困惑,使...

    在Disabled的控件上顯示ToolTip

    在Disabled的控件上顯示ToolTip 在WINFORM中,如果一个控件有设置tooltip,那么鼠标移上去会显示出提示文字.但是当此控件的Enabled=false时,这个Tooltip是无效的. 本示例就是用来解决这个问题.

    tooltop,在控件旁显示对其的备注

    C#提供了System.Windows.Forms.ToolTip类,开发者可以利用这个类轻松地为控件添加ToolTip。下面是一个简单的示例,展示了如何在C# WinForms应用中创建并使用ToolTip: 1. 首先,需要在Form中添加一个控件,比如...

    WPF修改Tooltip样式

    在Windows Presentation Foundation (WPF) 中,Tooltip是一个用于显示与鼠标指针相关的简短提示信息的控件。它通常在用户将鼠标悬停在其他UI元素上时出现,提供额外的信息。在默认情况下,Tooltip的样式是有限的,但...

    TooltipTest

    例如,在Windows Forms或WPF中,可以通过为控件添加Tooltip属性并设置其Text来实现。在Web开发中,可以使用HTML的`title`属性或JavaScript库如jQuery UI的Tooltip插件。 3. **触发事件**:在“TooltipTest”中,会...

    普通控件和数据窗口的tooltip示例pb9

    1. **创建和设置Tooltip**:首先,你需要选择要添加tooltip的控件,例如按钮、文本框或数据窗口等。然后,在控件的属性窗口中找到“ToolTipText”属性,并输入你想要显示的提示文本。对于数据窗口,可能需要在列定义...

    MFC最全ToolTip例子+源文件

    3. **添加和管理ToolTip** - `AddTool()`函数用于将控件与ToolTip关联。它需要控件的句柄、要显示的文本、控件的父窗口句柄以及可选的工具ID。 - `UpdateTool()`函数更新已存在的关联,如修改ToolTip文本。 - `...

    Extjs4添加tooltip

    Extjs4的textfield控件竟然没有tooltip悬浮提示,这应该算是个bug吧。网上查了很多,也没有方案。后来自己通过查询并整理出这个方案,终于实现了。 思想如下: 在textfield渲染时注册mouseover事件,然后在其中调用...

    vb.net中tooltip控件应用

    1. **添加Tooltip控件** 要在VB.NET项目中使用Tooltip,首先需要将它添加到窗体上。这可以通过打开设计视图,从工具箱中拖动Tooltip控件到窗体上来完成。尽管Tooltip本身并不直接在界面上可见,但它会在运行时为...

    WPFToolTip.zip

    在这种情况下,为控件添加ToolTip是一个实用且优雅的解决方案,可以提供额外的信息展示空间,使用户能够查看完整的数据。本教程将详细探讨如何在WPF中为ListBox和ListView添加ToolTip。 首先,我们需要了解WPF中的...

    C# 使用GDI+绘制漂亮的ToolTip控件

    本教程将深入探讨如何利用GDI+来扩展标准的ToolTip控件,使其拥有更丰富的外观和功能。 首先,让我们了解基本的ToolTip控件。在默认情况下,ToolTip控件只能显示简单的文本提示,而且样式单一。但通过自定义,我们...

    在siverlight中基于Popup浮动窗体控件模拟ToolTip的实现源码例子

    在Silverlight中,为了模拟一个Tooltip,我们通常会利用Popup控件来创建一个自定义的浮窗体。Popup控件是Silverlight中的一个非常有用的组件,它可以用来创建弹出式窗口,这些窗口可以在用户交互时动态显示或隐藏,...

    对超长HTML控件内容展现ToolTip信息控件代码

    5. **动态更新ToolTip内容**:在悬停事件触发时,根据当前控件的裁剪文本,动态更新ToolTip的内容。 6. **定位ToolTip**:为了确保ToolTip出现在合适的位置,可能需要使用JavaScript来计算并设置它的位置,使其跟随...

    最好用的jquery的tooltip控件

    你可以将这个Tooltip控件应用于各种场景,如提供帮助文本、显示详细信息、甚至用于创建互动的用户指南。 总的来说,Sexy Tooltips 1.1是jQuery的一个出色插件,它提供了美观且实用的Tooltip解决方案。通过深入理解...

    可以加到任何控件上的tooltip提示框控件.zip

    开发者可以将"ToolTipEx"控件添加到项目中,通过实例化和配置"ToolTipEx"类,为任何需要提示信息的控件提供自定义的Tooltip。这可能涉及到设置文本内容、显示延迟时间、字体样式、背景色和边框色等属性。 5. **...

    vc中tooltip应用

    Tooltip的基本功能是为用户提供额外的上下文信息,当用户将鼠标光标悬停在不明确或者功能复杂的控件上时,Tooltip会自动弹出一个小窗口,显示该控件的简要说明或功能描述。在Windows API中,Tooltip控件是通过`...

Global site tag (gtag.js) - Google Analytics