Frage: Ist die "Verankerung" Sache der Windows-
API oder der Anwendung???
Hinweis zum Code:
ParentForm bzw. ParentWindow ist eine ControlBar einer fremden Windowsanwendung.
FormX ist hier eine ToolBar, welche am rechten Rand der ControlBar eingefügt/verankert werden soll.
UpdateWindowPos wird z.Z. durch eine allg. Updatemethode aufgerufen. Ich denke aber, WinProc wäre ggf. geeigneter.
Code:
FParentForm: HWnd;
TFormX.CreateParented(AParentForm);
...
constructor TFormX.CreateParented(ParentWindow: HWnd);
begin
inherited CreateParented(ParentWindow);
FParentForm := ParentWindow;
SetWindowLong(ParentWindow,GWL_STYLE,GetWindowLong(ParentWindow,GWL_STYLE) or WS_CLIPCHILDREN or WS_CLIPSIBLINGS);
end;
...
procedure TFormX.UpdateWindowPos;
var R: TRect;
begin
GetClientRect(FParentForm,R);
SetWindowPos(
Handle,HWND_TOP,R.Right - Width + 8,0,0,0,SWP_NOSIZE or SWP_NOACTIVATE);
end;
Siegl