1、垂直对齐
2、鼠标移入移出、编辑框编辑状态时,不同的边框颜色。
效果:
代码:
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
plus={cls="plus";left=158;top=125;right=621;bottom=157;align="left";border={color=-2236963;width=1};color=255;editable="edit";font=LOGFONT(h=-16;name='Fixedsys');notify=1;textPadding={left=5;top=1;right=1;bottom=1};z=1}
)
/*}}*/
winform.show();
winform.plus.editBox.setCueBannerText("请在此输入内容:")
var setcolor=function(c){
winform.plus.border = {color=c;width=1}
winform.plus.redraw()
}
var crect = winform.plus.editBox.getClientRect();
var rect = winform.plus.editBox.getRect();
rect.top += (rect.bottom-rect.top-(crect.bottom-crect.top))/2;
winform.plus.editBox.setRect(rect);
winform.plus.backgroundColor = ..gdi.argbReverse(winform.plus.editBox.bgcolor);
winform.plus.redraw()
winform.plus.onMouseEnter = function(wParam,lParam){
setcolor(0xFF999999);
winform.plus.capture=true
}
winform.plus.editBox.onFocusGot = function(){
setcolor(0xFFFF0000);
winform.plus.capture=true
}
winform.plus.editBox.onFocusLost = function(){
import mouse
var x,y = mouse.getPos();
var rect = winform.plus.getRect(true);
if ::PtInRect(rect,x,y) {
setcolor(0xFF999999);
} else {
setcolor(0xFFDDDDDD);
winform.plus.capture=false
}
}
winform.plus.editBox.onOk = function(){
winform.setFocus()
return true;
}
winform.plus.onMouseMove = function(wParam,lParam){
var x,y = win.getMessagePos(lParam);
var rect = winform.plus.getRect(true);
if !(x>0 and y>0 and x<rect.right-rect.left and y<rect.bottom-rect.top) {
if win.getFocus()!=winform.plus.editBox.hwnd{
setcolor(0xFFDDDDDD);
winform.plus.capture=false
}
}
}
winform.plus.onMouseDown = function(wParam,lParam){
var x,y = win.getMessagePos(lParam);
var rect = winform.plus.getRect(true);
if !(x>0 and y>0 and x<rect.right-rect.left and y<rect.bottom-rect.top) {
winform.setFocus()
}
}
win.loopMessage();