Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-68546
Скорбящий
2003-08-04 20:36
2003.08.21
Вопрос к участникам


4-68583
Flex
2003-06-18 15:55
2003.08.21
Помогите HOOK CTRL+INS+INS


14-68485
Работодатель
2003-07-29 15:18
2003.08.21
А чем мы хуже? У нас тоже появилась вакансия!


4-68581
nikkie
2003-06-15 00:50
2003.08.21
TimedMessageBox


1-68392
acsoft
2003-08-07 18:04
2003.08.21
Функция аналогичная delay в Паскале - забыл




   Наверх