Registriert seit: 17. Jan 2007
1.169 Beiträge
Turbo Delphi für Win32
|
Re: Fenster bzgl. nur eines Fensters in den Vordergrund brin
1. Mai 2007, 10:00
Hallo,
der Code hier soll dein Fenster vor ein fremdes Fenster setzen.
Delphi-Quellcode:
type
PWinPos = ^TWinPos;
TWinPos = Record
hForm, hFindWin, hFirstWin : HWND;
end;
function SetWinPos(hWnd: THandle; WinPos: PWinPos): Boolean; stdcall;
begin
Result := true;
if IsWindowVisible(hWnd) then
begin
if hWnd = WinPos^.hFindWin then
begin
SetWindowPos(WinPos^.hForm, WinPos^.hFirstWin, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
Result := false;
end;
WinPos^.hFirstWin := hWnd;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
WinPos: TWinPos;
begin
WinPos.hForm := Form1.Handle;
WinPos.hFindWin := ...; //Handle des Fensters vor dem dein Fenster gesetzt werden soll
WinPos.hFirstWin := HWND_TOPMOST;
EnumWindows(@SetWinPos, integer(@WinPos));
end;
Du kannst damit dein Fenster also zwischen den anderen setzen.
Oder du kannst so SetWindowPos(Form1.Handle, (*hWnd*), 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
ein anders Fenster vor dein Fenster setzen.
Gruß bitsetter
"Viele Wege führen nach Rom" Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
|
|
Zitat
|