Ownerdrawn menu 's,

, ownerdrawn menu' s, veranderen TmainMenu ownerdraw eigenschap is vastgesteld, en daarna elke, wil je OnDrawItem, tmenuitem schilderij van chaos,,, onmeasureitem.Een voorbeeld: na vrij converted van A naar monster:,,,,, TForm1 = klasse (tform), MainMenu1: TMainMenu;,, N1: TMenuItem; //////////////, N2: TMenuItem; het dossier -> regelmatig, en het TMenuItem N3; ///////-> gedurfde,, N4: TMenuItem; ///////-> Italic, van het dossier; het TMenuItem, N5:; ///////-> de onderstrepen, en de procedure N1DrawItem (Sender: TObject; ACanvas: tcanvas;,, ARect: TRect; Selected: booleaanse), de Procedure N1MeasureItem (Sender:;, TObject; ACanvas: tcanvas;,, var breedte, Height: geheel getal);,,,,,.,... TForm1.N1DrawItem (Sender: TObject ACanvas: tcanvas;,,, ARect: TRect; Selected: booleaanse), var;,,,,, clrPrevText: TColor; clrPrevBkgnd:, ik TColor;,,, - zaak (afzender als TMenuItem).MenuIndex van ACanvas.Font.Style:,, 1 =[fsbold]; [], 2:acanvas.font.style:=, fsitalic;,, 3:acanvas.font.style:= [fsunderline];,,,, aan het einde van de vooruitzichten; /energiebesparing van kleur en licht van kleur.,, clrprevtext:= canvas. Lettertype. Kleur;,, clrprevbkgnd:= canvas. Borstel kleur;,,., ///////de vaststelling van passende foreground en Background kleur, als een keuze had, begon acanvas.font.color:= clhighlighttext,,,,,,,,,,, acanvas.brush.color:= clhighlight; anders te beginnen, acanvas.font.color:= clmenutext,,,,,,,,,, acanvas.brush.color:= clmenu; aan het einde van het besluit /waar trekken; laat ruimte Voor een markering exttextout (acanvas.handle.,,, de linker +.,, GetSystemMetrics (sm_cxmenucheck), de Top van + 1,.,, eto_opaque @Elke PChar ((de afzender is een tmenuitem). Ondertiteling), lengte, (de afzender is een tmenuitem). Ondertiteling), geen);,, //herstel van de oorspronkelijke lettertype en de kleur van acanvas.font.color:= clrprevtext;.,,,,,, acanvas.font.style:= acanvas.brush.color:= clrprevbkgnd; [...];,,,,, de procedures aan de hand is. Een incident. N1measureitem (afzender: TObject; canvas: doek, var. De breedte, lengte: gehele);,, var, afmetingen: tsize;,,,, gettextextentpoint32 (canvas. Aan de,,, PChar ((de afzender is een tmenuitem). Ondertiteling), lengte van de afzender, voor tmenuitem ((). Ondertiteling), de omvang van de breedte);,,: = size.cx + 2 * * * * * * * GetSystemMetrics (sm_cxmenucheck);,, hoogte: = size.cy + 5;,, een einde te maken aan de,,;



Previous:
Next Page: