Autor Beitrag
Passi077
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 125

Win XP
D7 Pers
BeitragVerfasst: Do 23.10.08 18:39 
Hi,

gibt es eine Möglichkeit, benachrichtigt zu werden sobald ein fremdes Fenster maximiert wird? Habe das benötigte Fensterhandle, falls das hilft.. Pollen wäre zwar möglich, aber das sollte eher nicht die Lösung sein...

Hintergrund:
Ich möchte meinen Desktop in unterschiedliche Bereiche aufteilen. So dass ein nicht maximiertes Fenster, dass sich z.B. oben links befindet, beim Maximieren nicht auf die Gesamte Bildschirmgröße expandiert wird, sondern nur auf einen festgelegten Bereich, z.B. 1/4 des Bildschirms oben links...
Unter XP geht das einigermaßen gut mit Hilfe von nVidia nView, leider läuft das aber nicht unter Vista :(

Würde mich freuen, wenn Ihr eine (oder gleich mehrere ;) ) Ideen habt!

Viele Grüße
Pascal
Passi077 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 125

Win XP
D7 Pers
BeitragVerfasst: Fr 24.10.08 16:54 
Bin inzwischen soweit, dass ich mir folgenden Windows-Hook geschrieben hab:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
type 
tag = record 
    LPARAM :lParam; 
    WPARAM :wParam; 
    message:Cardinal; 
    HWND   :hwnd; 
end

PMsg = ^Tag; 

const 
  WM_WND_MAX_MESSAGE = WM_APP + 0

function wndmsgHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall
begin 
  case nCode < 0 of 
    FALSE: 
      begin 
       if (PMsg(lparam).wparam = SC_Maximize) then 
        begin 
           SendMessage(WindowHandle,WM_WND_MAX_MESSAGE,0,0); 
        end
      end
  end
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam); 
end;


Das funktioniert soweit auch. Damit benachrichtige ich meine Anwendung immer dann, wenn ein Fenster maximiert wird.

Jetzt würde ich aber gerne die Originalnachricht an das Zielfenster verwerfen und das Maximieren manuell vornehmen.. weiß jemand, wie das geht :)?
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 24.10.08 17:04 
[url=www.delphipraxis.net...html]Crosspost[/url]. Nächste Mal bitte direkt im ersten Post kenntlich machen.