AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Button Komponente

Offene Frage von ".chicken"
Ein Thema von .chicken · begonnen am 30. Apr 2007 · letzter Beitrag vom 8. Mai 2007
Antwort Antwort
zemi

Registriert seit: 1. Mär 2007
1 Beiträge
 
#1

Re: Eigene Button Komponente

  Alt 1. Mai 2007, 22:11
Hey .chicken, warum machst du das nich einfach folgendermaßen:
Delphi-Quellcode:
procedure Tmainform.button_layerMouseEnter(Sender: TObject);
begin
 button.Visible:=false;
 button_hover.Visible:=true;
end;

procedure Tmainform.button_layerMouseLeave(Sender: TObject);
begin
 if(button_hover.Visible)
  then button_hover.Visible:=false
  else button_down.Visible:=false;
 button.Visible:=true;
end;

procedure Tmainform.button_layerMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 button_down.Visible:=false;
 button_hover.Visible:=true;
end;

procedure Tmainform.FormCreate(Sender: TObject);
begin
  with button_layer.Picture.Bitmap do
   begin
    TransparentColor := Canvas.Pixels[1,1];
    TransparentMode := tmFixed;
   end;
end;

procedure Tmainform.button_layerMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 button_hover.Visible:=false;
 button_down.Visible:=true;
end;
Erklärung:
button = Grafik des Buttons
button_hover = Grafik des Buttons, wenn Maus drüber ist (onMouseEnter)
button_down = Grafik des Buttons, wenn Maus geklickt ist (onMouseDown)
button_layer = Unsichtbare Grafik, die Events (onmouseenter,...) regelt

Funktionsprinzip:
Es liegen 4 Grafiken übereinander in selber größe:
- 1 für die normale Ansicht mit dem Wert visible:=true;
- 2 weitere für hover und click effekt mit visible:=false;
- ganz oben die Transparente, also nicht Sichtbare Grafik
Die Transparente Grafik regelt mit ihren Events, welche Button-Grafik unter ihr angezeigt werden soll.

Das kannst du mit einem openPictureDlg verbinden und du hast, was du willst.
Der einzige Nachteil ist, dass für jeden Effekt des Buttons eine eigene Grafik existieren muss!

gruß ZeMi
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz