| Makale Tarihi : 28 Kasım 2000
Yazan:Can Kaynak |
|
Hint Penceresinin alt sınıf
tanımlaması
Delphi kendi standard hint penceresini yürütmesini
sağlar. Bazı sebeplerden dolayı Borland Delphi, hint penceresinin kenarlıklarının
standard windows hint sınıfından da yararlanarak normal hint penceresinden farklı
görünmesini ister(karşılaştırmak için en iyi yol eğer bir program dephide
yapılmışsa hint pencerelerini inceleyin).
Delphi hint penceresi üç boyutlu görünürken,standard
hint penceresi sadece ince siyah bir dikdörtgenle çevrilmiştir.
Siz Eğer hint pencerelerinin tipleri boyutları renklerini
değiştirmek ile ilgileniyorsanız bu örnek hoşunuza gidecek.
Yapacağımız tek şey delphi hint penceresinin standart
hint penceresi gibi görünmesidir.
İlk Önce THintWindow benzeri bir alt sınıf
tanımlarız:
TStandHintWin = class(THintWindow )
procedure WMNCPaint(var
Message: TMessage); message WM_NCPAINT;
end;
Ardından Paint yordamını yürülüğe
koyarız:
procedure TStandHintWin.WMNCPaint(var
Message: TMessage);
var
DC: HDC;
R: TRect;
begin
DC := GetWindowDC(Handle);
try
R := Rect(0, 0, Width, Height);
DrawEdge(DC, R, EDGE_ETCHED , BF_RECT + bf_Mono);
finally
ReleaseDC(Handle, DC);
end;
end;
En sonunda bu hint pencersini sınıfını global
HintWindowClass değişkenine atarız.
procedure TForm1.FormCreate(Sender:
TObject);
begin
HintWindowClass := TStandHintWin;
end; |