# win.ui.ctrl.pick 库模块帮助文档

## win.ui.ctrl 成员列表 <a id="win.ui.ctrl" href="#win.ui.ctrl">&#x23;</a>

### win.ui.ctrl.pick <a id="win.ui.ctrl.pick" href="#win.ui.ctrl.pick">&#x23;</a>
服于创建取色与选色器的窗口类。  
可用于创建独立窗口，也可以作为自定义控件类使用。  
可作为 loadForm 方法的首个参数（窗体构造器）加载。  
作为窗体加载时第二个回调参数必须为 null（这是作为自定义控件加载时专用的 tParam 参数）。  
用于显示增强颜色对话框的  win.dlg.argbColor 继承自 win.ui.ctrl.pick 控件。  

取色放大镜使用技巧:  
取色时取的是放大镜十字准星右下角的那个像素。  
取色时按住 `Ctrl` 键放大镜不动且图像不变,  
按住 `Shift` 键放大镜不动但图像随鼠标指向改变,  
同时按住 `Ctrl+Shift` 键等价于按 `Ctrl` 键。

### win.ui.ctrl.pick() <a id="win.ui.ctrl.pick" href="#win.ui.ctrl.pick">&#x23;</a>
创建取色与选色器。  
可选使用参数 @1 指定父窗口，可选用参数@2自定义创建窗口的参数,  
可使用setColor函数修改颜色值,参数指定颜色值,  
取色器颜色改变时会触发 onColorChange 函数,  
该回调函数唯一的参数即为当前变更后的颜色  

