Da dürfte wohl nur selber zeichnen helfen. Ich habe mal was gemacht:
Delphi-Quellcode:
procedure TForm1.mitStrich1MeasureItem(Sender: TObject; ACanvas: TCanvas;
var Width, Height: Integer);
begin
// etwas breiter machen, damit es nach was aussieht
Width := Length((Sender as TMenuItem).Caption) + 100;
end;
procedure TForm1.mitStrich1DrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; Selected: Boolean);
begin
// zwei versetzte Linien zeichen für den 3D Effekt
ACanvas.Pen.Color := clBtnShadow;
ACanvas.MoveTo(2, ARect.Bottom - ARect.Top div 2 - 3); // - 3 -> Die Linie sitzt etwas zu weit unten
ACanvas.LineTo(ARect.Right - 2, ARect.Bottom - ARect.Top div 2 - 3); // - 3 -> Die Linie sitzt etwas zu weit unten
ACanvas.Pen.Color := clWhite;
ACanvas.MoveTo(2, ARect.Bottom - ARect.Top div 2 - 2);
ACanvas.LineTo(ARect.Right - 2, ARect.Bottom - ARect.Top div 2 - 2);
// Und den Text mittig drüber schreiben
DrawText(ACanvas.Handle, PChar((Sender as TMenuItem).Caption), Length((Sender as TMenuItem).Caption), ARect,
DT_CENTER);
end;
Du musst nur noch das entsprechenden MenüItem auf OwnerDraw = True stellen und den obigen Code in die entsprechenden Ereignissroutinen kopieren. Ich vermute mal, das soll so was wie eine Überschrift werden, deshalb dachte ich, der 3D Effekt wäre ganz passend.