【问题标题】:How can I make a window with a close button and no icon/menu to the top left of the window?如何制作一个带有关闭按钮且窗口左上角没有图标/菜单的窗口?
【发布时间】:2013-01-30 23:14:42
【问题描述】:

如何创建一个窗口,其右侧有菜单按钮,例如关闭按钮,但左侧没有图标,当您单击它时会打开菜单。

编辑:为了清楚起见,我添加了一个图形示例。

【问题讨论】:

  • 您要使用什么语言?
  • C++(允许评论所需的字符)
  • 你不能。当您要求关闭按钮时,您将始终获得系统菜单。在这里与机器作斗争没有什么意义,用户期望一个窗口以这种方式工作。如果您坚持要自定义,请创建一个带有关闭按钮的无边框窗口,您可以自己绘制。

标签: c++ winapi


【解决方案1】:

这里是 CreateWindowEx 的 api 参考。

http://msdn.microsoft.com/en-us/library/ms632680(v=VS.85).aspx

如果你有一个窗口句柄,你可以调用带有 WS_EX_TOOLWINDOW 标志的 SetWindowLong,它类似于单边框样式但更小。

【讨论】:

  • 这不是我想要的,我想要类似于窗口的消息框样式的东西。
  • 我不确定我是否理解。您是想控制消息框中显示的图标还是窗口的边框样式?
  • 如果您尝试禁用系统弹出菜单,请查看 SetWindowLongPtr(msg, GWL_STYLE, style & ~WS_SYSMENU); //删除系统菜单。见stackoverflow.com/questions/13189791/…
  • @Itn 我已经添加了我所要求的示例
  • 我认为您将需要使用 SetWindowLongPtr。除此之外,我想不出在不创建自定义对话框的情况下删除系统菜单的方法。
【解决方案2】:

创建窗口时写:WS_SYSMENU & ~WS_CAPTION

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-07
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 2021-05-05
    • 2021-04-18
    相关资源
    最近更新 更多