Entwickler-Ecke
Sonstiges (Delphi) - Inhalt von Edit auslesen und Größe von externem Programm ?
Premaider - Mi 01.02.12 19:48
Titel: Inhalt von Edit auslesen und Größe von externem Programm ?
Wie soll mein Programm aussehen ?
Edit1 = Leer, (Wir tippen jetzt mal Beispiel ein)
Button1 = Externes Programm mit dem Namen Beispiel in 1280x720 Pixel setzen (Rand nicht mitgerechnet)
Da ich noch ein ziemlicher Anfänger mit Delphi 7 bin (grad in der Schule angefangen),
bitte genaustens Erklären wenn nicht einen fertigen code für denn Button posten.
€: Habe schon herausgefunden das es mit der Funktion SetWindowPos zu gehen scheint, aber wie ?
€: Das Problem ist nicht wie ich Button1 und Edit1 mache sondern wie ich sie dazu bekomme so zu funktionieren so wie ich will
Danke euch schonmal
LG Premaider
jaenicke - Mi 01.02.12 20:11
Hallo und willkommen,
ich verstehe gerade nicht wirklich wo dein Problem ist. Was hast du schon, wo kommst du nicht weiter? :gruebel:
Ich meine was du geschrieben hast erfordert keinen Quelltext. Du packst ein TEdit und einen TButton auf das Formular und stellst dessen Größe ein, z.B. per Ziehen mit der Maus, fertig. Ich weiß gerade echt nicht wie ich dir weiterhelfen soll.
Premaider - Mi 01.02.12 20:14
Das ist ja kein Problem.
Das problem ist das auslesen von Edit und ändern der Größe des Programmes das den Namen hat, der in Edit eingetragen wurde :)
jaenicke - Mi 01.02.12 20:23
Ach so, jetzt verstehe ich was du meinst. Dafür findest du hier ein Tool um dir den nötigen Code zu generieren um das fremde Fenster zu finden:
http://www.delphi-forum.de/viewtopic.php?t=21271&postorder=asc&start=0
Wenn du so das Handle des Fensters gefunden hast, kannst du damit SetWindowPos benutzen, die du ja schon gefunden hast.
Premaider - Mi 01.02.12 20:34
Gut dann habe ich jetzt schon für Button1
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.Button1Click(Sender: TObject); begin SetWindowPos(1639870, HWND_TOPMOST, Left,Top, 1280,720, SWP_SHOWWINDOW or SWP_NOMOVE or SWP_NOSIZE); end;
end. |
Aber was fehlt? Wieso geht das nicht ?
Moderiert von
Martok: Delphi-Tags hinzugefügt
jaenicke - Mi 01.02.12 20:39
Premaider hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); begin SetWindowPos(1639870, HWND_TOPMOST, Left,Top, 1280,720, SWP_SHOWWINDOW or SWP_NOMOVE or SWP_NOSIZE); end; | |
Schau dir doch bitte einmal die Dokumentation zu SetWindowPos an.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545.aspx
Du übergibst als Parameter, dass die Position und Größe des Fensters nicht verändert werden sollen und es nur angezeigt werden soll und wunderst dich dann, dass Windows die Position und Größe auch wirklich nicht ändert?!
Außerdem bringt es nicht viel, wenn du das Handle fest einbaust. Das ändert sich logischerweise beim Neustart der Anwendung. Da musst du FindWindow benutzen. Aber das tool generiert dir wie bereits geschrieben auch den nötigen Code.
Premaider - Mi 01.02.12 20:44
jetzt hat es endlich geklappt aber der handle war anders als beim ersten mal. ändert der sich ?
Tut mir leid wenn das ein bisschen komisch kling kenne mich da null aus.
Ja nochmal nachgeschaut der Handle ist immer anders wie lese ich den automatisch aus ?
Kann man nicht einfach sagen, "das Fenster mit dem und dem Namen ?"
Werds mal mit dem Code generator versuchen.
€: Wo generiert der den Code denn hin ????????
jaenicke - Mi 01.02.12 21:18
Premaider hat folgendes geschrieben : |
Kann man nicht einfach sagen, "das Fenster mit dem und dem Namen ?" |
Doch, schau dir einfach einmal FindWindow an. ;-)
Den Klassennamen siehst du in dem Tool. Das ist der andere Parameter.
Premaider hat folgendes geschrieben : |
: Wo generiert der den Code denn hin ???????? |
Ich dachte da geht ein neues Fenster auf. :gruebel:
Premaider - Mi 01.02.12 22:03
Doch wie verbinde ich FindWindow mit SetWindowPos ?
Hoffendlich schaffe ich das morgen wenn nicht muss ich mal meinen Informatik-Lehrer fragen,
gehe jetzt erst mal schlafen ;D
Delete - Do 02.02.12 00:58
FindWindow liefert dir das Handle für SetWindowPos. Und noch mal: Lies die Dokumentation!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!