![]() |
Im Fremden Programm auf Listbox klicken
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 |
AW: Im Fremden Programm auf Listbox klicken
Hat sich erledigt. Der Tag heute war einfach zu lange. Ich nache heute nicht mehr, denn das bringt nicht mehr.
|
AW: Im Fremden Programm auf Listbox klicken
Zitat:
|
AW: Im Fremden Programm auf Listbox klicken
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
Delphi-Quellcode:
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.
SendMessage(wndChild. LB_SETSEL, WPARAM(True),I)
Muss ich hier noch etwas machen damit der richtige Wert übernommen wird ? Tanja |
AW: Im Fremden Programm auf Listbox klicken
Hallo Delphianer,
ich habe noch mal etwas versucht. Auch mitteles
Delphi-Quellcode:
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.
SendMessage(wndChild LB_SELITEMRANGE, WPARAM(True), I)
Tanja |
AW: Im Fremden Programm auf Listbox klicken
Hallo,
hast Du mal versucht, selbst so ein Programm mit einer ListBox zu schreiben. Und dir mal selber die Nachrichten zu schicken? |
AW: Im Fremden Programm auf Listbox klicken
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 ?).
|
AW: Im Fremden Programm auf Listbox klicken
Zitat:
Tanja |
AW: Im Fremden Programm auf Listbox klicken
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. |
AW: Im Fremden Programm auf Listbox klicken
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 ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 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-2025 by Thomas Breitkreuz