Autor Beitrag
andisun
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 61

Win 98, Win Xp
D5 Stan, D7 Ent
BeitragVerfasst: Do 08.08.02 15:12 
Bei GetWindowsText scheint bei mir alles zu funktionieren, aber wenn ich dann mit setWindowsText den Wert versuche zu ändern, geht das nicht immer, vorlallem nicht bei Comboboxen, auch wenn ich versuche bei einem Fremden Program zb. dem Windows-Rechner die Buttons umzubechriften geht das ncith, aber in meiem eigenen bzw meinen eigenen geht das wunderbar, wodran liegt das, oder muss man dazu ne andere funktion benutzen?
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: Fr 09.08.02 19:53 
Microsoft hat folgendes geschrieben:
However, GetWindowText cannot retrieve the text of a control in another application.

Dein Fehler ist der Klassiker in dem Zusammenhang ;c)
Wenn du Controls in einer anderen Anwendung manipulieren oder auslesen willst, musst du mit Nachrichten arbeiten. In diesem Fall also WM_GETWINDOWTEXT bzw. WM_SETWINDOWTEXT. Diese sendest du mit SendMessage() an das Control.

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
andisun Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 61

Win 98, Win Xp
D5 Stan, D7 Ent
BeitragVerfasst: Sa 10.08.02 12:04 
Naja nicht ganz ;-)

Die Messages heissen WM_GETTEXT und WM_SETTEXT, soweit ich das sagen kann...

Aufjedenfall funktioniert es so auch ncoh ncith ganz, bzw ich bin wieder zu blöd:

Also ich möchte gerne, das der Benutzer einen Text eingibt, der dann auf/in einem Control erscheint, dieses Control kann aber ein Edit, LB, CB, Button oder Memo sein...

Somit muss ich unterscheiden... und entsprechend reagieren, naja das erste ist kein Problem, beim zweiten fehlen mir n paar sachen, zb. wie sind die Messages fürs Memo, für CB un LB muss man das ganze machen indem man erstmal n neues Item macht und dann auswählt, aber beim Memo, wie fügt man da ne Zeile hinzu?

Ansonsten hats mit WM_SETTEXT funktioniert, nur hatte ich schon wiedre Probleme mit dem zb. dem Windows-Rechner, die farbigen Buttons lassen sich ncith ändern, die schwarzen Checkboxen aber doch.

Auch macht mir die Result-Verarbeiteung Probleme, wie reagiere ich darauf, zb. bei WM_SETTEXT gibts ja TRUE, FALSE, CB_ERR, CB un LB_SPACEERR, naja auf true zu reagieren bekomme ich ncoh hin, aber die anderen ncith, ich glaub ich hab nur wiedern BlackOut...

Aufjedenfall schon mal vielendank für deine hilfe OregonGhost, so bin ich wenigstens schon ein kleines bischen näher dran...
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: So 11.08.02 10:05 
Also mit den Message-Namen hast du natürlich Recht ;c)

Fakt ist, wenn das Control einen Fenstertext hat (und das haben die meisten), dann kannst du diesen mit WM_GETTEXT lesen.
Dass das bei bunten Buttons nicht funktioniert hat einen einfachen Grund: Diese werden von der Anwendung selbst gezeichnet und nicht von Windows, ergo kann es sein, dass die Anwendung den Text woanders speichert als im Control selbst.

Naja, wenn WM_SETTEXT true zurück gibt, ist alles in Butter - ansonsten ist ein Fehler aufgetreten, und darauf brauchst du im Prinzip in diesem Fall nicht zu reagieren ;c)

Und schließlich, ein Memo gibt es in Windows nicht, es ist dasselbe wie ein Edit. Folglich kannst du eine Zeile hinzufügen, indem du den Text ausliest, deinen anfügst, und den Text dann wieder setzt.

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
andisun Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 61

Win 98, Win Xp
D5 Stan, D7 Ent
BeitragVerfasst: So 11.08.02 10:12 
ich hab noch nix ausprobiert, aber das mit den bunten butus kann irgendwie ncith stimmen, den auslesen kann ich den text ja... oder hab ich da jetzt wieder ein denkfehler drin?
OregonGhost
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 215



BeitragVerfasst: So 11.08.02 18:13 
Ich kann's nicht beschwören, aber es kann sein, dass der Rechner den Fenstertext zweimal speichert, und zwar einmal im Control selbst und einmal irgendwo anders. Zum Zeichnen nimmt er aber wohl nur den irgendwo anders gespeicherten Text.

_________________
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.