不,这是不可能的.Windows使用当前系统参数确定最小化窗口的宽度,并且无法在不更改整个系统的值的情况下为单个应用程序动态更改此值.
具体来说,所有最小化窗口的默认大小为160x31.在MDI应用程序中,您实际上可以看到此大小,因为窗口被最小化到其MDI主机中,而不是进入Windows任务栏.Raymond Chen(微软Windows Shell团队的开发人员)不久前发布了一些博客文章,解释了为什么选择了这个特定的大小,以及它意味着什么.第一个可以在这里找到:为什么最小化窗口的表观尺寸为160x31?第二个后续条目可以在这里阅读:不,真的,为什么它是160x31?正如他在第二篇文章中解释的那样:
微型标题栏的宽度由结构
iWidth成员决定MINIMIZEDMETRICS.您可以在SystemParametersInfo函数的帮助下检索和更改此结构.(分别使用SPI_GETMINIMIZEDMETRICS和SPI_SETMINIMIZEDMETRICS标志.)有些人会提到MinWidth注册表值,但那些人错了.请注意,例如,搞乱MinWidth需要注销周期,而使用SPI_SETMINIMIZEDMETRICS会立即生效.那是因为SPI_SETMINIMIZEDMETRICS更新了内部状态变量,而打开注册表只是更改数据库中的值,一旦您登录就无人注意.高度怎么样?这只是标题栏的高度,您可以从"显示"控制面板的"外观"选项卡进行调整.(以编程方式,您可以使用该有用的
SystemParametersInfo功能,这次使用结构的iCaptionHeight成员NONCLIENTMETRICS.)
因为我怀疑你的用户真的希望你通过P /调用SystemParametersInfo函数搞乱他们的默认系统参数,所以你没有留下很多选项.我的建议,特别是如果他们一次只使用一个窗口并让其他窗口最小化,就是切换到另一个界面.MDI的目的是允许用户平铺或级联多个窗口,以便他们可以一次看到多个窗口.由于听起来这不是典型的用例,因此切换应用程序以使用制表符可能会更好.这通常称为选项卡式文档界面(TDI),是旧的多文档界面(MDI)的一种更现代的实现.它多年来变得非常受欢迎; 查看维基百科的文章.
| 归档时间: |
|
| 查看次数: |
2203 次 |
| 最近记录: |