Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > hint для выподающих строк Combobox


Автор: green2005 24.8.2006, 12:19
Привет всем!

У меня такой вопрос:
Можно ли как-нибудь сделать
hint для выподающих строк Combobox , но
именно для TCombobox, а не создавать его потомков и в них писать свои методы.

Есть в инете такое некое решение:
Код

procedure TForm1.appIdle(sender: TObject; var done: Boolean);
var
  pt,pt0: TPoint;
  wnd: HWND;
  buf: array[0..128] of Char;
  i: Integer;
begin
  GetCursorPos(pt);
  pt0:=pt;
  wnd := WindowFromPoint( pt );
  buf[0] := #0;
  if wnd <> 0 then
  begin
    GetClassName( wnd, buf, sizeof(buf));
    if StrIComp(buf, 'ComboLBox') = 0 then
    begin
      Windows.ScreenToClient( wnd, pt );
      i := SendMessage( wnd, LB_ITEMFROMPOINT, 0, lparam( PointToSmallpoint(pt)));
      if i >= 0 then
      begin
        SendMessage( wnd, LB_GETTEXT, i, integer(@buf));
        statusbar1.simpletext := buf+Sender.ClassName;

        Exit;
      end;
    end;
  end;
  statusbar1.simpletext := '';
end;


Но хотелось бы чтобы hint выводился не во всех combobox-ах формы
и именно хинт а не в statusbar 
Хотя на счёт последего кажется тоже можно решить:
THintWindow.Create
и т.д.
Но опять же надо еще размеры Hinta определять
Наверное через Screen

Народ пишите все что вы думаете по данной проблеие

Автор: green2005 24.8.2006, 14:35
Всё! все сделал.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)