delphi中窗口最大最小化问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi中窗口最大最小化问题相关的知识,希望对你有一定的参考价值。

我的最小化按钮失效了 我不知道原因
然后加了以下代码
Application.OnMinimize:=HideForm;
procedure TForm1.HideForm(Sender: TObject);
begin
ShowWindow(Self.Handle,SW_MINIMIZE);

end;
就可以最小化了
但是由于我用了 Params.WndParent := GetDesktopWindow;
在任务栏会有两个窗口 一个是application 一个是form
第一次打开窗口 可以最小化
再点一下任务栏的form 最小化就又失效了
除非点一次application 再点一下form才能最小化

有什么方法可以解决啊

这个是微软设置的。 最小化的点击操作是 “还原” 而不是“最大化”

如果楼主想要最大化,可以在 onshow 事件里面进行控制
参考技术A 最小化按钮失效了?是灰掉了不可用吗?你到form窗体的属性设置里看一下BorderIcons的设置,点击它左侧的“+”展开,看一下biminimize是否为true。追问

不是,是点了没效果,加上上面的代码 再点第一次的时候能最小化 后面就不行了

本回答被提问者采纳

extjs中如何知道窗口是最大化还是最小化?

【中文标题】extjs中如何知道窗口是最大化还是最小化?【英文标题】:How to know whether the window is maximized or minimised in extjs? 【发布时间】:2012-06-07 03:53:04 【问题描述】:

有谁知道如何在 IE8 中检查表单是最大化还是最小化。

拉吉

【问题讨论】:

【参考方案1】:

使用以下代码解决:

var S = this.tabpanelFormation.getPosition();
    if (Ext.isIE8 && S[0] == 751) 
            this.tabpanelFormation.setPagePosition(749,370,true);
            this.tabpanelFormation.setHeight(230);
            this.tabpanelFormation.setWidth(350);
    

如果最大化则 S[0] = 751。由此我们可以找到 whet

【讨论】:

【参考方案2】:

在此处浏览他们的文档: http://docs.sencha.com/ext-js/3-4/#!/api

您可以使用 window.screen.width 和 window.screen.height 来获取正在使用的屏幕的尺寸。

然后您可以使用 getPosition() 并确保它位于 0,0 并使用 getHeight() 和 getWidth() 并确保它们与屏幕尺寸相匹配。

【讨论】:

嗨@Caleb我正在使用Ext.TabPanel

以上是关于delphi中窗口最大最小化问题的主要内容,如果未能解决你的问题,请参考以下文章

delphi代码实现窗口最小化,最大化,关闭消息发送

delphi 让子窗体在主窗体内,其在主窗体内最大化,但又不遮盖主窗体的菜单栏

delphi设计浮动窗口

delphi在窗口最小化时不在任务栏

delphi 模拟键盘法对当前窗口鼠标左键单击最小化怎么做?

delphi中最小化其他程序及所有程序最小化(使用 shell.minimizeAll 和自己寻找窗口这两种办法)