AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Eine komponente einer anderen Applikation anektieren

Eine komponente einer anderen Applikation anektieren

Offene Frage von "David Martens"
Ein Thema von gibb · begonnen am 26. Mai 2010 · letzter Beitrag vom 10. Jun 2010
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#11

Re: Eine komponente einer anderen Applikation anektieren

  Alt 28. Mai 2010, 16:57
du kannst dem Steuerelement auch per RedrawWindow sagen, dass es sich neu zu zeichnen hat.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
gibb

Registriert seit: 12. Sep 2007
Ort: Bern
178 Beiträge
 
Delphi 2006 Architect
 
#12

Re: Eine komponente einer anderen Applikation anektieren

  Alt 1. Jun 2010, 16:09
Kann ich ihm auch mitteilen das sich der inhalt geändert hat?

Also sozusagen ein change event ausläsen ? die andere applikation erkennt nämlich nicht das der text sich geändert hat.

ein change event würde sicherlich auch ein repaint auslösen.

gruss gibb
  Mit Zitat antworten Zitat
gibb

Registriert seit: 12. Sep 2007
Ort: Bern
178 Beiträge
 
Delphi 2006 Architect
 
#13

AW: Eine komponente einer anderen Applikation anektieren

  Alt 8. Jun 2010, 11:41
Delphi-Quellcode:
      SendMessage(hwndControl,WM_SETTEXT,0,(Integer(PChar(strNewSpeed))));
      SendMessage(hwndControl,WM_SETREDRAW,1,0);
      RedrawWindow(HWNDControl, nil, 0, 0);
      PostMessage(HWNDControl, WM_KEYDOWN, VK_BACK,0); // backspace taste runter
      PostMessage(HWNDControl, WM_KEYUP , VK_BACK, $C0000000); // backspace taste rauf }
Hey, ich hab jetzt folgendes Implementiert, das ganze wird bei mir gut dargestellt und auch sonst sieht alles jut aus. ABER Speedfan erkennt nicht das sich der wert geändert hat im Textfeld. Was soviel bedeutet wie Speedfan steuert nicht anhand der Zahlen die ich übergebe.

Desshalb habe ich auch noch den Backspace gesendet, in der Hoffnung das dann das TSpinEdit Feld realisiert das es intern was abzuarbeiten hat. Leider hat der Backspace nicht funktioniert. Daher meine Frage, wie kann ich dem Edit mitteilen das es interne Prozeduren/Events auslösen muss genau gleich als hätte ich von hand etwas reingetippt?

Gruss gibb

Geändert von mkinzler ( 8. Jun 2010 um 11:48 Uhr) Grund: Code-Tag auf delphi umgestellt
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#14

AW: Eine komponente einer anderen Applikation anektieren

  Alt 8. Jun 2010, 11:44
Vielleicht mal mit Enter versuchen?
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
gibb

Registriert seit: 12. Sep 2007
Ort: Bern
178 Beiträge
 
Delphi 2006 Architect
 
#15

AW: Eine komponente einer anderen Applikation anektieren

  Alt 8. Jun 2010, 13:04
ja währ ne idee, aber ich denke nicht das das hilft. sonst ist ja auch kein enter notwendig. Die reine eingabe der zahlen bewürken wohl über die entpsrechenden events bereits das sich das Programm aktualisiert.
  Mit Zitat antworten Zitat
gibb

Registriert seit: 12. Sep 2007
Ort: Bern
178 Beiträge
 
Delphi 2006 Architect
 
#16

AW: Eine komponente einer anderen Applikation anektieren

  Alt 9. Jun 2010, 09:34
Also, das mit dem Enter funktioniert auch nicht. gibt es ne möglichkeit changeevent oder andere solche events anzustossen?

Gruss Sev
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#17

AW: Eine komponente einer anderen Applikation anektieren

  Alt 10. Jun 2010, 18:51
versuch doch mal

SendMessage(hwndControl,EN_CHANGE,0,0); Kommt von hier:
Delphi-Quellcode:
unit Messages;
...
{ Edit Control Notification Codes }

const
  {$EXTERNALSYM EN_SETFOCUS}
  EN_SETFOCUS = $0100;
  {$EXTERNALSYM EN_KILLFOCUS}
  EN_KILLFOCUS = $0200;
  {$EXTERNALSYM EN_CHANGE}
  EN_CHANGE = $0300;
  {$EXTERNALSYM EN_UPDATE}
  EN_UPDATE = $0400;
  {$EXTERNALSYM EN_ERRSPACE}
  EN_ERRSPACE = $0500;
  {$EXTERNALSYM EN_MAXTEXT}
  EN_MAXTEXT = $0501;
  {$EXTERNALSYM EN_HSCROLL}
  EN_HSCROLL = $0601;
  {$EXTERNALSYM EN_VSCROLL}
  EN_VSCROLL = $0602;
...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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