Einzelnen Beitrag anzeigen

Optiplex

Registriert seit: 5. Mär 2008
131 Beiträge
 
Delphi 2005 Personal
 
#27

Re: Fenster nicht minimieren

  Alt 5. Nov 2008, 09:27
hallo jfheins,
habe esst gestern Abend ausprobiert, bin aber bei @NewWndProc in FormCreate hängen geblieben ich bekam den Fehler
[Fehler] E2036 Variable erforderlich,. Weist du welche Variable gemeint ist und wie und wo ich diese deklarieren muss?
Ich habe auch probiert die NewWndProc eingenständig ohne sie im Private teil anzugeben, hier bekomme ich noch den Fehler,
dass die Typen Pointer und Integer nicht kombatibel sind. Kann dir deshalb nicht sagen ob die function überhaupt aufgerufen wird.

const DTM_Raise=WM_User+83;

type
TForm2 = class(TForm)
private
function NewWndProc(hWnd:HWND;uMsg:Uint;wparam:WParam;lPara m:LPARAM):Lresult;
end;
var
Form2: TForm2;
OldwndProcointer;

implementation

procedure TForm2.FormCreate(Sender: TObject);
begin

OldwndProc:=Setwindowlong(self.Handle,GWL_WNDPROC, @NewWndProc);

end;

function TForm2.NewWndProc(hWnd:HWND;uMsg:Uint;wparam:WPara m;lParam:LPARAM):Lresult;
begin
if (uMsg=DTM_RAISE) then begin
sleep(3000);
end else CallwindowProc(Oldwndproc,hwnd,umsg,wparam,lparam) ;

end;


Hallo Oliver,
wenn die Transparent nicht am diesem Verhalten schuld ist, was bewirkt dann, dass dein Fenster für Win+D bzw Win+M tasten scheinbar unempfindlich ist, erklärs mir bitte. Ich kann nämlich keine besonderen Messageaufrufe in deinem Code erkennen, er funktioniert aber.

gruss Dieter

Gruss Optiplex
  Mit Zitat antworten Zitat