Fügen Sie eine Schaltfläche auf der Titelleiste des Formulars

Fügen Sie eine Schaltfläche auf der Titelleiste des Formulars

Ich habe eine Komponente, die Sie Tasten, um die Titelleiste des Formulars hinzufügen können. Hier ist der Code.



____________Code______________



Einheit TitleButton;



Schnittstelle



Anwendungen

Fenster, Nachrichten, SysUtils, Classes, Graphics, Controls, Forms, Dialoge;



const

WM_MOUSELEAVE = $ B014;



So'ne Art

TChangedProperty = (cpdown, cpallowallup, cpgroupindex);

So'ne Art

TTitleButton = class (TComponent)

privat

fbuttonrect: TRect;

fpressed, ffocused: boolean;

fbuttoncaption: string;

fwidth: integer;

fLeft: integer;

fvisible: boolean;

fhintshow: boolean;

fhint: THintWindow;

fhinttext: string;

fgroupindex: integer;

fdown: boolean;

fallowallup: boolean;

fparent: TForm;

fparentwidth: integer;

ficonwidth: integer;

fcallinheritedevent: boolean;

fdefaultwidth: integer;

fdefaultheight: integer;

ffont: TFont;

FICON: Ticon;

fborder3d, fborderthickness: integer;

fbuttondown: TNotifyEvent;

fbuttonmove: tmousemoveevent;

fbuttonup: TNotifyEvent;

pmsghandler: TWndMethod;

PPaint: TNotifyEvent;

Vorleimungsschicht: TNotifyEvent;

gtmp1, gtmp2, gtmp3: boolean;

Initializevariables Verfahren;

IconChange Verfahren (Sender: TObject);

Verfahren setbuttonwidth (eine Breite: integer);

Verfahren setbuttonleft (aleft: integer);

Verfahren setbuttoncaption (acaption: string);

Verfahren setbuttonfont (AFONT: TFont);

Verfahren setbuttonvisible (avisible: Boolean);

Verfahren SetIcon (Aicon: ticon);

Verfahren Rüffel (adown: Boolean);

Verfahren setallowallup (aallowallup: Boolean);

Verfahren setgroupindex (agroupindex: integer);

updateProperties Verfahren (achangedproperty: TChangedProperty);

geschützt

Message Verfahren (var msg: tmessage);

CaptionPaint Verfahren (var msg: tmessage);

CaptionMouseMove Verfahren (var msg: tmessage);

CaptionMouseDown Verfahren (var msg: tmessage);

CaptionMouseUp Verfahren (var msg: tmessage);

CaptionRightMouseDown Verfahren (var msg: tmessage);

CaptionDoubleClick Verfahren (var msg: tmessage);

CaptionActivate Verfahren (var msg: tmessage);

CaptionHitTest Verfahren (var msg: tmessage);

CaptionChange Verfahren (var msg: tmessage);

ParentMouseMove Verfahren (var msg: tmessage);

ParentMouseUp Verfahren (var msg: tmessage);

ButtonUp Verfahren (var msg: tmessage);

ParentPaint Verfahren (Sender: TObject);

ParentResize Verfahren (Sender: TObject);

DisplaySettingChange Verfahren (var msg: tmessage);

Verfahren geladen; zu ersetzen;

Öffentlichkeit

Konstruktor (AOwner: TComponent); ignorieren;

Zerstörer zu zerstören; ignorieren;

veröffentlicht

Eigenschaft Width: Integer lesen setbuttonwidth schriftlich fwidth;

Lage der Immobilie: Ganzzahl gelesen setbuttonleft Schreiben fLeft;

Caption-Eigenschaft: string Lese fbuttoncaption schriftlich setbuttoncaption;

Font-Eigenschaft: TFont lesen SetButtonFont Schreiben ffont;

Icon-Eigenschaft: Ticon lesen FICON schriftlich SetIcon;

Tiptext Eigenschaften: string Lesen fhinttext Schreiben fhinttext;

Visible-Eigenschaft: Boolean lesen setbuttonvisible schriftlich fvisible;

AllowAllUp Eigenschaften: boolean lesen fallowallup Schreiben setallowallup;

