AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Element auf der sich Mauscursor befindet ausführen
Thema durchsuchen
Ansicht
Themen-Optionen

Element auf der sich Mauscursor befindet ausführen

Ein Thema von guevaradelaserna · begonnen am 4. Feb 2008 · letzter Beitrag vom 7. Feb 2008
Antwort Antwort
Seite 2 von 2     12   
guevaradelaserna
(Gast)

n/a Beiträge
 
#11

Re: Element auf der sich Mauscursor befindet ausführen

  Alt 6. Feb 2008, 17:12
Danke erstmal für den Tipp. Ich werde nun mal fleissig rumbasteln. Ich hoffe ich kriege das irgendwie in das bestehende Programm rein.

Bye Che
  Mit Zitat antworten Zitat
guevaradelaserna
(Gast)

n/a Beiträge
 
#12

Re: Element auf der sich Mauscursor befindet ausführen

  Alt 7. Feb 2008, 15:49
Hallo!

Ich hatte ja gestern diesen Code
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var c: TControl;
begin
  c := self.ControlAtPos(self.ScreenToClient(Mouse.CursorPos),true);
  if Assigned(c) and (c is TImage) then
    begin
      Timer1.Enabled := false;
      ShowMessage('Image erwischt');
      Timer1.Enabled := true;
    end;
end;
als Lösung für mein Problem für Images bekommen.

Hierzu muss ich noch sagen, dass dies nur direkt auf Forms funktioniert sobald das Image auf einem Panel liegt oder so funktioniert es leider nicht mehr.

Jetzt nun zu meiner Frage:

wie kann ich das Click-Ereignis von c automatisch auslösen ohne zu überprüfen welches Image bei c gerade betrachtet wird?

Bye Che
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#13

Re: Element auf der sich Mauscursor befindet ausführen

  Alt 7. Feb 2008, 15:55
Ist das immer dasselbe Panel? Wenn ja, einfach das "self" durch den Namen des Panels austauschen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
guevaradelaserna
(Gast)

n/a Beiträge
 
#14

Re: Element auf der sich Mauscursor befindet ausführen

  Alt 7. Feb 2008, 16:11
nein ist leider nicht immer das selbe Panel! Notfalls kann ich auch mit mehreren Timern arbeiten. Vielmehr interessiert mich aber wie ähnlich wie hier
  TButtonEx1(ActiveControl).Click; das beim gerade betrachteten Image definierte OnClick-Ereignis automatisch auslösen. Ich habe keine Möglichkeit gefunden den Namen oder ähnliches herauszubekommen, um dann dieses Image ansprechen zu können.

Bye Che
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Element auf der sich Mauscursor befindet ausführen

  Alt 7. Feb 2008, 19:48
Zitat von guevaradelaserna:
nein ist leider nicht immer das selbe Panel! Notfalls kann ich auch mit mehreren Timern arbeiten.
Hallo,

oder versuche es mal mit einer Rekursion:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);

  function GetControl(const c: TControl): TControl;
  var
    c2: TControl;
  begin
    Result:= c;
    c2:= nil;
    repeat
      if Result is TWincontrol then
      begin
        c2:= TWincontrol(Result).ControlAtPos(Result.ScreenToClient(mouse.CursorPos), false, true);
        if c2 is TWincontrol then
          GetControl(c2);
        if Assigned(c2) then
          Result:= c2;
      end;
    until not Assigned(c2) or not (Result is TWincontrol);
  end;

var
  c: TControl;
begin
  c:= GetControl(self);
  if Assigned(c) then
    caption:= GetControl(c).Name;
end;
Zitat von guevaradelaserna:
Ich habe keine Möglichkeit gefunden den Namen oder ähnliches herauszubekommen, um dann dieses Image ansprechen zu können.

Bye Che
Delphi-Quellcode:
  if c = Image1 then
...
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:09 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