Menu i toolbar taki jak w Office 2003

Menu i toolbar taki jak w Office 2003
MD
  • Rejestracja:ponad 20 lat
  • Ostatnio:prawie 16 lat
  • Postów:24
0

Ja zrobiłem sobie takiego toolbara za pomocą kodów które tu były podane, tylko nie mogę zrobić żeby wciśnięty button wyglądał inaczej :(


<img src="http://signer.idn.net.pl/static/adminek.png" alt="user image" />
R@fcio
  • Rejestracja:ponad 20 lat
  • Ostatnio:około 20 lat
  • Postów:29
0

Mogę Ci wysłać te komponenty, do buttona w stylu 2003 i nie tylko. Jeśli chcesz to podaj maila, to Ci je wyślę (rozmiar 7,47 MB).


Acces Voliation on line 124634256556565655
migajek
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 6 lat
  • Postów:370
0

Ja bym prosil na migajek[at]yahoo.com :D
BTW nie wiem czy juz byl tu ten link :
http://maxxdelphisite.free.fr/exbar.htm - fajne menu (Bar)


MD
  • Rejestracja:ponad 20 lat
  • Ostatnio:prawie 16 lat
  • Postów:24
0

Ja może później. Najpierw sam pokombinuje :)

A wie ktoś może jak mam rozwiązać ten problem z tym wciśniętym buttonem ??


<img src="http://signer.idn.net.pl/static/adminek.png" alt="user image" />
R@fcio
  • Rejestracja:ponad 20 lat
  • Ostatnio:około 20 lat
  • Postów:29
0

Przy funkcji toolbara AdvancedCustomDrawButton jest coś takiego jak State, więc najlepiej sprawdzić jaki jest ten State (czyli czy przycisk wciśnięty, normalny, lub czy użytkownik najechał naniego myszą). Pokombinuj trochę a na pewno się uda ;)


Acces Voliation on line 124634256556565655
MD
  • Rejestracja:ponad 20 lat
  • Ostatnio:prawie 16 lat
  • Postów:24
0

Ja na razie doszedłem do takiego kodu:

Kopiuj
procedure TForm1.ToolBar1AdvancedCustomDrawButton(Sender: TToolBar;
  Button: TToolButton; State: TCustomDrawState; Stage: TCustomDrawStage;
  var Flags: TTBCustomDrawFlags; var DefaultDraw: Boolean);
var
  c: TControlCanvas;
  ob: TBitmap;
begin
  if State = [cdsHot] then
  begin
    c := TControlCanvas.Create;
    c.Control := Button;
    ob := TBitmap.Create;
    ob.LoadFromFile('images/button.bmp');
    c.Brush.Bitmap := ob;
    c.Rectangle(0,0,23,22);
  end;
  if State = [cdsSelected] then
  begin
    c := TControlCanvas.Create;
    c.Control := Button;
    ob := TBitmap.Create;
    ob.LoadFromFile('images/button_down.bmp');
    c.Brush.Bitmap := ob;
    c.Rectangle(0,0,23,22);
  end;  
  if State = [cdsHot,cdsSelected] then
  begin
    c := TControlCanvas.Create;
    c.Control := Button;
    ob := TBitmap.Create;
    ob.LoadFromFile('images/button_down_focus.bmp');
    c.Brush.Bitmap := ob;
    c.Rectangle(0,0,23,22);
  end;
end;

procedure TForm1.ToolBar1CustomDraw(Sender: TToolBar; const ARect: TRect;
  var DefaultDraw: Boolean);
var
  ob: TBitmap;
begin
  ob := TBitmap.Create;
  ob.LoadFromFile('images/gradient.bmp');
  ToolBar1.Canvas.Brush.Bitmap := ob;
  ToolBar1.Canvas.FillRect(ARect);
end;

Link do całego źródła - http://members.lycos.co.uk/mali30/adminek/toolbar.html (przekierowanie do ZIP)
Jeszcze musze tylko zrobić separatory.


<img src="http://signer.idn.net.pl/static/adminek.png" alt="user image" />

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.