A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jttsai 山林野马   /  2013-7-23 13:54  /  1742 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近工作中遇到在swt程序中打开word文件,
察看了文档后OleClientSite能够实现这个功能,可是就是不能实现滚动条,
有哪位大哥了解这方面的帮小弟一忙。
代码:
    private File showfile;
    OleFrame oleFrame;
    OleClientSite clientSite;
    oleFrame = new OleFrame(composite, SWT.NONE);
    oleFrame.setLayout(new FillLayout());
    clientSite = new OleClientSite(oleFrame,          SWT.NULL,"Word.Document.8",showfile);
    clientsite.setEnabled(false);
    clientsite.doVerb(OLE.OLEIVERB_HIDE);
我试着在oleFrame = new OleFrame(composite, SWT.NONE);加了SWT.H_SCOLL
滚动条出现,但拖动滚动条,word文件不随着动。
我又试着在new OleClientSite(oleFrame,SWT.NULL,"Word.Document.8",showfile);
加了SWT.H_SCOLL,出现的情况也是一样。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 鼓励鼓励

查看全部评分

1 个回复

倒序浏览
通过添加ScrolledComposite实现,可是这样子就把高度写死了。
ScrolledComposite composite = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
composite.setBounds(0, 0, 760, 500);
composite.setLayoutData(gd);
OleFrame oleFrame=new OleFrame(composite,SWT.NONE);
composite.setContent(oleFrame);
composite.setMinSize(760,4);
oleFrame.setSize(760,18000);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马