AGB  ·  Datenschutz  ·  Impressum  







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

SpeedButton

Ein Thema von itsme · begonnen am 26. Jun 2018 · letzter Beitrag vom 1. Jul 2018
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: SpeedButton

  Alt 26. Jun 2018, 15:03
Ich würde z.B. den Winspector Spy empfehlen. Das bringt aber nichts, denn wie itsme bereits korrekt geschrieben hat:
Zitat:
Die Suche hier im Forum hat ergeben, dass SpeedButton keine "richtigen" Fenster sind, also auch kein Handle besitzen
Zitat:
Vermutlich meintest du WinSpy.
Nein Winspector Spy

gruss
  Mit Zitat antworten Zitat
itsme

Registriert seit: 3. Aug 2006
32 Beiträge
 
Delphi XE Architect
 
#2

AW: SpeedButton

  Alt 26. Jun 2018, 16:23
Also zunächst vollkommen berechtigt, Entschuldigung für den blöden Titel...
WinSpy habe und kenne ich, echt genial, hier mein Daumen für den Autor
Denke mal Winspector Spy hat auch kein anderes Ergebnis, SpeedButton bleibt SpeedButton, kein Handle kein Fortschritt
Und ich habe keine Ahnung von Schnittstellen eines externen Programms, es ist extern, sonst müsste ich ja nicht fragen
Wenn nichts geht, dann klicke ich halt auf den Button, ohne wäre es eleganter gewesen, da keine Anwesenheit am Rechner erforderlich

Wie dem auch sei, es geht mir nicht um Anwesenheit oder nicht, lernen will ich
Das mit dem MausClick wäre ein Ansatz, aber da muss ich erst einmal darüber nachdenken, wie man sowas realisieren kann?
Letztendlich ist das ein fremdes Programm, da habe ich keinerlei Informationen darüber, wie gesagt nicht wichtig, aber eine Herausforderung

Aber vlt. sollte ich doch lieber "Hello World" in der 129igsten Version programmieren, da muss ich hier nicht fragen ROFL
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: SpeedButton

  Alt 26. Jun 2018, 16:47
Die frage wäre da noch wie speichert das Programm den Inhalt vom Speed Button.
Es muss ja irgendwoher die werte erhalten bzw. gegenprüfen.
Wenn die Daten in einer Ini gespeichert werden dürfte es kein Problem sein den Eintrag zu verändern.

Die frage ist nur ist diese geöffnet, hast du zugriff darauf und vor allem wie oft prüft das Teil den aktuellen wert.
Zitat:
Denke mal Winspector Spy hat auch kein anderes Ergebnis, SpeedButton bleibt SpeedButton, kein Handle kein Fortschritt
Da muss man sich auch nicht weiter drüber auslassen denn das sollte wohl klar sein ohne Handle geht da nix.
Egal welchen Spy du da nimmst.

gruss

Geändert von EWeiss (26. Jun 2018 um 19:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.857 Beiträge
 
Delphi 12 Athens
 
#4

AW: SpeedButton

  Alt 26. Jun 2018, 21:28
Wenn nichts geht, dann klicke ich halt auf den Button, ohne wäre es eleganter gewesen, da keine Anwesenheit am Rechner erforderlich
Das klingt so als würde dir schon ein ganz normaler Makrorekorder wie dieser vielleicht reichen...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: SpeedButton

  Alt 26. Jun 2018, 23:00
Habe gerade mal mit EDA nachgeschaut, alte Leier, ohne Handle isses nix.eda.jpg
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#6

AW: SpeedButton

  Alt 27. Jun 2018, 10:24
Die "passenden" Ereignisse muß man dann doch nur an dessen Parent schicken, also den mit einem Handle.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
itsme

Registriert seit: 3. Aug 2006
32 Beiträge
 
Delphi XE Architect
 
#7

AW: SpeedButton

  Alt 27. Jun 2018, 12:45
@himitsu
Also Parent ist ein TabSheet, da habe ich das Ereignis hingeschickt, trotzdem hat sich nichts getan.
Auf diesem TabSheet sind im übrigen 3 SpeedButton, selbst wenn das funktioniert hätte, wie hätte Parent dann gewusst, welcher SpeedButton gemeint ist?

Ich muss dann wohl zur Kenntnis nehmen, dass es nicht geht, Makro wäre vlt. eine Möglichkeit...
Es ging und geht natürlich auch ohne irgendeine Lösung, wieder ein wenig mit Delphi arbeiten, stand hier im Vordergrund.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: SpeedButton

  Alt 27. Jun 2018, 12:51
Auf SO habe ich eine Interessante Methode gefunden, aber vermutlich nützt das auch nichts wegen der Handle Geschichte.
Delphi-Quellcode:
function FindSubcontrolAtPos(AControl: TControl; AScreenPos, AClientPos: TPoint): TControl;
var
  i: Integer;
  C: TControl;
begin
  Result := nil;
  C := AControl;
  if (C=nil) or not C.Visible or not TRect.Create(C.Left, C.Top, C.Left+C.Width, C.Top+C.Height).Contains(AClientPos) then
    Exit;
  Result := AControl;
  if AControl is TWinControl then
    for i := 0 to TWinControl(AControl).ControlCount-1 do
    begin
      C := FindSubcontrolAtPos(TWinControl(AControl).Controls[i], AScreenPos, AControl.ScreenToClient(AScreenPos));
      if C<>nil then
        Result := C;
    end;
end;

function FindControlAtPos(AScreenPos: TPoint): TControl;
var
  i: Integer;
  f,m: TForm;
  p: TPoint;
  r: TRect;
begin
  Result := nil;
  for i := Screen.FormCount-1 downto 0 do
    begin
      f := Screen.Forms[i];
      if f.Visible and (f.Parent=nil) and (f.FormStyle<>fsMDIChild) and
        TRect.Create(f.Left, f.Top, f.Left+f.Width, f.Top+f.Height).Contains(AScreenPos)
      then
        Result := f;
    end;
  Result := FindSubcontrolAtPos(Result, AScreenPos, AScreenPos);
  if (Result is TForm) and (TForm(Result).ClientHandle<>0) then
  begin
    WinAPI.Windows.GetWindowRect(TForm(Result).ClientHandle, r);
    p := TPoint.Create(AScreenPos.X-r.Left, AScreenPos.Y-r.Top);
    m := nil;
    for i := TForm(Result).MDIChildCount-1 downto 0 do
    begin
      f := TForm(Result).MDIChildren[i];
      if TRect.Create(f.Left, f.Top, f.Left+f.Width, f.Top+f.Height).Contains(p) then
        m := f;
    end;
    if m<>nil then
      Result := FindSubcontrolAtPos(m, AScreenPos, p);
  end;
end;
Das soll es einem ermöglichen in Fremd-Anwendungen das Control unter der Maus zu ermitteln. Ich habe es noch nicht getestet.
Gruß vom KodeZwerg
  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 23:49 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 by Thomas Breitkreuz