Einzelnen Beitrag anzeigen

Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Poupmenü hat einen Border

  Alt 14. Aug 2006, 09:43
Hi,

ich benutze OwnerDraw. Das Problem ist, dass das Popupmenü einen hässlichen Border besitzt (siehe Screenshot). Wie kann ich das verhindern? Diesen Code benutze ich bisher:
Delphi-Quellcode:
procedure TfrmMain.pmTrayDrawItem(Sender: TObject; ACanvas: TCanvas;
  ARect: TRect; Selected: boolean);
var ACaption: TCaption;
begin
  ACaption := TMenuItem(Sender).Caption;
  with ACanvas do
  begin
    if Selected then
    begin
      Brush.Color := pmTrayOver;
      Font.Color := pmTrayOverFont;
    end else
    begin
      Brush.Color := pmTrayBg;
      Font.Color := pmTrayFont;
    end;
    FillRect(ARect);
    ARect.Left := ARect.Left + 5;
    DrawText(Handle, PChar(acaption), Length(acaption),
       aRect, DT_SINGLELINE or DT_VCENTER);
  end;
end;
Viele von euch werden diesen Rand höchstwahrscheinlich nicht haben, denn es ist der Windowsskin, aber das Programm wird komplett geskinnt, deshalb sollte der Border durch ein kleines Rechteck drumrum ersetzt werden.
Miniaturansicht angehängter Grafiken
border_199.png  
  Mit Zitat antworten Zitat