#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的更多相关文章

随机推荐

  1. UVA - 12563 Jin Ge Jin Qu hao(劲歌金曲)(0-1背包+滚动数组)

    题意:在KTV唱歌剩下的t秒时间内,决定选最爱的n首歌中的一部分歌,在时间结束之前唱一首时长678秒的<劲歌金曲>,使得唱的总曲目尽量多(包括<劲歌金曲>),在此前提下尽量晚的 ...

  2. Kaggle: House Prices: Advanced Regression Techniques

    Kaggle: House Prices: Advanced Regression Techniques notebook来自https://www.kaggle.com/neviadomski/ho ...

  3. 考研c语言基础 66++6

    1.数据类型 对于基本的数据类型,如整型int,long,...(考研中涉及处理的整数题目,如果没有特别要求用int足够了),字符型char,浮点型float.double...(对于处理小数问题,在 ...

  4. Swift字符串截取与Range使用

    1.String.Index String.Index表示一个位置,使用String与String.Index可以获取该位置的Character let str = "123456789&q ...

  5. vue-cli3.x 搭建项目目

    安装文档 https://cli.vuejs.org/zh/guide/ 安装条件 npm 更至最新 node >=8.9 可以用npm -v 查看npm的版本号 1.关于旧版本 Vue CLI ...

  6. [XSS防御]HttpOnly之四两拨千斤

    今天看了<白帽子讲web安全>一书,顺便记录一下,HttpOnly的设置 httponly的设置值为 TRUE 时,使得Javascript无法获取到该值,有效地防御了XSS打管理员的 c ...

  7. javaScript_BOM浏览器对象模型

    BOM:浏览器对象模型 Browser Object Model 用来访问和操作浏览器窗口,使JavaScript有能力与浏览器对话 通过使用BOM ,可以移动窗口,更改状态栏.执行其他不与页面内容发 ...

  8. Angular表单 (一)表单简介

    Angular 表单 angular提供了两种不同的方法来通过表单处理用户输入:响应式表单和模板驱动表单.二者都从视图中捕获用户输入事件.验证用户输入.创建表单模型.修改数据模型,并提供跟踪这些更改的 ...

  9. 第一个eclipse maven项目!我超全!

    前言:以前一直用idea做东西,今天突然想试一下,没想到配置起来是真的麻烦!!!!会出现各种各样的问题,太晚了,本文只做出几处非常严重的问题,如有疑问,请私信,留言 准备:本文     JDK 1.8 ...

  10. 小程序使用wxs 解决wxml保留2位小数问题

    1.出现溢出表现 从图中可以看到数字超出了很长长度.代码里面是如下这样的.为什么在0.35出现?或者一些相成的计算出现? 而 0.34却不会. 0.41 也会出现,好像是二进制运算出现结果. data ...