⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comdlg32.java

📁 jnative java 调用动态库需要的包和dll
💻 JAVA
字号:
package org.xvolks.jnative.util;

import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;
import org.xvolks.jnative.misc.ChooseColor;
import org.xvolks.jnative.misc.basicStructures.HWND;
import org.xvolks.jnative.misc.basicStructures.LONG;
import org.xvolks.jnative.misc.basicStructures.LPARAM;

/**
 * 
 * $Id: ComDlg32.java,v 1.2 2006/06/09 20:44:05 mdenty Exp $
 * 
 * This software is released under the LGPL.
 * @author Created by Marc DENTY - (c) 2006 JNative project
 */
public class ComDlg32 {
	public static final String DLL_NAME = "COMDLG32.DLL";

	//Cache the JNative object between calls.
	private static JNative nChooseColor;
	
	/**
	 * 
	 * @param lOwner
	 * @param hInstance
	 * @param Flags
	 * @param lCustData
	 * @param lCallback
	 * @param lTemplateName
	 * @return -1 if the use does not click on OK button, the RGB value else.
	 * @throws NativeException
	 * @throws IllegalAccessException
	 */
	public static int ChooseColor(HWND lOwner, HWND hInstance, LONG Flags, LPARAM lCustData, Callback lCallback, String lTemplateName) throws NativeException, IllegalAccessException {
		if(nChooseColor == null) {
			//JNative uses ANSI version ChooseColorA vs ChooseColorW
			nChooseColor = new JNative(DLL_NAME, "ChooseColorA");
			//BOOL is in fact an INT
			nChooseColor.setRetVal(Type.INT);
		}
		ChooseColor nChooseColorStruct = new ChooseColor();
		nChooseColorStruct.setOwner(lOwner);
		nChooseColorStruct.setInstance(hInstance);
		nChooseColorStruct.setFlags(Flags);
		nChooseColorStruct.setCustData(lCustData);
		nChooseColorStruct.addCallback(lCallback);
		nChooseColorStruct.setTemplateName(lTemplateName);
		
		nChooseColor.setParameter(0, nChooseColorStruct.getPointer());
		nChooseColor.invoke();
		if("0".equals(nChooseColor.getRetVal())) {
			return -1;
		} else {
			return nChooseColorStruct.getValueFromPointer().rgbResult.getValue();
		}
	}

	public static void main(String[] args) throws NativeException, IllegalAccessException {
		ChooseColor(new HWND(0), new HWND(0), new LONG(0), new LPARAM(0), null, "TOTO");
		ChooseColor(new HWND(0), new HWND(0), new LONG(0), new LPARAM(0), null, "TOTO");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -