![]() |
Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Hallo Leute,
Ich hatte noch nicht allzuviel damit zu tun und bisher nichts brauchbares gefunden. Angenommen ich starte notepad mit CreateProcess und habe dann den Fensterhandle. Ich kann diesen dann mit SetWindowPos, MoveWindow und Co wunderbar verschieben usw. Ich sollt aber nun das Fenster fixieren. Kann ich mich irgendwie auf die Move Events registrieren? Oder gibt es da einen anderen Ansatz? All diese:
Delphi-Quellcode:
beziehen sich doch nur auf meine eigene Applikation?
procedure WMWindowPosChanging(var msg: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
procedure WMEnterSizeMove(var Message: TMessage) ; message WM_ENTERSIZEMOVE; procedure WMMove(var Message: TMessage) ; message WM_MOVE; procedure WMExitSizeMove(var Message: TMessage) ; message WM_EXITSIZEMOVE; Danke |
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Du könntest mit
Delphi-Quellcode:
das Notepad Fenster in deine eigene Anwendung einbetten.
SetParent(NotepadWindowHandle, self.Handle)
|
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Hallo shmia,
Das bringt eigenartige Effekte wenn aus der externen App dann ein weiteres Fenster geöffnet wird. Es geht konkret um eine Quick And Dirty "Implementierung" eines Mail Clients (Windows Live) in ein Leitsystem welches via Touchscreen bedient wird. Der Mailclient wird über das Programm gelegt exl. Navigation des darunterliegenden Programmes. |
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
![]() Im Zweifel ließe sich mit einem regelmäßigen ![]() |
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Zitat:
![]() |
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Die ist jedoch nicht Prozessweit, und müsste für jedes neue Editorfenster neu gemacht werden. Daher hab ich die mal unerwähnt gelassen :)
Es gäbe sonst auch noch ![]() Und wenn man aus dem Editor ein LayeredWindow machte, ginge sogar noch ![]() |
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Hallo,
ChangeWindowMessageFilterEx wär genau was ich bräuchte. Leider bin ich aber auf XP. |
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Zitat:
|
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Laut Doku leider auch erst ab Vista, wenn ich nicht irre. Ansonsten bliebe ggf. noch das Unterschieben einer eigenen WndProc, was ich aber mangels Praxis nicht genauer beschreiben kann. Ich bin mir aber fast sicher, dass sich dazu auch in der DP etwas finden lassen sollte, gehen sollte es an sich ja.
|
AW: Fremdes Fenster unverschiebbar (Wie erhalte ich die Events?)
Zitat:
Zitat:
Und in dem Bereich fehlt auch mir die Praxis. Natürlich könnte ich mit einem Timer die Pos abfragen und dann bei <> wieder setzen. Aber da sträuben sich mir die Haare.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 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