Главная страница
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.013 c
1-68336
Dysan
2003-08-08 11:59
2003.08.21
объект в dll


14-68513
Yuraz
2003-08-05 16:51
2003.08.21
MicroSoft при установке Win98 и др. считывает с БИОС дату


1-68307
Eugene_P
2003-08-06 15:22
2003.08.21
DDE -> VB -> MS WORD ?


14-68467
clickmaker
2003-08-06 13:15
2003.08.21
Дешевые гостиницы в Москве


1-68374
AnthreX
2003-08-07 03:38
2003.08.21
Большая таблица