【发布时间】:2017-02-27 18:22:37
【问题描述】:
如何检测WindowState 对TCustomForm 后代的更改?我希望随时通知我 WindowState 属性设置为不同的值。
我检查了 setter 中是否有事件或虚拟方法,但我没有找到任何可以实现我的目标的东西。
function ShowWindow; external user32 name 'ShowWindow';
procedure TCustomForm.SetWindowState(Value: TWindowState);
const
ShowCommands: array[TWindowState] of Integer =
(SW_SHOWNORMAL, SW_MINIMIZE, SW_SHOWMAXIMIZED);
begin
if FWindowState <> Value then
begin
FWindowState := Value;
if not (csDesigning in ComponentState) and Showing then
ShowWindow(Handle, ShowCommands[Value]);
end;
end;
【问题讨论】: