创建工具提示win32 api(Just API不是MFC) [英] Create tooltip win32 api (Just API not MFC)
问题描述
嘿每一个人!
我有丰富的编辑(只显示段落文字)
当我通过移动鼠标选择文本时,我想显示此选定的文本通过使用消息框屁股代码:
Hey every one!
I have a rich edit (only show paragraph text)
When i select a text by move mouse, i want to show this selected text by using message box ass following code:
case WM_KEYDOWN:
if (wParam == VK_RETURN)
{
wchar_t *wcWordSelect = new wchar_t[200];
SendMessage(hWnd, EM_GETSELTEXT, SCF_SELECTION, (LPARAM)wcWordSelect);
MessageBox(NULL, wcWordSelect, L"MSG", NULL);
}
break ;
但是我的任务是通过使用工具提示选择显示
请帮我用工具提示显示这个文字
我知道如何为按钮,气球工具栏制作工具提示但我不知道如何做我的任务
感谢您的帮助!!
But my task is show selected by using tooltip
Please help me show this text using tooltip
I known how to make tooltips for button, ballon toolbar but i dont known how to do my task
Thank for your help!!
推荐答案
A MessageBox
不是很有用,因为它需要用户操作才能关闭它。请查看 MSDN文档 [< a href =http://msdn.microsoft.com/en-gb/library/windows/desktop/bb760252(v=vs.85).aspx\"target =_ blanktitle =New Window> ^ 工具提示上的a>]。
A MessageBox
is not very useful as it requires action from the user to close it. Take a look at the MSDN documentation[^] on tooltips.
是的,我可以显示按钮的工具提示,例如:
Yes, i can show tooltip for a button such as:
case WM_NOTIFY:
{
switch (((LPNMHDR) lParam)->code)
{
case TTN_NEEDTEXT:
{
LPTOOLTIPTEXT lptttext;
lptttext = (LPTOOLTIPTEXT) lParam;
lptttext->hinst = g_hInst;
switch(lptttext->hdr.idFrom)
{
case ID_BUTTON1:
{
lptttext->lpszText = L"Tooltip button 1";
}break;
}
}
}
}
break;
这里的代码使用消息框显示所选文本(我创建了一个丰富的编辑控件的程序)
And the code below here show the selected text using message box (I create a procedure for rich edit controll)
LRESULT FAR PASCAL RichEditProc(HWND hWnd,
UINT Message,
WPARAM wParam,
LPARAM lParam)
{
wchar_t *wcWordSelect = new wchar_t[MAX_LENG_WORD];
switch(Message)
{
case WM_CHAR:
//Process this message to avoid message beeps.
if ((wParam == VK_RETURN) || (wParam == VK_TAB))
{
//Do Something
return 0;
}
break;
case WM_RBUTTONDOWN:
{
SendMessage(hWnd, EM_GETSELTEXT, SCF_SELECTION, (LPARAM)wcWordSelect);
MessageBox(NULL, wcWordSelect, L"MSG", NULL);
CreateToolTipForRect(hWnd);
}
break;
case WM_KEYDOWN:
if (wParam == VK_RETURN)
{
SendMessage(hWnd, EM_GETSELTEXT, SCF_SELECTION, (LPARAM)wcWordSelect);
MessageBox(NULL, wcWordSelect, L"MSG", NULL);
return 0;
}
break ;
default:
break;
}
return CallWindowProc((WNDPROC)lpfnOldWndProc, hWnd, Message, wParam, lParam);
}
我的问题是:如何使用工具提示,使用消息框显示'' wcWordSelect ''变量?
感谢您的帮助!!
My QUESTION is: how can i use tooltip insted of using message box to show ''wcWordSelect'' variable?
Thank for your help!!
这篇关于创建工具提示win32 api(Just API不是MFC)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!