Forum Replies Created
-
AuthorPosts
-
ScottCannonParticipant
I want a skinned (Sizeable) borders and no titlebar. A normal window that is sizeable and has extended borders but does not have a titlebar.
You can do this with AlphaSkins turned off using the the following code. If you turn on AlphaSkins it paints the titlebar and does not work correctly.
procedure TForm1.btnShowTitlebarClick(Sender: TObject);
var
Style: Longint;
begin
if BorderStyle = bsNone then Exit;
Style := GetWindowLong(Handle, GWL_STYLE);
if (Style and WS_CAPTION) = WS_CAPTION then
begin
case BorderStyle of
bsSingle,
bsSizeable: SetWindowLong(Handle, GWL_STYLE, Style and
(not (WS_CAPTION)) or WS_BORDER);
bsDialog: SetWindowLong(Handle, GWL_STYLE, Style and
(not (WS_CAPTION)) or DS_MODALFRAME or WS_DLGFRAME);
end;
Height := Height – GetSystemMetrics(SM_CYCAPTION);
Refresh;
end;
end;
procedure TForm1.btnShowTitlebarClick(Sender: TObject);
var
Style: Longint;
begin
if BorderStyle = bsNone then Exit;
Style := GetWindowLong(Handle, GWL_STYLE);
if (Style and WS_CAPTION) WS_CAPTION then
begin
case BorderStyle of
bsSingle,
bsSizeable: SetWindowLong(Handle, GWL_STYLE, Style or WS_CAPTION or
WS_BORDER);
bsDialog: SetWindowLong(Handle, GWL_STYLE,
Style or WS_CAPTION or DS_MODALFRAME or WS_DLGFRAME);
end;
Height := Height + GetSystemMetrics(SM_CYCAPTION);
Refresh;
end;
end;
ScottCannonParticipantThis is a problem that I have had to deal with too. Hopefully this can be addressed in the next release.
ScottCannonParticipantSerge, will this be addressed in the next release? The problem effects all versions of Windows with the Taskbar set to Auto Hide.
I have put code to turn off Extended Borders when maximizing if the user has Auto Hide turned on and to turn Extended Borders back on when restoring it neccessary. This is not a good fix as there is a lot of flicker and repainting with the changing of Extended Borders.
Thanks,
Scott Cannon
ScottCannonParticipantQUOTE (Support @ Jul 10 2009, 07:13 AM) <{POST_SNAPBACK}>Thanks for report, I'll try to find a cause of problem.Any progress in a solution for this? I often receive the same errors in regards to “Not Enough Timers”.
Thanks,
Scott
-
AuthorPosts