Inhalt eines Edit-Feldes löschen?(API+VB/A)

Hallo zusammen,

hab folgendes Problem:

ich kann mit der EnumChildWindow-Funktion Fenster auslesen und die inhalte sehen. Brauche aber in ein Fenster, vom dem ich den Fensterhandle habe mit der sendmessage 'nen text schicken. Das problem ist: in dem Edit-Feld befindet sich schon ein string. wie kann ich ihn löschen?

BEispiel aus der EnumChildWindow-Funktion

Enum 133126, Edit , „3001“

und ich möchte mit einem befehl dieses feld leeren, so dass es kein „3001“ drin steht.

Vielen dank für ne antwort.

ps. kenn jemand von Euch ein GUTES buch zum thema api mit vb/vba

Hallo,

und ich möchte mit einem befehl dieses feld leeren, so dass es
kein „3001“ drin steht.

Du hast ja das Fensterhandle… dann einfach
SetWindowText p_hwnd, MyStr

Vielen dank für ne antwort.

keine Ursache…

ps. kenn jemand von Euch ein GUTES buch zum thema api mit
vb/vba

Ja, MSDN online, da ist alles beschrieben was die API kann.
Nett ist auch APIGuid 3.7, zum schnellen Nachschlagen. Die Anwendung sollte noch irgendwo in Netz zu finden sein, wird leider nicht mehr gepflegt.

Tschau
Peter

ps. kenn jemand von Euch ein GUTES buch zum thema api mit
vb/vba

Hallo Peter,

ja, da gibt es einen API-Guru :smile:

Schau mal nach dem Autor „Dan Appleman“. Der hat so eine Art Standard-Buch zu APIs geschrieben, quasi eine Art API-Bibel, zwar schon länger her, und APIs kommen quasi täglich neu dazu, aber das Buch ist okay.
Für mich dummerweise blöd zu lesen da in Englisch, ich würde mich sehr sehr freuen das gäb’s in Deutsch :frowning:
Trotz dieses Problems war es mir schon hilfreich.

Ein Buch in Deutsch hat er auch. heißt das API Puzzle buch o.ä.
Auch sehr interessant, aber da mußte schon mit APIs umgehen können, dann bringt das erst viel.

Ich habe beide Bücher, bei Interesse kann ich dir exakt die Titel, ISBN usw. nennen. Muß dazu nur schauen wo sie grad in meinem Chaos sind :smile:

Da beide schon älter sind werden sie evtl. nicht mehr aufgelegt, also irgendwie bei ebay o.ä. suchen.

Und mal allgemein zu ebay gesagt, wenn ich da was suche und UNBEDINGT haben möchte, suche ich auch bei ebay.uk, ebay.es, ebay.fr usw.
Von mir aus auch in ebay.china :smile:

Jemanden zu finden der mir das dann ggfs. übersetzt was da steht das geht. Und „keine Treffer“ erkenne ich sicher in jeder Sprache. Der Rest mit Transportkosten u.ä. geht auch zu lösen.

Gruß
Reinhard

Hallo,
danke für die Tipps :smile:

Werde mich jetzt nach dem Buch rumschauen und die Funktion: die habe ich zwar gestern ausprobiert, aber ginge irgendwie nicht. Ich muss da wohl noch rumbasteln.

Grüße,
Andrzej

danke für die Tipps :smile:
Werde mich jetzt nach dem Buch rumschauen und die Funktion:
die habe ich zwar gestern ausprobiert, aber ginge irgendwie
nicht. Ich muss da wohl noch rumbasteln.

Hallo Andrzej,

äh, wie spricht man das aus? Ein Mitschüler hieß/heißt Szszerback, auch so ein problem, zumindest für mich :smile:

Zu den Tipps, ich hätte da noch was, wenn du die nicht hören willst, les halt nicht weiter *gg*

„ging irgenwie nicht“ ist Blödsinn. Beschreib da immer genau was geschah, auch wenn aufgrund des Codes nix geschah so ist das eine Information, ansonsten, ggfs. exakte Fehlermeldung, welche Zeile wird markiert, halt alles das beschreiben was geschieht.

Du schreibst von VB/A, heißt das du willst da eine allgemeine Lösung für API-Einsatz in VB und Vba oder aber geht es um ein konkretes programm.
Wenn letzteres, dann gib das an, VB6.0, Access2000-Vba, Vb.Net usw.

Und, manchmal reicht es eine Codezeile zu zeigen und andere können dann anhand dieser Zeile den Fehler in ihr entdecken.
Sehr oft aber liegt der Fehler nicht in dieser Zeile.

Also zeige gleich den kompletten relevanten Code.
Und dabei möglichst den Code anpassen an eine Standardsituation.
Also etwas, was andere leicht und schnell nachbauen können.

Gruß
Reinhard

Hi,

  1. „ginge irgendwie nicht“ heißt: ich muss selbst zur Lösung kommen. Wenn nicht, dann werde ich es genauer beschreiben. Will Euch bloß nicht so stark ausnutzen :wink: den Tipp habe ich schon bekommen: das ist die Funktion. den Rest kann ich googeln und nur auf diese Weise kann ich was lernen.

  2. VB/VBA - für meinen Fall war es irrelevant, um welche Programmiersprache es sich hier handelt. Deswegen habe ich VB/VBA geschriben.

  3. „Andschey“ trifft fast genau zu, was die Aussprache meines Vornamens angeht :smile:

Hallo nochmal,
erst jetzt konnte ich die Funktion setwindowtext testen. Es ginge mir nicht darum den Titel des Fensters zu ändern. :frowning:

Wenn ich mit der Funktion EnumChildWindows alle Kinder eines Fenster rausbekomme, dann gibt es welche die Edit heißen. Bsp:
Enum 133126, Edit , „3001“
Diese Zeile habe ich mit der Funktion EnumChildWindows gewonnen. Hier habe ich den Fensterhandle, das Wort „Edit“ deutet darauf hin, dass es sich hier um ein editierbares Feld (Fenster) handelt, in dem im Moment der Wert „3001“ steht. Meine Frage ist: wie kann ich dieses Fenster leeren bzw. mit einem anderen Wert ersetzen. sendmessage? aber wie? Einzelne Buchstaben, auch Tasten z.B. die Taste „Delete“ kann ich mit Hilfe von sendmessage an das Fenster schiken, aber wie kann ich mit einem Befehl es ersetzen oder löschen?

DAnke,
Andrzej