`
edgar108
  • 浏览: 32464 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
通过前面这些文章,对SWT程序执行的流程作了一些解释。 分析SWT的源码,实际上并不困难,只要了解了windows 程序执行的基本步骤。前面对程序的分析,可以分为2部分,一是寻找RegisterClass,CreateWindowEx这些windows api,寻找窗口创 ...
第一篇文章中,有一个问题我没有解释,在Display中的runDeferedEvents方法中:   boolean runDeferredEvents () { boolean run = false; /* * Run deferred events. This code is always * called in the Display's thread so it must * be re-enterant but need not be synchronize ...
先看程序:   package com.edgar; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; class TestMultButton { public static void main(String[] args) { Display display = new Displa ...
接上文。   同理,shell.setSize(200, 100);方法最后调用的是OS.SetWindowPos函数设置窗口的位置:   窗口现在创建完了,还要显示和更新,现在进入shell.open()方法:   public void open () { checkWidget (); STARTUPINFO lpStartUpInfo = Display.lpStartupInfo; if (lpStartUpInfo == null || (lpStartUpInfo.dwFlags & OS.STARTF_USESHOWWINDOW) == 0) ...
一个基本的Windows C程序:   #include <windows.h> #include <stdio.h> LRESULT CALLBACK WinSunProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI Win ...
继续上次的。   上次程序中的部分代码:   Text hello = new Text(shell, SWT.MULTI); hello.addMouseListener(new MouseListener() { @Override public void mouseUp(MouseEvent e) { // TODO Auto-generated method stub MessageBox box = new MessageBox(shell); box.setMessage("内容"); ...
  阅读本文需要知道搭建swt的开发环境,对SWT有基本的了解,最好对Windows api也有所了解,还要稍微了解一下JNI。     HelloSWT是一个基本的SWT程序,当点击输入框的时候,会弹出一个MessageBox。   import org.eclipse.swt.SWT; import org ...
Global site tag (gtag.js) - Google Analytics