问题标签 [systemmenu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1415 浏览

.net - 在 WinForms 的系统菜单(左上角图标菜单)中添加一个条目?

我有一个 WinForms 应用程序,我想在用户单击窗口左上角(图标)或按 ALT+SPACE 时打开的菜单中添加一个菜单项。

表单只显示一个 MainMenu 和一个 ContextMenu,但没有 SystemMenu 或类似的东西。有没有一种简单的方法可以在 WinForms 应用程序上进行修改?

我想添加一个简单的“关于”条目,供人们从应用程序中检查版本和 URL。在通常的 UI 中没有好地方(没有主菜单)。

0 投票
1 回答
2010 浏览

wpf - WPF:在窗口上使用样式的示例

我创建了一个无边框窗口样式,其中我绘制了镶边(边框、标题栏、最小值、最大值、关闭、系统菜单等),我想对照现有示例对其进行检查。专门用于 SystemMenu,但也以防我错过了什么。有没有人有或知道类似的例子?

0 投票
1 回答
6025 浏览

wpf - WPF:如何禁用 SystemMenu 快捷方式“Alt+Space”?

我有一个无边框窗口并创建了 chrome,但我需要禁用“Alt+Space”快捷方式。有什么想法吗?

0 投票
1 回答
815 浏览

c++ - 如何从控制台窗口的系统菜单中的菜单项中获取菜单事件?

我已将一个菜单项添加到我使用该AllocConsole()功能创建的应用程序控制台窗口的 SystemMenu 中。但我不知道如何处理我添加的菜单项的事件。

我如何处理这些菜单事件?

谢谢

0 投票
2 回答
4563 浏览

winapi - 如何禁用移动系统菜单项?

在 Microsoft Windows 中,这有效:

但这不起作用:

因此,我知道如何禁用窗口的“关闭”系统菜单项,但不知道“移动”项。我怎么做?

更新

当然,使用非常好的函数 EnableMenuItem 的一种替代方法是使用 SetMenuItemInfo:

但这同样适用于 SC_CLOSE,但完全不适用于 SC_MOVE!

更新 2

尽管从某种意义上说,问题已经解决,可以说,可以说,听到关于问题原因的假设会很有趣:为什么 SC_CLOSE 有效但 SC_MOVE 无效?

0 投票
4 回答
5332 浏览

winapi - WM_SYSCOMMAND 怪事

当用户在系统菜单上选择菜单项命令时,应用程序会收到WM_SYSCOMMAND消息,因此 wParam 可以是 SC_CLOSE、SC_CONTEXTHELP、SC_MAXIMIZE、SC_MINIMIZE、SC_RESTORE 等。这是合乎逻辑的。(当然您也可以通过单击最小化、最大化、关闭按钮等来发送这些消息。)

但是也可以发送 WM_SYSCOMMAND 消息来向 Windows Shell 发送命令。例如,可以显示开始菜单 (SC_TASKLIST)、激活屏幕保护程序 (SC_SCREENSAVE) 和关闭显示器 (SC_MONITORPOWER)。这没有意义,不是吗?这与应用程序的系统菜单有什么关系?这更像是一个“系统命令”,即更多的是对消息名称“WM_SYSCOMMAND”的完全不同的解释。这就像消息用于向系统发送命令请求一样。

为什么这条消息用于两个看似完全不同的东西,“SYSCOMMAND”这个名字指的是什么东西(系统菜单上的命令,或操作系统的命令)?

0 投票
1 回答
1199 浏览

wpf - WPF:向系统菜单添加“始终在最前面”菜单项

我有一个监视工具,其中一些(但不是全部)用户希望它始终显示在顶部。

我想将此选项添加到左上角的系统菜单中。我该怎么做?

0 投票
5 回答
23175 浏览

c# - 如何自定义 Windows 窗体的系统菜单?

我想将古老的 About 菜单项添加到我的应用程序中。我想将它添加到应用程序的“系统菜单”(当我们单击左上角的应用程序图标时弹出的菜单)。那么,我怎样才能在.NET 中做到这一点?

0 投票
1 回答
751 浏览

delphi - 分层窗口的系统菜单?

Delphi 2009 中的分层窗口和系统菜单存在问题。也就是说,我们的分层窗口(没有边框)没有系统菜单。当我说系统菜单时,我指的是单击应用程序图标时获得的菜单,右键单击其标题栏或(在 Windows 7 中,添加 shift 键)右键单击任务栏中的应用程序:

控制菜单

当您尝试访问系统菜单时,例如通过右键单击此类分层窗口的任务栏图标,分层窗口会升起。为什么是这样?是否有某种样式要设置,或者某种事件要处理?

这是一个匆忙制作的演示,展示了这个问题。不过,它确实可以用任何带有 bsNone 边框样式的形式复制。

http://ompldr.org/vODd5dw

0 投票
1 回答
604 浏览

windows - 使用winapi获取系统菜单宽度(以像素为单位)

我需要使用基本的 WINAPI 在 C 中获取窗口/系统菜单的总宽度(最小化、最大化和关闭)。我遇到了对我有好处的WM_GETTITLEBARINFOEX消息,但不幸的是,从 Vista 开始就支持它,而且我的应用程序还必须支持 XP 和 2003。谁能告诉我如何才能使这项工作?欢迎任何建议。

提前致谢!