Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TImage im Hintergrund, Onklick Ereignis im Vordergrund (https://www.delphipraxis.net/50880-timage-im-hintergrund-onklick-ereignis-im-vordergrund.html)

Hallo_Thomas 2. Aug 2005 10:09


TImage im Hintergrund, Onklick Ereignis im Vordergrund
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich wollte einen TImage Button erzeugen, auf(bzw auch Labels die den den Button nur Streifen) dem dann noch einmal ne Art ist, in dem sich der Text verändert.

Dafür setze das Image mit

Delphi-Quellcode:
Image.SendToBack
in den Hintergrund, um das Label anzeigen zu können, allerdings funktioniert dann das Klick Ereigniss nicht über dem Label, wie kann ich das Klick ereignis des Image in den Vordergrund stellen, obwohl, das Label im Vordergrund ist?

Stanlay Hanks 2. Aug 2005 10:42

Re: TImage im Hintergrund, Onklick Ereignis im Vordergrund
 
Hi. Du musst einfach in das OnClick Ereignis des Labels schreiben:

Delphi-Quellcode:
ButtonX.Click;
oder du weist das OnClick Ereignis des Images dem des Labels zu.

Man liest sich, Stanlay :hi:

Hallo_Thomas 2. Aug 2005 11:38

Re: TImage im Hintergrund, Onklick Ereignis im Vordergrund
 
-den Button nur Streifen-

Siehe Bild ist das eine Label, nur halb auf dem Button, so sollte es auch nur dann regieren denn es in der hälfte des Buttons angeklickt wird) , ausserdem plane ich Labels die über 4 Buttons gehen, es soll aber jeweilsnur der Button angeklickt werden, über dem der Cursor ist. :roll:

Khabarakh 2. Aug 2005 12:01

Re: TImage im Hintergrund, Onklick Ereignis im Vordergrund
 
So sollte es funktionieren:

Delphi-Quellcode:
procedure TForm1.LabelXClick(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to Components.ComponentCount - 1 do
    if Components[i] is TMyButtonDingens then
      with TControl(Components[i]) do
        if PtInRect(Rect(0, 0, Width, Height), ScreenToClient(Mouse.CursorPos)) then
          Click;
end;

Hallo_Thomas 2. Aug 2005 12:58

Re: TImage im Hintergrund, Onklick Ereignis im Vordergrund
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habs jetzt mal so versucht, plus x andere Versuche, aber irgendwie krieg ich noch nicht hin.


Delphi-Quellcode:
procedure TForm1.Label1Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to 2 do/////hab z.B auch 0-1 1-2 probiert
    if Components[i] is TMImage then
      with TControl(Components[i]) do
        if PtInRect(Rect(0, 0, Width, Height), ScreenToClient(Mouse.CursorPos)) then
          MI[i].click;
end;

Hier iist mal der Link zum Orginal -Scourecode

http://home.pages.at/dbr-software/delphi/mimage.htm

Hallo_Thomas 2. Aug 2005 16:33

Re: TImage im Hintergrund, Onklick Ereignis im Vordergrund
 
Ups, natürlich sollte sich der Button(Image) auch beim Drüberfahren mit der Maus normal verhalten, trotz Label


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz