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


Автор: Pavelbej 8.2.2007, 14:12
Хинт отображаю над списком файлов которые не умещаются полностью.  Но если скролировать мышкой дальше, то хинт остается, хотя под мышкой уже другой файл, и исчезает только при перемещении.
Можно отключить хинт при скролировании и как это сделать?

Автор: maestro2k 8.2.2007, 14:16
Какой компонент

Автор: Pavelbej 8.2.2007, 14:21
ListBox

Автор: Bose 8.2.2007, 15:47
Код

Application.HideHint;

Автор: Pavelbej 8.2.2007, 18:22
Bose,  а как узнать что сейчас идет скролинг над этим компонентом?

Автор: Rennigth 8.2.2007, 18:43
Pavelbej, Примерно так можно:
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, JvMemo, JvEdit, JvLabel, JvComponent, JvWinampApi,
  JvWinampLabel, JvMagnet;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
  private
    FSaveLBWndMethod: TWndMethod;
    procedure ListBoxWndProc(var VMessage: TMessage);
  public
    constructor Create(AOwner: TComponent); override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

constructor TForm1.Create(AOwner: TComponent);
begin
  inherited;
  FSaveLBWndMethod := ListBox1.WindowProc;
  ListBox1.WindowProc := ListBoxWndProc;
end;

procedure TForm1.ListBoxWndProc(var VMessage: TMessage);
begin
  if (VMessage.Msg = WM_VSCROLL) or (VMessage.Msg = WM_MOUSEWHEEL) then
    Application.HideHint;
  if Assigned(FSaveLBWndMethod) then
    FSaveLBWndMethod(VMessage);
end;

end.


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