Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2010, 03:49   #1
Terazoid
 
Регистрация: 09.06.2009
Сообщений: 9
Вопрос Проблема при создании подсказки (ToolTip'а)

Здравствуйте.
У меня не выходит создать ToolTip. Может кто-то подскажет что не так?
Я подозреваю, что проблема в настройках проекта. У меня стоит VS2008.
Код:
#include <windows.h>
#include<TChar.h>
#include <commctrl.h>
#pragma comment(lib, "comctl32.lib")

HINSTANCE hInst;

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL AddTooltip (HWND hwndOwner, LPTSTR lpMsg);

int WINAPI WinMain(
				   HINSTANCE hInstance,    // дескриптор текущего экземпляра окна
				   HINSTANCE hPrevInstance,// дескриптор предыдущего экземпляра окна
				   LPSTR lpCmdLine,        // указатель на командную строку
				   int nCmdShow= SW_SHOWMINIMIZED           // показывает состояние окна
				   )
{
//...//
	// Инициализация библиотеки "Common Control Library"
	INITCOMMONCONTROLSEX icc;
	icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
	icc.dwICC = ICC_WIN95_CLASSES;
	InitCommonControlsEx(&icc);

	if(!AddTooltip (hMainWnd, L"Это клиентская область главного окна приложения"))
		MessageBox(hMainWnd, L"Error", L"Error", MB_OK);
	else
		MessageBox(hMainWnd, L"Good", L"Good", MB_OK);

//...//
	return 0;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
//...//
}
BOOL AddTooltip (HWND hwndOwner, LPTSTR lpMsg)
{
    HWND hwndTip;   // дескриптор элемента управления Tooltip    
    TOOLINFO ti;	// информация об инструменте (о горячей области),
					// обслуживаемом элементом hwndTip

	HINSTANCE hInst = (HINSTANCE)GetWindowLong(hwndOwner, GWL_HINSTANCE);

    hwndTip = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, NULL, WS_POPUP|TTS_NOPREFIX|TTS_ALWAYSTIP,
		CW_USEDEFAULT, CW_USEDEFAULT,
		CW_USEDEFAULT, CW_USEDEFAULT,
		NULL, (HMENU)NULL, hInst, NULL);

	// Инициализация структуры ti
    memset (&ti, 0, sizeof (TOOLINFO));
	ti.cbSize = sizeof(TOOLINFO);
    ti.uFlags = TTF_SUBCLASS;
    ti.hwnd = hwndOwner;
    ti.hinst = hInst;
    ti.uId = 0;
    ti.lpszText = lpMsg;
	// Местоположение инструмента в окне hwndOwner
	// (инструмент покрывает всю клиентскую область)
    GetClientRect (hwndOwner, &ti.rect);
    
    // Регистрация инструмента с информацией ti
    return SendMessage(hwndTip, TTM_ADDTOOL, 0, (LPARAM)(LPTOOLINFO) &ti);
}
Вот проект:
Вложения
Тип файла: rar ToolTip.rar (4.11 Мб, 11 просмотров)

Последний раз редактировалось Terazoid; 31.03.2010 в 04:06.
Terazoid вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при создании компонента Levsha100 Компоненты Delphi 3 02.05.2009 12:05
Проблема перехвата сообщений при создании невизуального компонента volod3000 Компоненты Delphi 7 08.03.2009 14:13
Проблема при создании таблицы используя sql Proof БД в Delphi 2 26.02.2009 22:09
Проблема при создании БД HAMMAN БД в Delphi 4 25.04.2008 08:44
проблема при создании отчета в QuickRep Алёна БД в Delphi 2 16.11.2007 11:01