[返回对象:winUiCtrlPickObject](#winUiCtrlPickObject)

## winUiCtrlPickObject 成员列表 <a id="winUiCtrlPickObject" href="#winUiCtrlPickObject">&#x23;</a>

### winUiCtrlPickObject.bgcolor <a id="winUiCtrlPickObject.bgcolor" href="#winUiCtrlPickObject.bgcolor">&#x23;</a>
背景颜色

### winUiCtrlPickObject.bottom <a id="winUiCtrlPickObject.bottom" href="#winUiCtrlPickObject.bottom">&#x23;</a>
底部坐标

### winUiCtrlPickObject.center(目标窗口句柄) <a id="winUiCtrlPickObject.center" href="#winUiCtrlPickObject.center">&#x23;</a>
居中窗口,并调整以保证显示在可见范围内  
目标窗口句柄如果为空则取父窗口或所有者窗口,为0表示桌面

### winUiCtrlPickObject.close() <a id="winUiCtrlPickObject.close" href="#winUiCtrlPickObject.close">&#x23;</a>
关闭窗口

### winUiCtrlPickObject.doModal(/*请指定所有者窗口\n可省略此参数*/) <a id="winUiCtrlPickObject.doModal" href="#winUiCtrlPickObject.doModal">&#x23;</a>
弹出模态对话框

### winUiCtrlPickObject.getClientRect() <a id="winUiCtrlPickObject.getClientRect" href="#winUiCtrlPickObject.getClientRect">&#x23;</a>
窗口客户区块位置(::RECT结构体)  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### winUiCtrlPickObject.getHsb() <a id="winUiCtrlPickObject.getHsb" href="#winUiCtrlPickObject.getHsb">&#x23;</a>
返回当前 H,S,V 颜色分量

### winUiCtrlPickObject.getLab() <a id="winUiCtrlPickObject.getLab" href="#winUiCtrlPickObject.getLab">&#x23;</a>
返回当前 H,S,B 颜色分量

### winUiCtrlPickObject.getPos() <a id="winUiCtrlPickObject.getPos" href="#winUiCtrlPickObject.getPos">&#x23;</a>
返回相对父窗口客户区的坐标,宽,高,  
参数为true返回屏幕坐标,宽,高,  
x,y,cx,cy=win.getPos(hwnd)

### winUiCtrlPickObject.getRect() <a id="winUiCtrlPickObject.getRect" href="#winUiCtrlPickObject.getRect">&#x23;</a>
窗口区块位置(::RECT结构体)  

[返回对象:rectObject](https://www.aardio.com/zh-cn/docs/library-reference/global/_.html#rectObject)

### winUiCtrlPickObject.getRect(true) <a id="winUiCtrlPickObject.getRect" href="#winUiCtrlPickObject.getRect">&#x23;</a>
窗口屏幕区块位置(::RECT结构体)

### winUiCtrlPickObject.getRgba() <a id="winUiCtrlPickObject.getRgba" href="#winUiCtrlPickObject.getRgba">&#x23;</a>
返回当前 R,G,B,A 颜色分量

### winUiCtrlPickObject.height <a id="winUiCtrlPickObject.height" href="#winUiCtrlPickObject.height">&#x23;</a>
高度

### winUiCtrlPickObject.hwnd <a id="winUiCtrlPickObject.hwnd" href="#winUiCtrlPickObject.hwnd">&#x23;</a>
窗口句柄

### winUiCtrlPickObject.lastSelectedColor <a id="winUiCtrlPickObject.lastSelectedColor" href="#winUiCtrlPickObject.lastSelectedColor">&#x23;</a>
最后获取的颜色，如果未修改初始颜色则此属性为 null 。

### winUiCtrlPickObject.openColorTable() <a id="winUiCtrlPickObject.openColorTable" href="#winUiCtrlPickObject.openColorTable">&#x23;</a>
打开 color.table 支持的色表,  
色表是由多个色卡信息组成的数组,  
每个色卡由颜色中文名、英文名、RGB格式颜色数值三个元素组成

### winUiCtrlPickObject.orphanWindow(transparent,hwndBuddy) <a id="winUiCtrlPickObject.orphanWindow" href="#winUiCtrlPickObject.orphanWindow">&#x23;</a>
创建悬浮窗口,  
悬浮窗口仍然显示在原来的位置,  
可选参数 @transparent 如果为 true 则转换为分层透明窗口,  
可选利用 @buddy 参数将只有句柄的窗口托管在悬浮窗口之上实现相同的效果,  
伙伴窗口总是会保持在悬浮窗口前面，并保持相同的大小、位置

### winUiCtrlPickObject.ready <a id="winUiCtrlPickObject.ready" href="#winUiCtrlPickObject.ready">&#x23;</a>

```aardio
winUiCtrlPickObject.ready = function(){  
	winUiCtrlPickObject.center()/*窗体准备就绪并即将显示或处理消息前调用此函数。  
详细说明请参考 win.form 对象 ready 属性/方法说明。*/  
}
```

### winUiCtrlPickObject.redraw() <a id="winUiCtrlPickObject.redraw" href="#winUiCtrlPickObject.redraw">&#x23;</a>
刷新

### winUiCtrlPickObject.right <a id="winUiCtrlPickObject.right" href="#winUiCtrlPickObject.right">&#x23;</a>
右侧坐标

### winUiCtrlPickObject.setColor(argbColor) <a id="winUiCtrlPickObject.setColor" href="#winUiCtrlPickObject.setColor">&#x23;</a>
修改当前颜色。  
参数 @argbColor 指定 0xAARRGGBB 格式颜色（GDI+ 格式）。

### winUiCtrlPickObject.setColor(rgbColor,true) <a id="winUiCtrlPickObject.setColor" href="#winUiCtrlPickObject.setColor">&#x23;</a>
修改当前颜色。  
参数 @argbColor 指定 0xBBGGRR 颜色格式（GDI 格式）。

### winUiCtrlPickObject.setPos(x坐标,y坐标,宽,高,插入位置,参数) <a id="winUiCtrlPickObject.setPos" href="#winUiCtrlPickObject.setPos">&#x23;</a>
调整窗口位置或排序,所有参数可选  
同时指定x,y坐标则移动位置  
同时指定宽高则改变大小  
指定插入位置(句柄或_HWND前缀常量)则调整Z序

### winUiCtrlPickObject.setRect(rc) <a id="winUiCtrlPickObject.setRect" href="#winUiCtrlPickObject.setRect">&#x23;</a>
设置窗口区块位置(::RECT结构体)

### winUiCtrlPickObject.setRect(rc,true) <a id="winUiCtrlPickObject.setRect" href="#winUiCtrlPickObject.setRect">&#x23;</a>
设置窗口屏幕区块位置(::RECT结构体)

### winUiCtrlPickObject.setRedraw(false) <a id="winUiCtrlPickObject.setRedraw" href="#winUiCtrlPickObject.setRedraw">&#x23;</a>
禁止重绘

### winUiCtrlPickObject.setRedraw(true) <a id="winUiCtrlPickObject.setRedraw" href="#winUiCtrlPickObject.setRedraw">&#x23;</a>
恢复重绘

### winUiCtrlPickObject.show <a id="winUiCtrlPickObject.show" href="#winUiCtrlPickObject.show">&#x23;</a>
显示窗口，并指定显示参数

### winUiCtrlPickObject.show() <a id="winUiCtrlPickObject.show" href="#winUiCtrlPickObject.show">&#x23;</a>
显示窗口

### winUiCtrlPickObject.show(false) <a id="winUiCtrlPickObject.show" href="#winUiCtrlPickObject.show">&#x23;</a>
隐藏窗口

### winUiCtrlPickObject.show(true) <a id="winUiCtrlPickObject.show" href="#winUiCtrlPickObject.show">&#x23;</a>
显示窗口

### winUiCtrlPickObject.text <a id="winUiCtrlPickObject.text" href="#winUiCtrlPickObject.text">&#x23;</a>
窗口标题

### winUiCtrlPickObject.top <a id="winUiCtrlPickObject.top" href="#winUiCtrlPickObject.top">&#x23;</a>
顶部坐标

### winUiCtrlPickObject.transparent(128,225) <a id="winUiCtrlPickObject.transparent" href="#winUiCtrlPickObject.transparent">&#x23;</a>
启用分层窗口,设置窗口透明度，  
参数(透明度,透明颜色)  
如果指定了透明颜色，透明度参数将被忽略

### winUiCtrlPickObject.transparent(false) <a id="winUiCtrlPickObject.transparent" href="#winUiCtrlPickObject.transparent">&#x23;</a>
取消窗口透明

### winUiCtrlPickObject.transparent(true) <a id="winUiCtrlPickObject.transparent" href="#winUiCtrlPickObject.transparent">&#x23;</a>
启用分层窗口,不设置透明度

### winUiCtrlPickObject.width <a id="winUiCtrlPickObject.width" href="#winUiCtrlPickObject.width">&#x23;</a>
宽度

### winUiCtrlPickObject.wndproc <a id="winUiCtrlPickObject.wndproc" href="#winUiCtrlPickObject.wndproc">&#x23;</a>

```aardio
winUiCtrlPickObject.wndproc = function(hwnd,message,wParam,lParam){   
	/*添加消息回调函数*/  
}
```

## winUiCtrlPickObject 事件列表 <a id="winUiCtrlPickObjectEvent" href="#winUiCtrlPickObjectEvent">&#x23;</a>

### winUiCtrlPickObject.onColorChange <a id="winUiCtrlPickObject.onColorChange" href="#winUiCtrlPickObject.onColorChange">&#x23;</a>

```aardio
winUiCtrlPickObject.onColorChange = function(argb){
	/*调色器当前颜色改变时触发此事件，  
回调参数 argb 为 ARGB 格式（0xAARRGGBB）颜色数值*/
}
```

### winUiCtrlPickObject.onDropFiles <a id="winUiCtrlPickObject.onDropFiles" href="#winUiCtrlPickObject.onDropFiles">&#x23;</a>

```aardio
winUiCtrlPickObject.onDropFiles = function(files){  
	/*接受系统拖放,files是拖放的所有文件路径名数组*/  
}
```

