«1 2 3» Pages: ( 2/3 total )
本页主题: [类库]SWT Win32 Extension v1.0.4 is available now. 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

river.he

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 103
威望: 11 点
财富: 301 元
在线时间:13(小时)
注册时间:2005-12-09
最后登录:2008-07-12

呵呵,好长时间不来回帖了,你可以试着运行以下代码,就可以看到半透明的窗体了 :)
 
import org.eclipse.swt.SWT;
import org.eclipse.swt.internal.win32.OS;
import org.eclipse.swt.internal.win32.TCHAR;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class Test extends Shell {
 public static void main(String args[]) {
  try {
   Display display = Display.getDefault();
   Test shell = new Test(display, SWT.SHELL_TRIM);
   shell.open();
   shell.layout();
   while (!shell.isDisposed()) {
    if (!display.readAndDispatch())
     display.sleep();
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public Test(Display display, int style) {
  super(display, style);
  createContents();
 }

 protected void createContents() {
  setText("SWT Application");
  setSize(500, 375);
  setLayout(new GridLayout());
  OS.SetWindowLong(this.handle, OS.GWL_EXSTYLE, OS.GetWindowLong(
    this.handle, OS.GWL_EXSTYLE) ^ 0x80000);

  TCHAR lpLibFileName = new TCHAR(0, "User32.dll", true);
  int hInst = OS.LoadLibrary(lpLibFileName);
  if (hInst != 0) {
   String name = "SetLayeredWindowAttributes\0";
   byte[] lpProcName = new byte[name.length()];
   for (int i = 0; i < lpProcName.length; i++) {
    lpProcName = (byte) name.charAt(i);
   }
   final int fun = OS.GetProcAddress(hInst, lpProcName);
   if (fun != 0) {

    OS.CallWindowProc(fun, this.handle, 0, 150, 2);
   }
   OS.FreeLibrary(hInst);
  }
 }

 protected void checkSubclass() {
 }
}

 
顶端 时间: 2006年01月04日 13:43 | 20 楼
blunwen

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 3
威望: 11 点
财富: 203 元
在线时间:5(小时)
注册时间:2006-04-24
最后登录:2007-10-17

我要做一个全局的键盘钩子,该怎么做
顶端 时间: 2006年04月26日 10:47 | 21 楼
yipsilon

头衔:社区十大NB青年! 社区十大NB青年!
状态: 离线
级别: CEC经理
精华: 8
发帖: 1496
威望: 223 点
财富: 59 元
在线时间:252(小时)
注册时间:2005-08-21
最后登录:2008-11-25

Quote:
引用第21楼river.he2006年01月04日 13:43发表的“”:
呵呵,好长时间不来回帖了,你可以试着运行以下代码,就可以看到半透明的窗体了 :)

import org.eclipse.swt.SWT;import org.eclipse.swt.internal.win32.OS;import org.eclipse.swt.internal.win32.TCHAR;import org.eclipse.swt.layout.GridLayout;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;
public class Test extends Shell { public static void main(String args[]) { try {   Display display = Display.getDefault();   Test shell = new Test(display, SWT.SHELL_TRIM);   shell.open();   shell.layout();   while (!shell.isDisposed()) {   if (!display.readAndDispatch())   display.sleep();   } } catch (Exception e) {   e.printStackTrace(); } }
public Test(Display display, int style) { super(display, style); createContents(); }
.......


这个在启动时可以透明了, 但是当移动/缩放窗体时, 背景图像不会变化, 还有重影产生, 关闭后图像遗留(没有刷新屏幕).

这些用什么API来解决呢?
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
中国Eclipse社区,打造中国最专业的Eclipse开发者社区!!

地址:http://www.eclipseworld.org
顶端 时间: 2006年05月13日 08:28 | 22 楼
keatskong

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 1
威望: 1 点
财富: 101 元
在线时间:0(小时)
注册时间:2006-05-25
最后登录:2006-06-23

下载不了
顶端 时间: 2006年06月09日 00:25 | 23 楼
yxin

头衔:无敌师哥 无敌师哥
状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 7
威望: 11 点
财富: 208 元
在线时间:11(小时)
注册时间:2006-03-20
最后登录:2008-11-14

还让下不?
顶端 时间: 2006年06月26日 17:44 | 24 楼
robotlgw

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 1
威望: 1 点
财富: 101 元
在线时间:0(小时)
注册时间:2006-10-19
最后登录:2007-03-22

cnfree 你好:
 
      我现在正在研究swt的代码,能不能将您扩展后的swt代码(SWT OS 类扩展)给发一份,谢谢!

      email: robot_lgw@163.com文字
[p:1][p:5]
顶端 时间: 2006年11月07日 17:36 | 25 楼
qsoft_qin

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 5
威望: 1 点
财富: 106 元
在线时间:0(小时)
注册时间:2006-12-04
最后登录:2006-12-04

下不了

vbqin@163.com
给我一份吧 谢谢
顶端 时间: 2006年12月04日 10:30 | 26 楼
jcoco

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 5
威望: 1 点
财富: 105 元
在线时间:0(小时)
注册时间:2006-12-05
最后登录:2007-04-23

很感兴趣,可是下不了啊
顶端 时间: 2006年12月05日 20:47 | 27 楼
mkcc

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 6
威望: 1 点
财富: 106 元
在线时间:0(小时)
注册时间:2006-12-30
最后登录:2008-10-17

为什么我运行了代码没有看见透明效果。。。
是不是不支持bblean?改天换eplorer试一下!嘿嘿!
顶端 时间: 2007年01月08日 13:06 | 28 楼
wise_sandy

状态: 离线
级别: CEC程序员
精华: 0
发帖: 11
威望: 1 点
财富: 11 元
在线时间:0(小时)
注册时间:2007-01-19
最后登录:2007-09-17

river.he 的源码

byte[] lpProcName = new byte[name.length()];
  for (int i = 0; i < lpProcName.length; i++) {
  lpProcName = (byte) name.charAt(i);
  }

应为
byte[] lpProcName = new byte[name.length()];
  for (int i = 0; i < lpProcName.length; i++) {
  lpProcName = (byte) name.charAt(i);
  }
顶端 时间: 2007年01月23日 00:00 | 29 楼
wise_sandy

状态: 离线
级别: CEC程序员
精华: 0
发帖: 11
威望: 1 点
财富: 11 元
在线时间:0(小时)
注册时间:2007-01-19
最后登录:2007-09-17

汗~` 应该是 lpProcName = (byte) name.charAt(i);
顶端 时间: 2007年01月23日 00:01 | 30 楼
wise_sandy

状态: 离线
级别: CEC程序员
精华: 0
发帖: 11
威望: 1 点
财富: 11 元
在线时间:0(小时)
注册时间:2007-01-19
最后登录:2007-09-17

啊哦~ lpProcName [...]= (byte) name.charAt(i);
... 为i
顶端 时间: 2007年01月23日 00:02 | 31 楼
wise_sandy

状态: 离线
级别: CEC程序员
精华: 0
发帖: 11
威望: 1 点
财富: 11 元
在线时间:0(小时)
注册时间:2007-01-19
最后登录:2007-09-17

i 写在 [] 中 显示不出来, 应该是被当为标记了吧~~
river.he 可能也写了 不过没显示出来
顶端 时间: 2007年01月23日 00:04 | 32 楼
floor

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 18
威望: 0 点
财富: 226 元
在线时间:4(小时)
注册时间:2006-03-11
最后登录:2007-06-15

在SWT程序中如何打开一个指定的系统文件夹,在程序之外打开?
顶端 时间: 2007年01月27日 09:49 | 33 楼
ming1866

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 34
威望: 11 点
财富: 252 元
在线时间:1(小时)
注册时间:2006-03-20
最后登录:2008-12-01

Quote:
引用第0楼cnfree于2005年09月02日 17:04发表的 [类库]SWT OS 类扩展 :
扩展SWT功能,实现了Windows下注册表,磁盘,CPU,内存,目录访问,网络,关机,系统特性等常用API功能。现在可以通过CVS进行访问该项目:

cvs -z3 -d:pserver anonymous@feeling.cvs.sourceforge.net:/cvsroot/feeling co -P org.eclipse.swt.extension

public  static  final  native  boolean  ShowCursor( boolean  bShow);
.......



这个是不是只能用eclipse3.3打开啊?还是把3.3的SWT包导过来。我的是3.2
顶端 时间: 2007年03月12日 08:47 | 34 楼
zhangcheng

状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 290
威望: 1 点
财富: 223 元
在线时间:0(小时)
注册时间:2006-09-22
最后登录:2008-11-12

Up
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
两人对酌山花开,一杯一杯复一杯。
我醉欲眠卿且去,明朝有意抱琴来。
顶端 时间: 2007年06月27日 12:54 | 35 楼
gsboy

头衔:ぁ阿科か ぁ阿科か
状态: 离线
级别: CEC高级程序员
精华: 0
发帖: 42
威望: 1 点
财富: 153 元
在线时间:0(小时)
注册时间:2006-09-23
最后登录:2008-11-10

我下了,但没看!
非常感谢。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
人就这么一辈子,何必在乎太多。
得也好,失也好。
心情好,一切都好。
顶端 时间: 2007年09月13日 09:36 | 36 楼
张鸿城

状态: 离线
级别: CEC程序员
精华: 0
发帖: 6
威望: 1 点
财富: 6 元
在线时间:0(小时)
注册时间:2007-11-16
最后登录:2008-04-24

谢谢
顶端 时间: 2007年12月27日 16:39 | 37 楼
jhzhuang

状态: 离线
级别: CEC程序员
精华: 0
发帖: 19
威望: 1 点
财富: 21 元
在线时间:0(小时)
注册时间:2007-03-08
最后登录:2008-12-02

这个东西不错的!我都用了一些了。
顶端 时间: 2008年04月14日 19:57 | 38 楼
zhu_kenly

状态: 离线
级别: CEC程序员
精华: 0
发帖: 4
威望: 1 点
财富: 4 元
在线时间:0(小时)
注册时间:2008-05-16
最后登录:2008-06-09

谢谢
顶端 时间: 2008年05月18日 12:57 | 39 楼
«1 2 3» Pages: ( 2/3 total )
中国Eclipse社区 » 项目交流


辽ICP备05021625号