Tooltips2
#include<windows.h>
#include<Commctrl.h>
#include"resource.h" #pragma comment(lib,"comctl32.lib") HWND CreateToolTips(HWND hWnd1,HINSTANCE hInst,HWND DlgItem,WCHAR *szName,int n=);
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HWND hWnd=CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)WndProc);
ShowWindow(hWnd,nCmdShow);
MSG msg;
while (GetMessage(&msg,NULL,NULL,NULL))
{
if (msg.message==WM_KEYDOWN)
{
SendMessage(hWnd,msg.message,msg.wParam,msg.lParam);
}else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
} return ;
} LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{ switch (message)
{
case WM_INITDIALOG:
{
CreateToolTips(hWnd,GetModuleHandle(NULL),GetDlgItem(hWnd,IDC_BUTTON1),L"yo yo, check it out.");
}
break;
case WM_CLOSE:
PostQuitMessage();
break;
case WM_DESTROY:
PostQuitMessage();
break;
default:
return false;
}
return true;
}
/*窗口句柄 模块句柄 控件句柄 说明文字*/
HWND CreateToolTips(HWND hWnd1,HINSTANCE hInst,HWND DlgItem,WCHAR *szName,int n)
{
INITCOMMONCONTROLSEX icex;
icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
icex.dwICC = ICC_TAB_CLASSES;// tab, tooltips
//InitCommonControlsEx可以指定初始化什么控件
InitCommonControlsEx(&icex);
//Tooltips是当鼠标停止在某一个工具元件时,界面对用户的提示
HWND hwndTip =CreateWindowEx(WS_EX_TOPMOST,TOOLTIPS_CLASS,,WS_POPUP|TTS_NOPREFIX|TTS_BALLOON,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,hWnd1,,hInst,);
//HWND hwndTip =CreateWindowEx(WS_EX_TOPMOST,TOOLTIPS_CLASS,0,TTS_ALWAYSTIP|TTS_NOPREFIX,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,hWnd1,0,hInst,0);
TOOLINFO ti={};
ti.cbSize = sizeof(TOOLINFO)-;
//TTF_IDISHWND说明不填充ti.rect
// ti.uFlags = TTF_SUBCLASS|TTF_IDISHWND;
ti.uFlags=TTF_SUBCLASS|TTF_IDISHWND|TTF_TRANSPARENT|TTF_CENTERTIP;
//ti.uFlags = TTF_SUBCLAS
//ti.rect.bottom=200;
//ti.rect.left=100;
//ti.rect.right=400;
//ti.rect.top=100;
ti.hwnd = hWnd1;
ti.hinst=hInst;
ti.uId =(UINT_PTR)DlgItem;
ti.lpszText =szName;
SendMessage(hwndTip,TTM_SETMAXTIPWIDTH,,n);
SendMessage(hwndTip,TTM_ADDTOOL,,(LPARAM)&ti);
//设置背景颜色
SendMessage(hwndTip,TTM_SETTIPBKCOLOR,RGB(,,),);
//设置字体颜色
SendMessage(hwndTip,TTM_SETTIPTEXTCOLOR,RGB(,,),);
return hwndTip;
}

Tooltips2的更多相关文章
随机推荐
- CentOS 7 下oracle 11G R2 ADG 搭建
本文记录ADG搭建操作步骤,首先在虚拟机CentOS中安装并配置好oracle 11g R2(具体安装步骤在我的另一篇博客中),然后拷贝一份虚拟机,修改新虚拟机的主机名和ip配置,这时候主库和备库是一 ...
- 找《飘》 中最常用的N个单词。
找<飘> 中最常用的N个单词. 1,题目:输出单个文件(<飘> 英文版)中的前 N 个最常出现的英语单词,并将结果输入到文本文件中. 2,设计思路: 1),按行依次读取文件并按 ...
- EUI库 - EXML
EXML是可以运行时加载解析的 <e:Skin class="skins.ButtonSkin" states="up,down,disabled&qu ...
- 洛谷 P1504 积木城堡
题目传送门 解题思路: 01背包. AC代码: #include<iostream> #include<cstdio> #include<vector> using ...
- Codeforces 433C #248_div1_A 中位数的应用
擦..今天这套题好尼玛难啊,做了一个小时,连一题都没做出来,而且还没什么头绪 查了下出题人,师大附中的 14年毕业 13年拿到的国家集训队资格 保送清华 题意是 给一串序列,计算一个值,这个值是 相邻 ...
- 201809-1 卖菜 Java
思路: 需要两个数组,一个保存原始数据 import java.util.Scanner; public class Main { public static void main(String[] a ...
- StringBuffer类、StringBuilder类详解
StringBuffer是一个字符串缓冲区,是一个容器,而且长度可变,可以直接操作多个数据类型, 最终会通过toString()方法变成字符串. 容器的功能有: 1.存储 public StringB ...
- PAT Advanced 1151 LCA in a Binary Tree (30) [树的遍历,LCA算法]
题目 The lowest common ancestor (LCA) of two nodes U and V in a tree is the deepest node that has both ...
- DispatcherServlet继承体系
GenericServlet implements Servlet, ServletConfig, java.io.Serializable | HttpServlet ...
- Aspectj切入点语法定义
例如定义切入点表达式 execution (* com.sample.service.impl..*.*(..)) execution()是最常用的切点函数,其语法如下所示: 整个表达式可以分为五个 ...