AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Im Fremden Programm auf Listbox klicken
Thema durchsuchen
Ansicht
Themen-Optionen

Im Fremden Programm auf Listbox klicken

Ein Thema von Dumpfbacke · begonnen am 9. Apr 2020 · letzter Beitrag vom 10. Jun 2020
Antwort Antwort
Seite 1 von 2  1 2      
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Im Fremden Programm auf Listbox klicken

  Alt 9. Apr 2020, 19:30
Hallo Delphianer,
ich habe hier ein Problem. Es gibt ein Programm aus dem ich Daten auslesen muss. Die Daten sind in einer ListBox eingetragen. Ich kann mit meinen Programm die benötigten Daten aus dem anderen Programm auslesen. Ich kann auch einen Eintrag auswählen. Jetzt kommt jeocoh mein Problem. Wenn ich in dem Programm mit der Maus den Eintrag auswähle wir ein Label im Programm gefüllt an die Daten muss ich ran. Kann ich das irgendwie simulieren ? Ich möchte nicht die Maus an die stelle bewegen und dann klicken. Es sollte mit SendMessage möglih sein.

Danke Dumofbacke
Tanja
  Mit Zitat antworten Zitat
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Im Fremden Programm auf Listbox klicken

  Alt 9. Apr 2020, 19:43
Hat sich erledigt. Der Tag heute war einfach zu lange. Ich nache heute nicht mehr, denn das bringt nicht mehr.
Tanja
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#3

AW: Im Fremden Programm auf Listbox klicken

  Alt 10. Apr 2020, 08:47
Hat sich erledigt. Der Tag heute war einfach zu lange. Ich nache heute nicht mehr, denn das bringt nicht mehr.
= HomeOffice
  Mit Zitat antworten Zitat
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Im Fremden Programm auf Listbox klicken

  Alt 8. Jun 2020, 07:22
Hallo Delphianer,
ich muss leider noch mal nachfragen da es doch einfach nicht funktionieren will. Ich möchte gerne ein anderen Programm steuern. Das habe ich auch schon alles hinbekommen nur die blöde ListBox zickt hier rum. Ich kann mir die Einträge aus der ListBox schon mal ziehen und somit meinen Eintrag aus auswählen. Dieses mache ich mittels
 SendMessage(wndChild. LB_SETSEL, WPARAM(True),I) Wobei I die Zeile ist die ich vorher ermittelt haben. Wenn man sich nun das zu steuernde Programm ansieht, so kann man auch erkennen das der Eintrag der gewünschten Zeile wirklich markiert ist. Als nächstes drückt man dann einen Button im Programm und der Wert wird übernimmen. Hier ist nun mein Problem. Wenn ich den Button drücke wird immer der erste Wert der ListBox übernommen und nicht der Wert wechen ich hier markiert habe. Muss nan hier noch ein update and die Listbox schicken ? Es ist schon ein wenig komisch das alles richtig angezeigt wird in der Listbox d.h. Der Eintrag ist dort ausgewählt und dann beim übernehmen funktioniert es nicht.

Muss ich hier noch etwas machen damit der richtige Wert übernommen wird ?

Tanja
Tanja

Geändert von Dumpfbacke ( 8. Jun 2020 um 10:48 Uhr)
  Mit Zitat antworten Zitat
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Im Fremden Programm auf Listbox klicken

  Alt 8. Jun 2020, 15:41
Hallo Delphianer,
ich habe noch mal etwas versucht. Auch mitteles SendMessage(wndChild LB_SELITEMRANGE, WPARAM(True), I) funktioniert es auch nicht. Es sind zwar dann alle markiert, aber auch hier wird nur der erste übernommen. Das ganzeich wie verhext ich komme da einfach nicht weiter und das Blöde Programm zickt nur rum.

Tanja
Tanja
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Im Fremden Programm auf Listbox klicken

  Alt 8. Jun 2020, 16:32
Hallo,
hast Du mal versucht, selbst so ein Programm mit einer ListBox zu schreiben.
Und dir mal selber die Nachrichten zu schicken?
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.536 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Im Fremden Programm auf Listbox klicken

  Alt 8. Jun 2020, 17:39
Entscheidend ist der Index, nicht die Markierung (zumindest wenn die Listbox Multiselect erlaubt). Du musst also einen passenden Wert für Sendmessage heraussuchen, der den Index ändert (evtl. CB_SETCURSEL ?).

Geändert von Harry Stahl ( 8. Jun 2020 um 17:42 Uhr)
  Mit Zitat antworten Zitat
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Im Fremden Programm auf Listbox klicken

  Alt 9. Jun 2020, 07:54
Entscheidend ist der Index, nicht die Markierung (zumindest wenn die Listbox Multiselect erlaubt). Du musst also einen passenden Wert für Sendmessage heraussuchen, der den Index ändert (evtl. CB_SETCURSEL ?).
Ja ich habe hier eine Listbox mit Multiselect. Aus diesen Grun dbenutze ich auch SETSEL. Der richtige Eintrag wird ja auch markiert. Leider geht es mit SETCURAEL auch nicht. Das komische ist das ja der Eintrag markiert ist und "nur" nicht übvernommen wird.

Tanja
Tanja
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: Im Fremden Programm auf Listbox klicken

  Alt 9. Jun 2020, 11:02
Man weiß ja nicht, wie das Programm intern arbeitet. Kann es sein, dass die ListView intern events abfeuert, die aber nicht abgefeuert werden, wenn du das von extern markierst? Wenn man GUI und Logik getrennt hat ist da vielleicht so ein Mechanismus im Spiel.

Du kannst ja selber ein Testprogramm mit ListView bauen und damit testen wann es klappt und wann nicht.
Ralph
  Mit Zitat antworten Zitat
Dumpfbacke

Registriert seit: 10. Mär 2005
Ort: Mitten in Deutschland
332 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: Im Fremden Programm auf Listbox klicken

  Alt 10. Jun 2020, 12:19
So ich habe mal schnell ein eigens Programm mit einer Listbox erstellt und siehe da dort funktioniert es wie es soll. Es hängt also an dem Programm welche es steuern möchte.
Sagt mal kann ich mitteles einer Sendmessage auch etwas an das Element schicken wie z.B. Cursor Up / Cursor down oder ein Update für das Element ? Normalerweise wählt man den Eintrag mit der Maus aus. Ich vermute einmal das hier im Hintergrund, wie Ihr es geschrieben habt, noch etwas geamcht wird wenn man einen Eintrag in der ListBox anklickt. Wenn ich mich bei dem Proramm mittes Tab auf das Element begebe und dann Curso down und Curor Up mache wird der Datebsatz übernommen. Es geht auch wenn ich mittels Tab das Element auswählt und dann Space drücke.
Bekommeich einen Tastendruck an das Element von den zu steuernden Programm auch wenn das Programm nicht den Focus hat ?
Tanja
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:31 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