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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2013, 13:01   #1
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию TOOLTIP_CLASS - В одном проекте работает, а в другом нет

Здравствуйте.
Нужно создать всплывающую подсказку для кнопки. Делаю так:
Код:
function CreateToolTip(var Handle: HWND; const Owner: HWND;
                       const TipText: string): Boolean;
var
  ti: TOOLINFO;
  r : TRect;
begin
  Handle := CreateWindowEx(WS_EX_TOPMOST,tooltips_class,'',
                           WS_POPUP or TTS_ALWAYSTIP,
                           cw_usedefault,cw_usedefault,cw_usedefault,cw_usedefault,
                           Owner,0,HInstance,nil);
  if Handle<=0 then
  begin
    result := False;
    Exit;
  end;
  GetClientRect(Owner,r);
  ti.cbSize := SizeOf(toolinfo);
  ti.uFlags := TTF_SUBCLASS;
  ti.hwnd := Owner;
  ti.hInst := HInstance;
  ti.uId := 0;
  ti.lpszText := PChar(TipText);
  CopyRect(ti.rect,r);
  Result := SendMessage(Handle,TTM_ADDTOOL,0,lparam(@ti))>0;
end;

//вызов
          InitCommonControls;
          btn := CreateWindow(pchar('Button'),pchar('fqytweurtkculvyi'),
          WS_VISIBLE or WS_CHILD or BS_ICON,0,0,32,32,wnd,0, hInstance, nil);
        if btn>0 then
        begin
          SendMessage(btn,BM_SETIMAGE,IMAGE_ICON,LoadIcon(0,IDI_ASTERISK));
          CreateToolTip(hint,btn,'gyre4juk');
        end;
В одном проекте это работает, а в другом - нет. Почему так?
BLACK_RAIN вне форума Ответить с цитированием
Старый 27.09.2013, 13:12   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Неправильное Owner окно?
waleri вне форума Ответить с цитированием
Старый 27.09.2013, 13:15   #3
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Неправильное Owner окно?
Owner это хэндл кнопки, которой нужна подсказка. Задаю правильно.
BLACK_RAIN вне форума Ответить с цитированием
Старый 27.09.2013, 15:07   #4
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Разобрался! Это просто я лошара!
тему можно удалить.
p.s. оффтоп. Как получить хэндл подсказки, которая назначена кнопке? FindWindowEx(btn,0,tooltips_class,n il); не находит.

Последний раз редактировалось BLACK_RAIN; 27.09.2013 в 16:23.
BLACK_RAIN вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
код в одном проекте работает,в другом нет Миасс Общие вопросы C/C++ 15 08.07.2013 22:43
Eclipse две программы в одном проекте vovik93 Общие вопросы по Java, Java SE, Kotlin 0 18.07.2012 15:16
Общие сохранение форм в одном проекте Vadja-Son Общие вопросы Delphi 6 03.02.2012 15:23
Delphi 7. Почему на одном компе содержимое Image1.Canvas выводится на принтер, а на другом нет? KarlMarks Помощь студентам 0 11.12.2011 23:01
C#,J#,Assembler в одном проекте. Tatarin_86 Помощь студентам 0 31.03.2010 22:10