【问题标题】:How to minimize window when the taskbar icon is clicked?单击任务栏图标时如何最小化窗口?
【发布时间】:2015-01-14 12:27:01
【问题描述】:

我有一个带有无边框窗口的 Qt 应用程序。所以,我正在使用 CreateWindow() 创建我的应用程序窗口,然后我有使用 HWND 的 QWidget。 一切正常,除了当应用程序最大化并且 Windows 任务栏设置为自动隐藏时。在这种情况下,如果我单击应用程序图标,则程序不会最小化。更奇怪的是,只有当应用程序在我的主监视器上时才会发生这种情况。如果它在另一台显示器上,一切正常。或者,如果任务栏未设置为自动隐藏,则在任何显示器上一切正常。 当任务栏设置为自动隐藏时,在我的主屏幕上任务栏甚至没有出现,所以我用 ShowWindow(hTaskbar, SW_SHOW) 显示它。当它出现时,当我单击其他应用程序的图标时一切正常,所以我的肯定有问题,但我不确定从哪里开始。

【问题讨论】:

  • CreateWindow() 使用了哪些窗口样式/扩展样式?您在窗口过程中处理哪些消息?您能否发布一个重现该问题的最小示例?这确实是一个奇怪的问题......

标签: qt winapi


【解决方案1】:

您需要处理 WM_SYSCOMMAND 并响应 SC_MINIMIZE。

WM_SYSCOMMAND on MSDN

【讨论】:

  • 问题是我没有得到任何 WM_*。由于某种原因,在这种特殊情况下,我的窗口甚至没有收到通知它应该最小化......
  • @Amy 很抱歉带回一个旧帖子,但你有没有发现你的问题?
猜你喜欢
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
  • 2010-11-21
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
相关资源
最近更新 更多