function WP(Handle: HWND; Message: UINT; WP: WParam; LP: LParam): longint; stdcall; begin case Message of wm_Destroy: if Handle = H1 then begin PostQuitMessage(0); Result := 0; Exit; end; end; Result := DefWindowProc(Handle, Message, WP, LP); end;
begin with WC do begin Style := cs_HRedraw or cs_VRedraw or cs_OwnDC; lpfnWndProc := @WP; cbClsExtra := 0; cbWndExtra := 0; hInstance := MainInstance; hIcon := 0; hCursor := LoadCursor(0, idc_Arrow); hbrBackground := Color_BtnFace + 1; lpszMenuName := nil; lpszClassName := 'Test'; end;
while GetMessage(Message, 0, 0, 0) do begin TranslateMessage(Message); DispatchMessage(Message); end;
end.
Второе окно всегда сверху, даже когда первое активно. Если у второго окна задавать родителем 0, то в панели задач будут 2 иконки, тоже не катит. Что делать? Как делать правильно?