Free Web Hosting Provider - Web Hosting - E-commerce - High Speed Internet - Free Web Page
Search the Web

1260
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;