- 浏览: 153226 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
EclipseEye:
fair_jm 写道不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程 -
fair_jm:
不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程
{ Composite topComp = null; // ... // CTabFolder CTabFolder tabFolder = new CTabFolder(topComp, SWT.TOP | SWT.BORDER); GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL); gd.horizontalSpan = 20; tabFolder.setLayoutData(gd); tabFolder.setTabHeight(30); tabFolder.setSimple(true); tabFolder.marginHeight = 0; tabFolder.marginWidth = 0; Font font = null; // font = FontFactory.getFont("Arial", 8, SWT.BOLD); // CTabItem CTabItem item2 = new CTabItem(tabFolder, SWT.NULL); item2.setText("Pins"); item2.setFont(font); // ---- Group pinsGroup = new Group(tabFolder, SWT.FILL); pinsGroup.setText("Pins"); Color color = null; pinsGroup.setBackground(color /* ColorFactory.getColor(255, 255, 255) */); pinsGroup.setLayout(new RowLayout()); // 动态填充 pinsGroup的内容 setDynamicData(pinsGroup); item2.setControl(pinsGroup); // ============================================ } public void setDynamicData(Composite pinsGroup) { // 1.清除掉原来的 子控件 Control[] controls = pinsGroup.getChildren(); for (int i = 0; i < controls.length; i++) { controls[i].dispose(); } // 2. 数据填充,例如: for (int i = 0; i < 20; i++) { final CLabel pinLabel = new CLabel(pinsGroup, SWT.CENTER); pinLabel.setText("pinLabel:"+i); RowData rowData = new RowData(); rowData.height = 20; rowData.width =40; pinLabel.setLayoutData(rowData); } //3. layout--->这是关键(用pinsGroup.redraw();//这个还是没有效果) pinsGroup.layout(); /*markLayout()这是源码中的真正实现,只有设置了.layout(),参数changed才为true,才有动态改变的效果 * -----执行---->if (all) {...}分支 void markLayout (boolean changed, boolean all) { if (layout != null) { state |= LAYOUT_NEEDED; if (changed) state |= LAYOUT_CHANGED; } if (all) { Control [] children = _getChildren (); for (int i=0; i<children.length; i++) { children [i].markLayout (changed, all); } } }*/ //pinsGroup.redraw(); /*设置.redraw()后的内部实现,参数all为false-----执行---->OS.RedrawWindow (handle, null, 0, flags); void redraw (boolean all) { if (!OS.IsWindowVisible (handle)) return; if (OS.IsWinCE) { OS.InvalidateRect (handle, null, true); } else { int flags = OS.RDW_ERASE | OS.RDW_FRAME | OS.RDW_INVALIDATE; if (all) flags |= OS.RDW_ALLCHILDREN; OS.RedrawWindow (handle, null, 0, flags); } }*/ }
发表评论
-
再说SWT中的滚动面板ScrolledComposite实现
2013-06-19 15:43 2377记得以前写过一篇关于滚动面板的文章 SWT中 Scrolle ... -
OSGi参考资料
2013-04-18 01:11 707基于 OSGi 的面向服务的组件编程 探索 OSGi 框架的组 ... -
CDT(编辑、调试)参考资料
2013-04-17 02:15 1139CDT编辑器 --------- 构建基于 CDT 的编辑器, ... -
Workspace Resource框架专题(3)处理工作空间资源更改事件
2013-04-17 01:44 14173 处理工作空间资源更改事件 工作空间API允许工具对它 ... -
Workspace Resource框架专题(2)workspace 框架API
2013-04-17 01:27 15232 工作空间API 本 ... -
Workspace Resource框架专题(1)Resource的概念
2013-04-17 01:12 14331 Resource的概念 如 ... -
如何恢复断点及Marker
2013-03-05 00:41 0如何恢复断点及Marker -
深入Workbench框架
2013-03-01 02:10 1791深入Workbench框架(结合UIPersistent) 1 ... -
Eclipse插件开发中的Action
2013-02-24 23:10 2046插入点用来定义菜单出 ... -
Eclipse开发中编辑器(Editors)和视图(View)总结
2013-02-24 22:58 29581.视图(Views) 视图( ... -
SWT/JFace专题 --- 对话框向导(Dialogs Wizards)
2013-02-24 22:42 2301对话框向导(Dialogs Wizar ... -
SWT/JFace专题 --- JFace
2013-02-24 22:37 1713JFace JFace是基于SWT的一套图形工具包,它没有为 ... -
SWT/JFace专题 --- SWT中Display和多线程
2013-02-24 15:25 3297Display 1.Display 的创建 一个SWT程序 ... -
SWT/JFace专题 --- SWT API 结构
2013-02-23 18:31 1113SWT API 结构 1.布局类(l ... -
Eclipse启动过程(源码级剖析)
2013-02-20 03:24 3459双击eclipse安装目录下的eclipse.exe运行后,会 ... -
SWT/JFace专题 --- SWT结构浅析
2013-02-23 17:02 1053SWT技术是一套基于Java的 ... -
Eclipse平台体系结构
2013-02-21 23:56 19871.Eclipse平台体系结构 1 ... -
RCP平台架构
2013-02-23 14:11 1525RCP 富客户端通常是指具有独立用户界面的客户端程序。富客户 ... -
Ant构建脚本相关
2013-02-18 01:26 0Ant构建脚本相关 -
CDT源码架构研究
2013-02-18 01:24 0CDT源码架构研究
相关推荐
在编程领域,动态创建控件是一项重要的技术,尤其在用户界面设计中,它允许程序根据运行时的需求或用户输入自动生成界面元素。标题中的“动态创建控件DynamicMultiCtrls”特指这种技术的一个实例,主要涉及到如何在...
5. **窗口重绘(Redraw)**:当控件大小改变时,需要重新绘制以确保其正确显示。这通常涉及到OnPaint()消息的处理,以及可能的CRect对象的调整,以更新控件的边界。 6. **WM_SIZE消息**:Windows消息系统中的WM_...
在IT行业中,动态生成任意张图片控件是一个常见的需求,特别是在网页开发、移动应用或桌面应用设计中。这种功能使得程序可以根据用户的需求或者特定逻辑在界面上动态地创建和显示多张图片。以下是对这个主题的详细...
例如,`Click`事件响应单击,`KeyDown`事件响应按键,`ColResize`事件则在列宽改变时触发。 5. **数据绑定**:`MSFlexGrid`可以与数据源绑定,例如数据库,以实时更新显示的数据。这通常通过`DataSource`和`Data...
在编程过程中,你可以通过VB6.0的事件处理程序与QRMAKER控件交互,如响应按钮点击事件,动态改变条码或二维码的数据内容。此外,还可以使用控件的`Redraw`方法刷新显示,以反映最新的设置变化。 在实际的应用场景中...
【MTK控件开发及使用说明】 MTK控件是专为MediaTek(MTK)平台设计的一种用户界面元素,用于提升用户体验。本文档主要针对"Shortcut bar"控件进行详细解析,它是一种用于增强界面美观性和操作性的图标快捷方式功能...
**ChartCtrl控件库在VS2019中的使用** `ChartCtrl`是一个在MFC(C++编程框架)中用于创建图表和数据可视化的控件库。它在Visual Studio 2010版本中被广泛使用,而随着VS2019的发布,开发者们自然希望能够在新的IDE...
### MTK控件开发及使用说明 #### 一、背景介绍与目的 在移动设备的交互设计中,特别是在MTK6235平台下,为了提高用户体验和界面美观度,通常需要开发定制化的控件来满足特定的需求。本文档旨在详细介绍如何在MTK...
2. 创建控件:在窗体上添加ZedGraphControl对象,这可以在设计时通过拖放或者在代码中创建。 3. 初始化数据:你需要准备要显示的数据,并将其转化为ZedGraph所需的格式,如点集(PointPairList)、曲线集...
- 控件的性能优化:避免过多的控件更新,合理使用Redraw和Repaint属性。 - 用户体验提升:考虑控件的响应速度、反馈机制和无障碍设计。 综上所述,VB6控件参考手册涵盖了从基础到高级的各种控件使用方法,通过...
在VC++编程环境中,开发图形用户界面(GUI)时,我们常常需要利用各种控件来展示数据或执行特定任务。ActiveX技术提供了一种跨平台的解决方案,它允许开发人员集成由不同供应商创建的组件,其中包括用于图形显示的...
控件重绘则是在控件状态改变时,如尺寸调整、焦点切换等,动态更新控件的显示效果。 文件名称"SkinControls(自绘MFC基本控件 )"可能是一个包含自定义皮肤的库或示例代码,用于演示如何对MFC的基础控件进行自定义...
**msflexgrid控件**是Microsoft Visual C++中一个经典的多行多列数据显示控件,常用于Windows应用程序开发。这个控件提供了灵活的布局和数据展示能力,允许开发者创建类似于电子表格的用户界面。在本篇文章中,我们...
本教程“物联型串口屏开发 LUA教程5—控件读写操作函数说明”将深入探讨如何利用LUA API函数对串口屏上的控件进行读取和修改,从而提升用户界面的动态性和响应性。 首先,我们需要理解LUA的基本语法和特性。LUA是一...
6. **OnSize事件**:当窗口大小改变时,需要更新滚动条的属性,以保持图片与控件之间的比例关系。因此,重写OnSize函数是必要的,以确保滚动条与图片控件的大小变化同步。 7. **自绘(Redraw)逻辑**:由于图片可能...
在本文中,我们将深入探讨如何在Visual C++ 6.0(简称VC6.0)环境中使用PlotLine二维坐标曲线ActiveX控件。ActiveX控件是一种可重用的软件组件,它允许开发者在不同应用程序中插入、使用和交互各种功能。PlotLine...
在C#编程中,开发用户界面时,我们经常会用到各种控件,其中树型控件(TreeView)是一个常用的数据展示工具,它用于显示层次结构的数据。然而,标准的TreeView控件默认的样式可能显得相对单一,特别是其白色的背景。...
在VC++的MFC(Microsoft Foundation Classes)框架中,添加图表控件是一项常见的任务,用于在应用程序中展示数据。这通常涉及到使用图形用户界面(GUI)元素来创建动态的、可视化的数据表示。"vc中间添加图表控件"这...
在VB(Visual Basic)编程环境中,PictureBox控件是一种非常实用的元素,它可以用来显示图像、图形甚至是动态的图像效果。本教程将详细讲解如何利用VB6.0中的PictureBox控件来实现动态曲线的绘制。 首先,我们要...
在LabVIEW中,3D控件的应用为用户提供了创建和展示三维模型的能力,使得数据呈现更加直观和生动。 一,3D 简述 3D技术,即三维技术,是指基于三个坐标轴(X、Y、Z)构建的立体空间概念。它不仅包含长度、宽度,还有...