封装一个Win32弹出提示框的函数(用于Window控件 显示Tooltip)
2011-09-28 14:35
621 查看
原标题:封装一个Win32弹出提示框的函数(用于STATIC等控件显示Tooltip) HWND WINAPI CreateToolTip(HWND hwndOwner, LPCTSTR szTip) { INITCOMMONCONTROLSEX iccex; HWND hwndTT; // handle to the ToolTip control TOOLINFO ti; unsigned int uid = 0; // for ti initialization RECT rect; // for client area coordinates /* INITIALIZE COMMON CONTROLS */ iccex.dwICC = ICC_WIN95_CLASSES; iccex.dwSize = sizeof(INITCOMMONCONTROLSEX); InitCommonControlsEx(&iccex); /* CREATE A TOOLTIP WINDOW */ hwndTT = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hwndOwner, NULL, gAppInstance, NULL ); SetWindowPos(hwndTT, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); /* GET COORDINATES OF THE MAIN CLIENT AREA */ GetClientRect (hwndOwner, &rect); /* INITIALIZE MEMBERS OF THE TOOLINFO STRUCTURE */ ti.cbSize = sizeof(TOOLINFO); ti.uFlags = TTF_SUBCLASS; ti.hwnd = hwndOwner; ti.hinst = gAppInstance; ti.uId = uid; ti.lpszText = (LPTSTR)szTip; // ToolTip control will cover the whole window ti.rect.left = rect.left; ti.rect.top = rect.top; ti.rect.right = rect.right; ti.rect.bottom = rect.bottom; /* SEND AN ADDTOOL MESSAGE TO THE TOOLTIP CONTROL WINDOW */ SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti); return hwndTT; }
封装一个Win32弹出提示框的函数(用于等等HWIN 显示Tooltip)
原文
http://blog.c114.net/html/77/581677-76489.html
不过使用时要注意,在调用之前,HWIN hwndOwner如需重新设置回调函数时,应先设置回调函数在调用此函数
如给某Button增加tooltip
HWND hButton = CreateWindowEx(0, _T("BUTTON"), _T("按钮"), WS_VISIBLE | WS_CHILD , 0, 0,30,30, hwnd, NULL, NULL, NULL); SetWindowLongPtr (hButton, GWLP_WNDPROC, (LONG_PTR)ButtonCtrlProc); CreateToolTip(hButton, _T("我是按钮"));否则Tooltip将无法显示
相关文章推荐
- 封装一个Win32弹出提示框的函数(用于STATIC等控件显示Tooltip)
- iOS : 判断两个控件是否重合.(可用于判断某一个控件是否显示在window上)
- JavaScript基础 window.open(url,name,options) 弹出一个 新窗口 屏幕居中显示 获取屏幕的有效宽度
- window.confirm 参数就只有一个。显示提示框的信息。按确定,返回true;按取消返回false。
- [VB.NET]我打开网页的时候会弹出一个安全信息,然后出现:本页包含安全能容和不安全内容,是否显示不安全内容”请达人指教一下怎么删除这个提示
- 一个导出CListCtrl控件数据到Excel文件的封装函数[r]
- 使用CToolTipCtrl控件实现光标移动到一个控件时显示特定的提示信息
- C#中,当鼠标移动到控件上,动态显示提示内容 -> 用代码操作ToolTip
- 使用layer的alert函数完成根据post请求结果弹出一个提示,然后刷新本页面
- Asp.net中实现弹出提示显示在控件上对话框()
- CodeProject - 在C#使用SHGetFileInfo获取(管理)文件或者文件夹图标(C#封装Win32函数的一个例子)
- 封装一个类:软键盘弹出,将控件整体顶上去
- Thinksea HtmlRotator 是一个用于轮换显示HTML内容的控件。
- 实现网页文本框显示灰色提示文字且点击后消失的一个小函数(基于jquery)
- QTP回放时弹出 提示:一个或多个ActiveX控件无法显示
- 封装一个名字为$的函数,用于获取元素
- 设计一个窗体,该窗体显示一副图片,并使用ToolTip显示提示
- QT5-控件-QScrollArea-可以用于把一个窗口分割为多个-比如根据图片大小显示滚动条
- 使用ToolTip控件显示提示信息
- MFC 双击picture控件后弹出另外一个对话框,显示大图的策略