【问题标题】:Use wxWidget to create a rectangle area with relief使用 wxWidget 创建一个带浮雕的矩形区域
【发布时间】:2012-08-22 10:37:51
【问题描述】:

我最近开始使用 wxWidget,它是一个非常强大的 GUI API,从现在开始我想创建一些带有浮雕标志的矩形,例如:“flat”、“raised”、“sunken”等等,但我没有在http://docs.wxwidgets.org/trunk/classes.html#letter_T 的网站指南中看不到任何东西,我可以用它来实现这个自定义小部件。 有人可以帮助我吗??

【问题讨论】:

  • 这似乎是两个问题。一个是关于浮雕(凸起、凹陷)的,另一个是关于一些在您期望时不显示窗口的代码。最好一次只问一个问题。

标签: c++ wxwidgets


【解决方案1】:

有两种窗口,它们自己出现的顶层窗口,以及出现在里面的子窗口,或者至少“属于”另一个窗口。除了顶层窗口之外的每个窗口都应该有一个父窗口。

您创建的窗口没有父窗口,也不是顶级窗口。在创建任何其他窗口之前,您应该首先创建一个 wxFrame,它是一个顶级窗口。

您应该查看示例应用程序,尤其是名为“最小化”的应用程序,它展示了如何编写表现良好的应用程序。一旦你理解了它是如何工作的,你就可以修改示例代码来做你想做的事情。

【讨论】:

  • 谢谢,我会照你说的做
  • 我感谢放置“NULL”的事实有父 wxWindow 将其定义为顶级窗口,但现在我知道这是错误的。
【解决方案2】:

wxWindow 类支持以下样式:

wxBORDER_DEFAULT:窗口类将决定要显示的边框类型(如果有)。

wxBORDER_SIMPLE:在窗口周围显示细边框。

wxSIMPLE_BORDER 是这种风格的旧名称。

wxBORDER_SUNKEN:显示下沉边框。

wxSUNKEN_BORDER 是这种风格的旧名称。

wxBORDER_RAISED:显示凸起的边框。

wxRAISED_BORDER 是这种风格的旧名称。

这些和更多的细节可以在 http://docs.wxwidgets.org/trunk/classwx_window.html

【讨论】:

  • 谢谢。我不知道为什么,但 wxWindow 本身不是。我使用 wxWindow 的 Show(true) 方法,但屏幕上没有显示任何内容。
  • 如果您希望人们帮助您,您将不得不提供更多信息。发布您的代码,并说明您的意图以及实际发生的情况。
  • 我的第一个想法是制作一个 wxgrid,它可以在其某些单元格中包含一些 wxListbox 或 wxButton,但这是不可能的,wxGrid 通常用于数据而不是窗口或控件,因此出现了另一个想法对我来说。使用像 wxFlexGridSizer 这样的 wxSizer,我可以创建一个包含用于文本输入的 wxTexctrl 和其他控件(如 wxButton)的虚拟,但我现在遇到了一个大问题,因为就像 wxGrid 一样,我想在我的 wxFlexGridSizer 顶部放置多个凸起区域,并且每个区域都带有自己的标签。
  • 每个凸起区域都必须代表我的 wxFlexGridSizer 中的一列,这就是为什么我要寻找像画布这样的东西,它具有像“raised”、“sunken”、“flat”等属性非常类似于 tkinter (python) 上的 canvas 属性。
  • 请编辑您的问题,以便清楚您在问什么。
猜你喜欢
  • 2016-10-22
  • 2012-12-08
  • 2021-10-07
  • 2020-07-07
  • 1970-01-01
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多