下拉工具栏
来源:互联网 发布:手机自动画图软件 编辑:程序博客网 时间:2024/06/06 08:51
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
public class PopToolbar extends Composite{
public PopToolbar(Composite parent) {
super(parent, SWT.NONE);
// TODO Auto-generated constructor stub
Composite composite = new Composite(this, SWT.NONE);
composite.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, false));
final ToolBar toolBar = new ToolBar(composite, SWT.FLAT | SWT.SHADOW_OUT); //新建一个工具栏
ToolItem saveTool = new ToolItem(toolBar, SWT.PUSH); //添加一个工具项
saveTool.setText("save");
saveTool.setToolTipText("save");
final ToolItem helpTool = new ToolItem(toolBar, SWT.DROP_DOWN); //下拉菜单,样式为SWT.DROP_DOWN
helpTool.setText("Help");
saveTool.setToolTipText("Help");
final Menu helpMenu = new Menu(this); //弹出菜单,
MenuItem welcomItem = new MenuItem(helpMenu, SWT.PUSH);
welcomItem.setText("welcome");
//分割线
new MenuItem(helpMenu, SWT.SEPARATOR); //菜单项之间的分割线
MenuItem updateItem = new MenuItem(helpMenu, SWT.PUSH);
updateItem.setText("update");
@Override
public void handleEvent(Event event) {
// TODO Auto-generated method stub
if (event.detail == SWT.ARROW) //收到事件时判断是否是点击了下拉箭头
{
Rectangle rect = helpTool.getBounds();
Point pt = new Point(rect.x, rect.y +rect.height);
pt = toolBar.toDisplay(pt);
helpMenu.setLocation(pt.x, pt.y);
helpMenu.setVisible(true);
}
}
});
toolBar.pack();
composite.pack();
}
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
public class PopToolbar extends Composite{
public PopToolbar(Composite parent) {
super(parent, SWT.NONE);
// TODO Auto-generated constructor stub
Composite composite = new Composite(this, SWT.NONE);
composite.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, false));
final ToolBar toolBar = new ToolBar(composite, SWT.FLAT | SWT.SHADOW_OUT); //新建一个工具栏
ToolItem saveTool = new ToolItem(toolBar, SWT.PUSH); //添加一个工具项
saveTool.setText("save");
saveTool.setToolTipText("save");
final ToolItem helpTool = new ToolItem(toolBar, SWT.DROP_DOWN); //下拉菜单,样式为SWT.DROP_DOWN
helpTool.setText("Help");
saveTool.setToolTipText("Help");
final Menu helpMenu = new Menu(this); //弹出菜单,
MenuItem welcomItem = new MenuItem(helpMenu, SWT.PUSH);
welcomItem.setText("welcome");
//分割线
new MenuItem(helpMenu, SWT.SEPARATOR); //菜单项之间的分割线
MenuItem updateItem = new MenuItem(helpMenu, SWT.PUSH);
updateItem.setText("update");
// 为下拉工具栏注册单击下拉箭头事件
helpTool.addListener(SWT.Selection, new Listener(){@Override
public void handleEvent(Event event) {
// TODO Auto-generated method stub
if (event.detail == SWT.ARROW) //收到事件时判断是否是点击了下拉箭头
{
Rectangle rect = helpTool.getBounds();
Point pt = new Point(rect.x, rect.y +rect.height);
pt = toolBar.toDisplay(pt);
helpMenu.setLocation(pt.x, pt.y);
helpMenu.setVisible(true);
}
}
});
toolBar.pack();
composite.pack();
}
}
Menu types:SWT.CHECK, SWT.RADIO
SWT.CASCADE, SWT.PUSH
- 下拉工具栏
- 下拉工具栏的设计
- 工具栏CToolBar下拉菜单
- MFC工具栏按钮下拉
- 工具栏CToolBar下拉菜单
- 工具栏按钮下拉菜单
- 在工具栏加入下拉列表
- 仿微信头部工具栏下拉效果
- 为工具栏创建下拉菜单.doc
- VC实现工具栏的下拉箭头按钮
- 如何实现工具栏的下拉箭头按钮
- 如何实现工具栏的下拉箭头按钮
- 为视图添加下拉菜单和工具栏
- 工具栏上添加平面下拉控件
- 为真彩工具栏添加下拉菜单
- MFC工具栏ToolBar按钮添加下拉菜单
- VC实现工具栏上的下拉列表
- MFC工具栏ToolBar按钮添加下拉菜单
- 序数关系计数问题
- 第二节 xml学习——xml的使用
- 很有意思的一个梦
- AJAX中的JavaScript加强
- 第三节 xml学习 ——xml语法
- 下拉工具栏
- 第四节 xml学习——xml元素
- 时光老人的飞鸽传书下载
- spring小结
- Go hdu 4158 hoj 简单搜索
- 第五节 xml学习——属性
- BP算法
- 第六节 xml学习——确认
- 第七节 xml学习——数据岛