Napisałem program, cały jest w kolorze białym a pasek jest w kolorze szarym. Jak zmienić jego kolor na biały?
Domyślam się ze chodzi o komponent TMainMenu. Ustawiasz OwnerDraw na True.
Do każdego TMenuItem pod OnAdvancedDrawItem podpinasz taka procedurę.
procedure TForm1.XXXXAdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
var
Napis : String;
begin
ACanvas.Brush.Color := clWhite;
ACanvas.Pen.Color := clWhite;
ACanvas.Rectangle(ARect);
Napis := Copy((Sender as TMenuItem).Caption, 2, Length((Sender as TMenuItem).Caption) - 1); //Usuwamy &
ACanvas.TextOut(ARect.Left + 1, ARect.Top + 1, Napis);
end;
Pozostaje jeszcze ci dorobić ten kod, np. jak myszka najedzie na Itema żeby tło się zmieniło itd.
http://4programmers.net/Delphi/Gotowce/Efektywne_menu
http://4programmers.net/Delphi/Artykuły/OwnerDraw
Wszysto pięknie wygląda na menu, ale jak zmienić kolor pozostałego kawałka. U mnie wygląda to tak.
Czy wiecie jak zmienić kolor pozostałego fragmentu menu (szary) ? Próbowałem dodać dodatkowy przycisk bez nazwy i rozszerzyć go na pozostały fragment menu, ale nie jest możliwe aby rozszeżyć go na całość menu , zawsze pozostaje -margines (1, 2 mm) nie do wykorzystania, którego kolor dalej jest automatyczny (szary).