Down-Eigenschaften: Boolean read-write Rüffel fdown;

group Eigenschaften: integer lesen fgroupindex Schreiben setgroupindex;

OnMouseDown Immobilien: TNotifyEvent lesen fbuttondown Schreiben fbuttondown;

OnMouseMove Immobilien: tmousemoveevent lesen fbuttonmove schriftlich fbuttonmove;

OnMouseUp Eigenschaften: TNotifyEvent lesen fbuttonup Schreiben fbuttonup;

Ende;



const

TTB_SETBUTTONUP = WM_USER + 1;

Registrierungsverfahren;



Ausführung



Hersteller TTitleButton.create (AOwner: TComponent);

Start

geerbt;

fparent: = (Eigentümer wie TForm);

ffont: = tfont.create;

fhint: = thintwindow.create (auto);

FICON: = ticon.create;

Ende;



TTitleButton.destroy Zerstörer;

Start

wenn zugewiesen (FICON), dann

ficon.free;

wenn zugewiesen (ffont), dann

ffont.free;

wenn zugewiesen (fhint), dann

fhint.free;

geerbt;

Ende;



TTitleButton.loaded Verfahren;

Start

geerbt;

initializevariables;

Ende;



TTitleButton.UpdateProperties Verfahren (achangedproperty: TChangedProperty);

var

AMSG: tmessage;

Start

amsg.Msg: = TTB_SETBUTTONUP;

amsg.WParam: = Ganzzahl (auto);

amsg.LParamlo: = fgroupindex;

amsg.LParamHi: = Wort (achangedproperty);

amsg.Result: = 0;

fparent.perform (amsg.msg, amsg.wparam, amsg.lparam);

Ende;



TTitleButton.initializevariables Verfahren;

Start

wenn zugewiesen (fparent.WindowProc), dann

pmsghandler: = fparent.WindowProc;

fparent.WindowProc: = message;

Wenn nicht (csdesigning in Component), dann

Start

wenn zugewiesen (fparent.onpaint), dann

PPaint: = fparent.onpaint;

wenn zugewiesen (fparent.onresize), dann

Vorleimungsschicht: = fparent.onresize;

fparent.onpaint: = parentpaint;

fparent.onresize: = parentresize;

Ende;

fparentwidth: = fparent.width;

Zeromemory (@ fbuttonrect, sizeof (fbuttonrect));

fpressed: = false;

ffocused: = false;

fhintshow: = false;

ficonwidth: = 16;

ficon.Transparent: = true;

ficon.OnChange: = IconChange;

fhint.Color: = clInfoBk;

fcallinheritedevent: = false;

fdefaultwidth: = GetSystemMetrics (SM_CXSIZE);

wenn fwidth
fwidth: = fdefaultwidth;

fdefaultheight: = GetSystemMetrics (SM_CYSIZE);

fborder3d: = GetSystemMetrics (SM_CYEDGE);

fborderthickness: = GetSystemMetrics (SM_CYSIZEFRAME);

gtmp3: = false;

Ende;



TTitleButton.IconChange Verfahren (Sender: TObject);

Start

parentpaint (fparent);

Ende;



TTitleButton.messagehandler Verfahren (var msg: tmessage);

Start

wenn csdesigning in Component dann

Start

wenn msg.Msg = TTB_SETBUTTONUP dann

Start

