Autor Beitrag
Premaider
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mi 01.02.12 19:48 
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


Zuletzt bearbeitet von Premaider am Mi 01.02.12 20:20, insgesamt 2-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.

Für diesen Beitrag haben gedankt: Premaider
Premaider Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
www.delphi-forum.de/...rder=asc&start=0
Wenn du so das Handle des Fensters gefunden hast, kannst du damit SetWindowPos benutzen, die du ja schon gefunden hast.

Für diesen Beitrag haben gedankt: Premaider
Premaider Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Mi 01.02.12 20:34 
Gut dann habe ich jetzt schon für Button1

ausblenden 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 user profile iconMartok: Delphi-Tags hinzugefügt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 01.02.12 20:39 
user profile iconPremaider hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden 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.
msdn.microsoft.com/e...esktop/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.

Für diesen Beitrag haben gedankt: Premaider
Premaider Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 01.02.12 21:18 
user profile iconPremaider hat folgendes geschrieben Zum zitierten Posting springen:
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.

user profile iconPremaider hat folgendes geschrieben Zum zitierten Posting springen:
€: Wo generiert der den Code denn hin ????????
Ich dachte da geht ein neues Fenster auf. :gruebel:
Premaider Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: 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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 02.02.12 00:58 
FindWindow liefert dir das Handle für SetWindowPos. Und noch mal: Lies die Dokumentation!