JUCE类库常规控件之ComboBox

既可弹出下拉列表(菜单)以供选择,又可手工输入列表项的控件。ComboBox类同样有一个嵌套的抽象基类ComboBox::Listener,通常,声明和使用ComboBox的内容组件类继承该抽象基类,并在构造函数中创建ComboBox之后,让该对象绑定自己,从而可以捕获并处理用户点选ComboBox的某个列表项之后所产生的消息,以执行相应的功能性操作。

ComboBox的使用有4个关键点:
继续阅读JUCE类库常规控件之ComboBox

JUCE常规控件之TextEditor详解

控件是GUI人机交互的重要部分,如无特别说明,以下控件全部继承自Component类。即:各类控件天然拥有Component类的一切属性和行为。几乎所有的交互式控件均可调用addListener()绑定本类对象所对应的捕获器(监听者),或调用setColour()设置本组件各个成分的颜色。同样,每个控件都可设置自己的LookAndFeel(外观及样式,包括字型、字体等。详情可参阅LookAndFeel一节)。

继续阅读JUCE常规控件之TextEditor详解

JUCE类库GUI-按钮详解

按钮是GUI程序中最常见的控件。JUCE有以下几种类型的按钮(功能类):

  • TextButton 文本按钮
  • ToggleButton 复选框(开关式按钮)
  • DrawableButton 可绘制的按钮
  • HyperlinkButton 带有下划线的超级链接
  • ImageButton 图像按钮
  • ArrowButton 可显示一个箭头的按钮
  • ShapeButton 可具有各种形状的按钮
  • TabbarButton 选项卡按钮
  • ToolbarItemComponent 工具栏项目(该类在工具栏一节中介绍)
    • ToolbarButton 工具栏按钮,该类是ToolbarItemComponent的派生类

这些按钮类,全部继承自Button类。如需更加个性与复杂的按钮(比如前文所示的点击按钮后弹出CallOutBox),可参照这些类定制自己的Button类。或者,从这些已有的按钮类中派生Button的“孙类”。

继续阅读JUCE类库GUI-按钮详解

CallOutBox标注窗详解

通常将本类对象组合到自定义类中使用,并且是临时使用。CallOutBox类的对象一旦容纳A组件并设置它所依附的B组件之后,将使A组件成为一个带有小箭头的无标题栏窗口,但是此时并不显示在屏幕上。只有当用户点击B组件时,标注类对象才自动弹出。A组件可以包含任何控件和绘制内容,而B组件通常需要自定义一个组件类,在该类的clicked()函数中临时定义并模态显示标注对象。

Jules在其传奇软件Tracktion的操作主界面中,大量使用了这个类的对象(激活“帮助”后,鼠标点击不同的界面元素或控件,将弹出标注窗,窗口里的文本块给出该元素或控件的详细解释)。
继续阅读CallOutBox标注窗详解

DialogWindow对话框详解

DialogWindow对话框相当于DocumentWindow的“简易版本”,标题栏中只有一个关闭按钮,并且可设置按下ESC键后是否关闭本窗口。除此之外,DocumentWindow的一切属性和行为,本类皆拥有。该类有两个静态函数,可快速显示一个包含给定组件的模态对话框 :showDialog()和showModalDialog(),前者无返回值,后者有返回值。

继续阅读DialogWindow对话框详解