ButtonUp (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

andere

pmsghandler (msg);

Ende

andere

Start

wenn msg.Msg = WM_NCPAINT dann

Start

CaptionPaint (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_NCLBUTTONDOWN dann

Start

CaptionMouseDown (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_NCMOUSEMOVE dann

Start

CaptionMouseMove (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_NCLBUTTONUP dann

Start

CaptionMouseUp (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_NCACTIVATE dann

Start

CaptionActivate (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_NCHITTEST dann

Start

CaptionHitTest (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if dann msg.Msg = WM_LBUTTONUP

Start

ParentMouseUp (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_MOUSEMOVE dann

Start

ParentMouseMove (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_NCRBUTTONDOWN dann

Start

CaptionRightMouseDown (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_NCLBUTTONDBLCLK dann

Start

CaptionDoubleClick (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_NCLBUTTONDBLCLK dann

Start

CaptionDoubleClick (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_SETTEXT dann

Start

CaptionChange (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_SETTINGCHANGE dann

Start

DisplaySettingChange (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg TTB_SETBUTTONUP dann

Start

ButtonUp (msg);

if (zugeordnet (pmsghandler)) und (fcallinheritedevent), dann

pmsghandler (msg);

Ende

else if = msg.Msg WM_MOUSELEAVE dann

Start

fhint.ReleaseHandle;

pmsghandler (msg);

Ende

andere

pmsghandler (msg);

Ende;

Ende;



TTitleButton.CaptionPaint Verfahren (var msg: tmessage);

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

InvalidateRect (fparent.handle, @ fbuttonrect, false);

Ende;



TTitleButton.CaptionMouseMove Verfahren (var msg: tmessage);

var

PT: TPoint;

tmpstate: TShiftState;

fhintwidth: integer;

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

gtmp1: = fpressed;

gtmp2: = ffocused;

pt.x: = msg.LParamLo-fparent.left;

pt.y: = msg.LParamHi-fparent.top;

wenn PtInRect (fbuttonrect, PT), dann

Start

ffocused: = true;

fhintwidth: = fhint.Canvas.TextWidth (fhinttext);

if (fhintshow = false) und (Länge (trim (fhinttext) 0)), dann

fhint.ActivateHint(rect(mouse.cursorpos.x,mouse.cursorpos.y+10,mouse.cursorpos.x+fhintwidth+7,mouse.cursorpos.y+25),fhinttext);

fhintshow: = true;

wenn zugewiesen (fbuttonmove), dann

fbuttonmove (fparent, tmpstate, pt.x, pt.y);

Ende

andere

Start

ffocused: = false;

fhint.ReleaseHandle;

fhintshow: = false;

Ende;

fcallinheritedevent: = true;

Ende;



TTitleButton.CaptionMouseDown Verfahren (var msg: tmessage);

var

PT: TPoint;

tmp1: boolean;

callevent: boolean;

Start

callevent: = false;

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

fhintshow: = false;

fhint.releasehandle;

SetForegroundWindow (fparent.handle);

tmp1: = fpressed;

pt.x: = msg.LParamLo-fparent.left;

pt.y: = msg.LParamhi-fparent.top;

wenn PtInRect (fbuttonrect, PT), dann

Start

gtmp3: = true;

wenn fgroupindex = 0, dann

Start

callevent: = true;

Ende

andere

Start

Wenn nicht (fdown), dann

wenn zugewiesen (fbuttondown), dann

fbuttondown (fparent);

Ende;

fpressed: = true;

ffocused: = true;

SetCapture (fparent.handle);

Ende

andere

Start

fpressed: = false;

ffocused: = false;

Ende;

if (tmp1fpressed), dann

fcallinheritedevent: = false;

gtmp1: = fpressed;

gtmp2: = ffocused;

parentpaint (fparent);

if (callevent) und zugeordnet (fbuttondown), dann

fbuttondown (fparent);

Ende;



TTitleButton.CaptionMouseUp Verfahren (var msg: tmessage);

var

PT: TPoint;

tmp1, tmp2: boolean;

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

Release;

tmp1: = fpressed;

tmp2: = ffocused;

pt.x: = msg.LParamLo-fparent.left;

pt.y: = msg.LParamhi-fparent.top;

if (PtInRect (fbuttonrect, pt)) und (ffocused = true), dann

fpressed: = false

andere

ffocused: = false;

if ((tmp1fpressed) oder (tmp2ffocused)) und (fallowallup und fdown), dann

InvalidateRect (fparent.handle, @ fbuttonrect, true);

fcallinheritedevent: = true;

Ende;



TTitleButton.CaptionRightMouseDown Verfahren (var msg: tmessage);

var

PT: TPoint;

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

fhint.releasehandle;

pt.x: = msg.LParamlo-fparent.left;

pt.y: = msg.LParamHi-fparent.top;

wenn nicht PtInRect (fbuttonrect, PT), dann

fcallinheritedevent: = True

andere

fcallinheritedevent: = false;

Ende;



TTitleButton.CaptionDoubleClick Verfahren (var msg: tmessage);

var

PT: TPoint;

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

pt.x: = msg.LParamlo-fparent.left;

pt.y: = msg.LParamhi-fparent.top;

Wenn nicht (PtInRect (fbuttonrect, pt)), dann

fcallinheritedevent: = True

andere

Start

fcallinheritedevent: = false;

fparent.perform (WM_NCLBUTTONDOWN, msg.wparam, msg.LParam);

Ende;

Ende;





TTitleButton.CaptionActivate Verfahren (var msg: tmessage);

Start

fcallinheritedevent: = true;

wenn nicht sichtbar, dann

Ausgang;

InvalidateRect (fparent.handle, @ fbuttonrect, false);

Ende;



TTitleButton.CaptionHitTest Verfahren (var msg: tmessage);

var

tmp: boolean;

PT: TPoint;

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

dann, wenn fpressed

Start

tmp: = ffocused;

pt.x: = msg.LParamlo-fparent.left;

pt.y: = msg.LParamhi-fparent.top;

wenn PtInRect (fbuttonrect, PT), dann

Start

ffocused: = TRUE

Ende

andere

ffocused: = false;

dann, wenn ffocusedtmp

InvalidateRect (fparent.handle, @ fbuttonrect, false);

Ende;

wenn ffocused = false dann

fhint.releasehandle;

gtmp1: = fpressed;

gtmp2: = ffocused;

fcallinheritedevent: = true;

Ende;



TTitleButton.CaptionChange Verfahren (var msg: tmessage);

Start

fcallinheritedevent: = true;

wenn nicht, dann fvisible

Ausgang;

InvalidateRect (fparent.handle, @ fbuttonrect, false);

Ende;



TTitleButton.ButtonUp Verfahren (var msg: tmessage);

var

Absender ttitlebutton;

tmp: boolean;

Start

tmp: = f down;

fcallinheritedevent: = true;

Sender = (TComponent (msg.WParam) als ttitlebutton);

if (senderself) und (msg.LParamLo = fgroupindex), dann

Start

wenn tchangedproperty (msg.lparamhi) = cpdown dann

fdown: = false;

fallowallup: = sender.fallowallup;

dann, wenn tmpfdown

InvalidateRect (fparent.handle, @ fbuttonrect, false);

Ende;

Ende;



TTitleButton.ParentMouseMove Verfahren (var msg: tmessage);

var

PT: TPoint;

tmppt: TPoint;

tmprect: TRect;

tmpstate: TShiftState;

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

ffocused: = false;

pt.x: = msg.lparamlo;

pt.y: = msg.lparamhi-fparent.top;

tmppt: = pt;

tmppt.x: tmppt.x + = 4;

tmppt.y: = 65536-tmppt.y-fparent.top;

tmprect: = fbuttonrect;

InflateRect (tmprect, 1,1);

wenn PtInRect (tmprect, tmppt), dann

Start

ffocused: = true;

wenn zugewiesen (fbuttonmove), dann

fbuttonmove (fparent, tmpstate, tmppt.x, tmppt.y);

if (gtmp1fpressed) oder (gtmp2ffocused), dann // wenn dann fpressed

Start

InvalidateRect (fparent.handle, @ fbuttonrect, false);

gtmp1: = fpressed;

gtmp2: = ffocused;

Ende;

Ende;

if (gtmp1fpressed) oder (gtmp2ffocused), dann

Start

InvalidateRect (fparent.handle, @ fbuttonrect, false);

gtmp1: = fpressed;

gtmp2: = ffocused;

Ende;

fhintshow: = false;

fhint.releasehandle;

Ende;





TTitleButton.ParentMouseUp Verfahren (var msg: tmessage);

var

PT: TPoint;

tmp: TPoint;

tmprect: TRect;

tmpcallevent: boolean;

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

tmpcallevent: = false;

fhint.ReleaseHandle;

fhintshow: = true;

Release;

fpressed: = false;

pt.x: = msg.lParamlo;

pt.y: = msg.lParamhi-fparent.top;

tmp: = pt;

tmp.x: tmp.x + = 4;

tmp.y: = 65536-tmp.y;

tmp.y: = tmp.y-fparent.top;

tmprect: = fbuttonrect;

InflateRect (tmprect, 0,2);

wenn tmp.y <(fparent.top fparent.Height +), dann

pt: = tmp;

if (PtInRect (tmprect, pt)) und (ffocused) und (gtmp3), dann

Start

dann, wenn fgroupindex0

Start

wenn fallowallup = true dann

fdown nicht = (fdown)

andere

fdown: = true;

gtmp3: = false;

updateProperties (cpdown);

Wenn nicht (fdown), dann

tmpcallevent: = true;

Ende

andere

tmpcallevent: = true;

parentpaint (fparent);

if (tmpcallevent = true) und zugeordnet (fbuttonup), dann

fbuttonup (fparent);

Ende

andere

gtmp3: = false;

fcallinheritedevent: = true;

Ende;



TTitleButton.parentpaint Verfahren (Sender: TObject);

var

ButtonCanvas: TCanvas;

TextRect: TRect;

iconrect: TRect;

tmpwidth: integer;

Start

wenn fvisible = false dann

Start

wenn zugewiesen (PPaint), dann

PPaint (Absender);

Ausgang;

Ende;

Wenn nicht (csdesigning in Component), dann

Start

wenn fwidth
fwidth: = fdefaultwidth;

wenn fLeft = 0, dann

fLeft: fwidth + = 1;

fbuttonrect.left: = fparent.width-fleft- (3 * fdefaultwidth) - (+ fborder3d fborderthickness);

fbuttonrect.right: = fbuttonrect.left + fwidth;

fbuttonrect.top:=fborder3d+fborderthickness;

fbuttonrect.bottom: = fbuttonrect.top fdefaultheight- + (2 * fborder3d);

ButtonCanvas: = tcanvas.Create;

ButtonCanvas.Handle: = GetWindowDC (fparent.handle);

fillRect (buttoncanvas.Handle, fbuttonrect, HBRUSH (COLOR_BTNFACE + 1));

tmpwidth: = fdefaultheight-2;

iconrect.left: = fbuttonrect.left;

iconrect.top:=fbuttonrect.top;

iconrect.right: = iconrect.left + tmpwidth;

iconrect.bottom: = + fbuttonrect.top fdefaultheight-2 * fborder3d;

dann, wenn ficon.handle0

SubtractRect (TextRect, fbuttonrect, iconrect)

andere

TextRect: = fbuttonrect;

if (ffocused und fpressed) oder fdown dann

Start

DrawEdge (ButtonCanvas.Handle, fbuttonrect, EDGE_SUNKEN, BF_SOFT oder BF_RECT);

textrect.left: textrect.left + = 2;

textrect.Top:=textrect.Top+1;

textrect.right: = textrect.right-1;

iconrect.left: iconrect.left = + 3;

iconrect.top:=iconrect.top+2;

Ende;

wenn (nicht (fpressed) oder weniger (ffocused)) und nicht (fdown), dann

Start

DrawEdge (ButtonCanvas.Handle, fbuttonrect, EDGE_RAISED, BF_SOFT oder BF_RECT);

textrect.left: textrect.left + = 1;

textrect.right: = textrect.right-1;

iconrect.top:=iconrect.top+1;

iconrect.left: iconrect.left + = 2;

Ende;

ButtonCanvas.Brush.Style: = bsclear;

ButtonCanvas.Font.assign (ffont);

dann, wenn ficon.Handle0

Start

drawiconex(buttoncanvas.handle,iconrect.left+1,iconrect.top+1,ficon.handle,tmpwidth-5,fdefaultheight-8,0,0,DI_NORMAL);

wenn die Länge (trim (fbuttoncaption))> 0 dann

DrawTextEx (ButtonCanvas.Handle, PChar (fButtonCaption) Länge (fbuttoncaption), TextRect, DT_LEFT oder DT_SINGLELINE oder DT_VCENTER oder DT_END_ELLIPSIS oder DT_PATH_ELLIPSIS oder DT_MODIFYSTRING, null);

Ende

andere

DrawText (ButtonCanvas.Handle, PChar (fButtonCaption) Länge (fbuttoncaption), TextRect, DT_CENTER oder DT_SINGLELINE oder DT_VCENTER oder DT_END_ELLIPSIS oder DT_PATH_ELLIPSIS oder DT_MODIFYSTRING);

ButtonCanvas.Free;

wenn zugewiesen (PPaint), dann

PPaint (Absender);

Ende;

Ende;



TTitleButton.parentresize Verfahren (Sender: TObject);

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Start

wenn zugewiesen (Vorleimungsschicht), dann

Grunddeckschicht (Sender);

Ausgang;

Ende;

parentpaint (Sender);

wenn zugewiesen (Vorleimungsschicht), dann

Vorleimungsschicht (auto);

Ende;





TTitleButton.DisplaySettingChange Verfahren (var msg: tmessage);

Start

fcallinheritedevent: = true;

wenn fvisible = false dann

Ausgang;

fdefaultwidth: = GetSystemMetrics (SM_CXSIZE);

wenn fwidth
fwidth: = fdefaultwidth;

fdefaultheight: = GetSystemMetrics (SM_CYSIZE);

fborder3d: = GetSystemMetrics (SM_CYEDGE);

fborderthickness: = GetSystemMetrics (SM_CYSIZEFRAME);

parentpaint (fparent);

msg.result: = 0;

Ende;



Verfahren TTitleButton.setbuttonwidth (eine Breite: integer);

Start

wenn aWidth> 0, dann

fwidth: = eine Breite

andere

fwidth: = fdefaultwidth;

parentpaint (fparent);

Ende;



Verfahren TTitleButton.setbuttonleft (aleft: integer);

Start

if (aleft
fLeft: = aleft;

parentpaint (fparent);

Ende;



Verfahren TTitleButton.setbuttoncaption (acaption: string);

Start

fbuttoncaption: = acaption;

parentpaint (fparent);

Ende;



Verfahren TTitleButton.setbuttonfont (AFONT: TFont);

Start

ffont.assign (AFONT);

parentpaint (fparent);

Ende;



Verfahren TTitleButton.seticon (Aicon: ticon);

Start

ficon.assign (Aicon);

parentpaint (fparent);

Ende;



Verfahren TTitleButton.setbuttonvisible (avisible: Boolean);

Start

fvisible: = avisible;

fparent.perform (WM_NCACTIVATE, integer (true), 0);

Ende;





Verfahren TTitleButton.setdown (adown: Boolean);

var

tmp: boolean;

Start

tmp: = f down;

wenn csLoading in Component dann

fdown: = adown

andere

Start

dann, wenn fdownadown

Start

wenn fgroupindex = 0, dann

fdown: = false

andere

Start

wenn fallowallup = true dann

fdown: = adown

andere

fdown: = true;

Ende;

Ende;

Ende;

dann, wenn tmpfdown

updateProperties (cpdown);



Ende;



Verfahren TTitleButton.setallowallup (aallowallup: Boolean);

var

tmp: boolean;

Start

fcallinheritedevent: = true;

tmp: = fallowallup;

wenn csLoading in Component dann

fallowallup: = aallowallup

andere

Start

dann, wenn fgroupindex0

fallowallup: = aallowallup;

dann, wenn tmpfallowallup

updateProperties (cpallowallup);

Ende;

Ende;





Verfahren TTitleButton.setgroupindex (agroupindex: integer);

var

tmp: integer;

Start

tmp: = fgroupindex;

wenn csLoading in Component dann

fgroupindex: = agroupindex

andere

Start

wenn agroupindex> = 65535 dann

agroupindex: = 0;

if (agroupindex> = 0), dann

fgroupindex: = agroupindex;

wenn fgroupindex = 0, dann

Start

fallowallup: = false;

fdown: = false;

Ende;

dann, wenn tmpfgroupindex

updateProperties (cpgroupindex);

Ende;

Ende;



Registrierungsverfahren;

Start

Registercomponents ('My Components [TTitleButton]);

Ende;



Ende.

_____________End Von code_____________



Kopieren Sie den Code in eine Datei und dann pas registrieren.

(0)
(0)

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha