You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XmContainer与XmScrolledWindow颜色资源配置咨询

Motif组件样式配置问题:XmScrolledWindow与XmContainer的边框及视觉树控制

问题说明

组件层级结构为:XmScrolledWindow -> XmContainer,当前存在两个资源控制疑问:

  • a) 当滚动条显示时,环绕XmContainer的边框对应的控制资源,无法确定该边框属于XmContainer还是XmScrolledWindow;
  • b) XmContainer的视觉树部分对应的资源配置项。

上述区域在示例中显示为默认黄色,需要单独修改这两部分的样式。

已使用的资源配置

*background:                      #EEEE44
*topShadowColor:                  #CFE0ED
*bottomShadowColor:               #6B8BA6

! --- Labels (widget + gadget) ------------------------------
*XmLabel*background:                   #AFC6D9
*XmLabel*topShadowColor:               #CFE0ED
*XmLabel*bottomShadowColor:            #6B8BA6

*XmLabelGadget*background:             #AFC6D9
*XmLabelGadget*topShadowColor:         #CFE0ED
*XmLabelGadget*bottomShadowColor:      #6B8BA6

! --- PushButtons (widget + gadget) ------------------------------
*XmPushButton*background:              #AFC6D9
*XmPushButton*topShadowColor:          #CFE0ED
*XmPushButton*bottomShadowColor:       #6B8BA6

*XmPushButtonGadget*background:        #AFC6D9
*XmPushButtonGadget*topShadowColor:    #CFE0ED
*XmPushButtonGadget*bottomShadowColor: #6B8BA6

! --- Button geometry tuning -------------------------------------
*XmPushButton.marginWidth:             9
*XmPushButton.marginHeight:            5
*XmPushButton.shadowThickness:         2
*XmPushButton.highlightThickness:      2

*XmPushButtonGadget.marginWidth:       9
*XmPushButtonGadget.marginHeight:      5
*XmPushButtonGadget.shadowThickness:   2
*XmPushButtonGadget.highlightThickness:2

! --- RowColumn (menus, button bars, option boxes) ---------------
*XmRowColumn*background:               #AFC6D9
*XmRowColumn*topShadowColor:           #CFE0ED
*XmRowColumn*bottomShadowColor:        #6B8BA6

*XmRowColumnGadget*background:         #AFC6D9
*XmRowColumnGadget*topShadowColor:     #CFE0ED
*XmRowColumnGadget*bottomShadowColor:  #6B8BA6

! --- Container --------------------------------------------------
*XmScrolledWindow*XmContainer*background:                #F2F6F9
*XmScrolledWindow*XmIconGadget*background:               #F2F6F9
*XmScrolledWindow*XmClipWindow*XmDrawingArea*background: #F2F6F9
*XmScrolledWindow*XmClipWindow*background:               #F2F6F9
*XmScrolledWindow*XmClipwindow*XmContainer*XmPushButtonGadget*background:       #F2F6F9
*XmScrolledWindow*XmClipWindow*XmContainer*background:   #F2F6F9
*XmScrolledWindow*XmClipwindow*XmContainer*XmIconGadget*background:             #F2F6F9
*XmContainer*background:                                 #F2F6F9
*XmIconGadget*background:                                #F2F6F9
*XmDrawingArea*background:                               #F2F6F9
*XmClipWindow*background:                                #F2F6F9
*XmPushButtonGadget*background:                          #F2F6F9

! --- ScrolledWindow & Container balance -------------------------
! Light field inside the container, blue-steel frame & scrolls
*XmScrolledWindow*background:                            #AFC6D9
*XmScrolledWindow*XmContainer.background:                #F2F6F9
*XmScrolledWindow*XmDrawingArea.background:              #F2F6F9
*XmScrolledWindow*borderColor:                           #AFC6D9

! Scrollbars (blue-steel tone)
*XmScrollBar*background:                                 #AFC6D9
*XmScrollBar*troughColor:                                #AFC6D9
*XmScrollBar*topShadowColor:                             #CFE0ED
*XmScrollBar*bottomShadowColor:                          #6B8BA6
*XmScrollBar*foreground:                                 #476A90

! Ensure dynamically created ones match too
*XmScrolledWindow*XmScrollBar*background:                #AFC6D9
*XmScrolledWindow*XmScrollBar*troughColor:               #AFC6D9

解决方案

问题a:环绕XmContainer的边框控制

该边框由XmScrolledWindow的视口边框和XmContainer自身边框共同组成,分别配置即可:

  1. 调整XmScrolledWindow视口边框:
    ! 设置视口边框宽度和颜色
    *XmScrolledWindow.viewportBorderWidth: 1
    *XmScrolledWindow.viewportBorderColor: #你的目标颜色
    
  2. 调整XmContainer自身边框:
    ! 若不需要容器自身边框可设为0,否则设置颜色
    *XmContainer.borderWidth: 0
    *XmContainer.borderColor: #你的目标颜色
    

问题b:XmContainer视觉树资源控制

视觉树部分对应XmContainer内部的XmClipWindow和绘制区域,补充以下配置覆盖默认黄色:

! 覆盖视觉树相关背景色
*XmContainer*XmClipWindow*background: #你的目标颜色
*XmContainer*XmDrawingArea*background: #你的目标颜色
! 适配动态生成的组件层级
*XmScrolledWindow*XmContainer*XmClipWindow*background: #你的目标颜色

内容的提问来源于stack exchange,提问作者M.E.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 02:24:54