Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.21;
Скачать: CL | DM;

Вниз

Как програмно показать hint компонента TEdit   Найти похожие ветки 

 
~Dim~ ©   (2003-08-06 14:31) [0]

Как програмно показать hint компонента TEdit


 
Игорь Шевченко ©   (2003-08-06 14:34) [1]

На скорую руку слепил:
unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FMyHintWindow : THintWindow;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
ARect : TRect;
Ext : SIZE;
DC : HDC;
OldFont : HFONT;
begin
ARect.TopLeft := Edit1.ClientToScreen(Point(5, 5));
DC := GetDC(0);
try
OldFont := SelectObject(DC, Screen.HintFont.Handle);
try
GetTextExtentPoint32 (DC, PChar(Edit1.Hint), Length(Edit1.Hint), Ext);
finally
SelectObject(DC, OldFont);
end;
finally
( 0, DC)
На скорую руку слепил:
unit main;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FMyHintWindow : THintWindow;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
ARect : TRect;
Ext : SIZE;
DC : HDC;
OldFont : HFONT;
begin
ARect.TopLeft := Edit1.ClientToScreen(Point(5, 5));
DC := GetDC(0);
try
OldFont := SelectObject(DC, Screen.HintFont.Handle);
try
GetTextExtentPoint32 (DC, PChar(Edit1.Hint), Length(Edit1.Hint), Ext);
finally
SelectObject(DC, OldFont);
end;
finally
ReleaseDC (0, DC);
end;
ARect.Right := ARect.Left + Ext.cx;
ARect.Bottom := ARect.Top + Ext.cy;
FMyHintWindow.ActivateHint (ARect, Edit1.Hint);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FMyHintWindow := HintWindowClass.Create(Self);
end;

end.


Как гасить его - отдельный вопрос.


 
Семен Сорокин ©   (2003-08-06 14:34) [2]

THintWindow -> CalcHintRect, ActivateHint, ReleaseHandle + F1



Страницы: 1 вся ветка

Текущий архив: 2003.08.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
14-68491
aga
2003-08-05 20:09
2003.08.21
Редактор...


3-68172
Donor
2003-07-28 11:44
2003.08.21
InterBase


7-68563
SergeyI
2003-06-02 14:54
2003.08.21
Доброго времени суток , вопрос по работе с реестром


3-68246
Magic&Wizard
2003-07-25 17:03
2003.08.21
HELP прорисовка окна при выполнении длинных запросов


3-68176
arous
2003-07-28 00:59
2003.08.21
Paradox