===========================Window class===========================
kagWindow࣬ʱkag.xxxx

kag.bringToFront() ˾ʱϷϷСͼ

kag.hideMouseCursor() ˾ʱٶ꣬ͻ³
kag.mouseCursorState=mcsVisible; 
kag.mouseCursorState=mcsTempHidden; ٶ꣬ͻd
kag.mouseCursorState=mcsHidden;   أôƶ

kag.setPos(100,200)  ڵλñ(100,100)
    |______kag.left=100;kag.top=200;

kag.setSize(640,480) ˾ʱwindow640*480(640,100)Ϊǰб仯Ѵڽвü
    |______kag.width=640;kag.height=480;

kag.setInnerSize(640,480) setSizeǲͬģSizeָڵSizeInnerSizeָϷвǸSizesetInnerSize(640,480)setSize(640,480)Χ
    |______kag.innerWidth=640;kag.innerHeight=480;

kag.innerSunken=false;  falseʱ򣬴ھûаߣtrueʱУע趨false˰ߵĵطԺڱʾ
kag.innerSunken=false;
kag.setInnerSize(800,600);趨ûкڱ

kag.setMaskRegion(0); ֵ0С1ʱڻһС
kag.setMaskRegion(1); ֵڵ1Сڵ0ʧ
kag.setMaskRegion(1);
kag.borderStyle=bsDialog;
kag.setInnerSize(800,600);
kag.innerSunken=true; Ļֲʧ

kag.setMaskRegion(0);
kag.removeMaskRegion(); MaskRegionʧʾ

kag.update(); ˢ»

kag.setLayerPos(50,50);
                |______________kag.layerLeft=50;kag.layerTop=50;
Ϸڲַ(50,50)ƫƣΪƫƲհ׵Ĳֺ淢ӣγϷڵͼƬҲǳʽгʱ

kag.setZoom(4,3);
             |_______________kag.zoomNumer=4;kag.zoomDenom=3;
4Ƿӣ3Ƿĸlayer4/3ķŴ
kag.setZoom(3,4);
ʱlayerСˣΪСհ׵Ĳֻ淢ӣγϷڵͼƬҲǳʽгʱ

kag.fullScreen=true ȫ
kag.fullScreen=false ڻ

kag.setSize(640,480);
                |_____________kag.width=640;kag.height=480;
kag.showScrollBars=true; 800*600ͼƬѴڵSizeĳ640*480scrollbarsͻ֣ͼƬߴʹһ£scrollbars

kag.onCloseQuery(); ???ʴǷرգclassйأsuper.onCloseQuery(false)???

var mywin=new Window();
mywin.showModal();   ʱϷĴϾͻᵯһʲôûеĴڣԭڱЧҲ˵ѡ

kag.close();
kagԶر

kag.borderStyle=bsDialog; ڱɶԻģʽûв˵ߴ粻ɱ
kag.borderStyle=bsSingle; ڳߴ粻ɱ
kag.borderStyle=bsNone;   û˱϶
kag.borderStyle=bsSizeable;ڿɱСԭߴϱʱʾ
kag.borderStyle=bsToolWindow;ڵıúСߴ粻ɱ
kag.borderStyle=bsSizeToolWin;bsToolWinһСߴɱ



kag.caption="i love loli" Ϸtitle barʾi love loli


kag.fore.layers[2].setPos(0,0);
kag.fore.layers[2].setSize(800,600);
kag.fore.layers[2].visible=true;
kag.tagHandlers.image(%[storage:"mo2.png",layer:"2"]);
kag.fore.layers[2].font.height=20;
kag.fore.layers[2].drawText(0,0,kag.HWND,0x000000); //עֻͼڵķΧ棬ȥͼһƬɫϽиɫС
HWNDʾλ֣ÿδ򿪴ڶͬ4916884,7800302ȣ;

var mw=new Window();
mw.visible=true;
kag.focusable=false;
kagʧȥ㣬ȲѡҲܹر

var ml=new Window();
ml.visible=true;
kag.stayOnTop=true;ʱkagԶmlǰ棬ômlkagǰ 

kag.trapKey=true; 붫ʱĴָkagɵĴ
kag.useMouseKey=false;ĵ˵falseĻЧ

var ml=new Window();
ml.visible=true;
ھܿü

kag.fore.layers[2].setPos(0,0);
kag.fore.layers[2].setSize(800,600);
kag.fore.layers[2].visible=true;
kag.tagHandlers.image(%[storage:"bg.jpg",layer:"2"]);
kag.fore.layers[2].font.height=20;
kag.focusedLayer=kag.fore.layers[2];
kag.fore.layers[2].drawText(0,0,kag.focusedLayer,0x000000);
Ȼȥǰkag.fore.layers[2]ֵkag.focusedLayerˣӡ(Object 0x00000000:0x00000000);
ʹvar ml=new Layer(kag,kag.fore.base)Ȼֵʾ


kag.imeMode=imChinese;
ָ imDisable Ļ IME Ч޷ʹ IME 룬ʹûĲҲ޷ IME Ч

ָ imClose Ļ IME Ч imDisable ͬûĲ IME Ч

ָ imOpen Ļ IME Ч

ָ imDontCare Ļ IME Ч /Ч̳֮ǰûĲ IME Ч֮ȵ뷽棬ûɵ /ȫֵһģʽ

ָ imSAlpha Ļ IME ЧΪĸģʽ

ָ imAlpha Ļ IME ЧΪȫĸģʽ

ָ imHira Ļ IME ЧΪƽģʽ

ָ imSKata Ļ IME ЧΪƬģʽ

ָ imKata Ļ IME ЧΪȫƬģʽ

ָ imChinese Ļ IME ЧΪ 2 λԪģʽ޷Ļʹá

ָ imSHanguel Ļ IME ЧΪ 1 λԪģʽ޷Ļʹá

ָ imHanguel Ļ IME ЧΪ 2 λԪģʽ޷Ļʹá


kag.fore.layers[2].setPos(0,0);
kag.fore.layers[2].setSize(800,600);
kag.fore.layers[2].visible=true;
kag.tagHandlers.image(%[storage:"bg.jpg",layer:"2"]);
kag.fore.layers[2].font.height=20;
kag.fore.layers[2].drawText(0,0,kag.mainWindow,0x000000);
ܴӡmainWindowҲkagĵַֻܶд

kag.menumainWindowһֻܶд

kag.fore.layers[2].setPos(0,0);
kag.fore.layers[2].setSize(800,600);
kag.fore.layers[2].visible=true;
kag.tagHandlers.image(%[storage:"bg.jpg",layer:"2"]);
kag.fore.layers[2].font.height=20;
kag.fore.layers[2].drawText(0,0,kag.primaryLayer,0x000000);
kag.fore.layers[2].drawText(0,25,kag.fore.base,0x000000);
ַһҲ˵baseprimaryLayerprimaryLayerֻܶд



kag.remove(layers[2]);
kag.fore.layers[2].setPos(50,50);
kag.fore.layers[2].setSize(800,600);
kag.fore.layers[2].visible=true;
kag.tagHandlers.image(%[storage:"mo2.png",layer:"2"]);
ΪƳlayers[2]Իִ˵Ҳlayer




˵ǹڰ
mylayer.setPos(0,0);
mylayer.setSize(800,600);
mylayer.visible=true;
mylayer.font.height=19;
mylayer.loadImages("config.png");
var xpos=0,ypos=0;
function myonkeydown(key,shift){
        if(key==VK_UP){
                ypos-=10;
                mylayer.setPos(xpos,ypos);
                kag.update();
        }
        if(key==VK_DOWN){
                ypos+=10;
                mylayer.setPos(xpos,ypos);
                kag.update();
        }
        if(key==VK_LEFT){
                xpos-=10;
                mylayer.setPos(xpos,ypos);
                kag.update();
        }
        if(key==VK_RIGHT){
                xpos+=10;
                mylayer.setPos(xpos,ypos);
                kag.update();
        }
}
kag.keyDownHook.add(myonkeydown);     //˴ʵҿͼƬƶ

function myonclick(){
        mylayer.setPos(kag.lastMouseDownX,kag.lastMouseDownY);
}
kag.rightClickHook.add(myonclick);   //ҼͼƬȥ

function myonclick(){
        mylayer.setPos(kag.lastMouseDownX,kag.lastMouseDownY);
}
kag.leftClickHook.add(myonclick);   //ͼƬȥ


class MyWindow extends Window
{
    var layer;
    function MyWindow()
    {
        super.Window(...);
        add(layer = new Layer(this, null));  //addþobject
        layer.visible = true;
        layer.setPos(0,0);
        layer.setSize(800,600);
    }
    function action(event)
    {
        if(event.type == "onClick" && event.target == layer)  //onClickʹõģΪ¼һĶӦֵ
        {
            System.inform(event.x, event.y);
        }
    }
}
var a=new MyWindow();
a.visible=true;

kagʵͼƬʾMainWindowм
        var showboy;
        var showboylayer;
        var a=false;
function action(ev)
        if(showboy&&ev.type=='onClick'){
                if(!a){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setSize(800,600);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        a=true;
                }
                showboylayer.setPos(ev.x,ev.y);
                //this.update();
        }
ǰonClickĳonDoubleClickͼξϽûƶȻȴdrawTextSystem.informӡev.xev.yֵ
ɼonDoubleClickʱпܺĴͻͼƬûƶڴthis.update()ԿͼƬڹ˫λһȻصϽ
ԱȻĴ֣baseĳlayers[i]һ
onClickonDoubleClick

onClickĳonMouseDownźonDoubleClickͬ⣬ͼƬڵλ˸ʱonDoubleClickҪ
onMouseDownмģҼԿɣbutton=mbLeft,mbRight,mbMiddleָ


´ͨҼͼƬƶ
MainWindow class±
var showboy;
var showboylayer;
var a=false,xpos=0,ypos=0;        //Ҫaction涨壬
action
        if(showboy&&ev.type=='onKeyDown'){
                if(!a){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setSize(800,600);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        showboylayer.setPos(xpos,ypos);
                        a=true;
                }
                if(ev.key==VK_UP){
                        ypos-=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
                if(ev.key==VK_DOWN){
                        ypos+=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }                
                if(ev.key==VK_LEFT){
                        xpos-=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
                if(ev.key==VK_RIGHT){
                        xpos+=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
        }


ʹonKeyPressʱĳˣev.keyָĸҲ˵ĸļʹ
ָֻ֣Ǵϵ֣С̵Ҳʹ
        if(showboy&&ev.type=='onKeyPress'){
                if(!a){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setSize(800,600);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        showboylayer.setPos(xpos,ypos);
                        a=true;
                }
                ev.process=false;        //ĬtruetrueĻͽԤ򲻽
                if(ev.key=='e'||ev.key=='E'){
                        ypos-=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
                if(ev.key=='d'||ev.key=='D'){
                        ypos+=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }                
                if(ev.key=='s'||ev.key=='S'){
                        xpos-=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
                if(ev.key=='f'||ev.key=='F'){
                        xpos+=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
        }


ʹonKeyUpɿʱͼƬƶ
        if(showboy&&ev.type=='onKeyUp'){
                if(!a){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(200,200);
                        showboylayer.setSize(400,200);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        showboylayer.setPos(xpos,ypos);
                        a=true;
                }
                if(ev.key==VK_UP){
                        ypos-=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
                if(ev.key==VK_DOWN){
                        ypos+=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }                
                if(ev.key==VK_LEFT){
                        xpos-=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
                if(ev.key==VK_RIGHT){
                        xpos+=10;
                        showboylayer.setPos(xpos,ypos);
                        this.update();
                }
        }

onMouseEnterʱͼƬ(200,200)λʾonMouseLeaveʱͼƬʧ
        if(showboy&&ev.type=='onMouseEnter'){
                if(!a){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(200,200);
                        showboylayer.setSize(400,200);
                        showboylayer.visible=true;
                        a=true;
                }
                if(ev.target==this.fore.base)   //ֻbasethisbaseʱϷĻͽн룬thisʱϷĴڣͽн
                        showboylayer.opacity=255;
                        showboylayer.loadImages("boy.jpg");
        }
        if(showboy&&ev.type=='onMouseLeave'){
                if(ev.target==this.fore.base)
                        showboylayer.opacity=0;
        }


onMouseMoveʱֻе֮һͷƶʱmoveev.x,ev.yŻᱻֵͷźʾƶev.x,ev.y0ʱͼ񷵻Ͻ
Ǽif(ev.shift==ssLeft)֮Ͳͬˣͷźev.x,ev.yصǹ굱ǰλãǵ˫ǰεһ룬ڶεͼڲʱ
ev.x,ev.yֵ0ͼ񷵻Ͻ
        if(showboy&&ev.type=='onMouseMove'){  //&&ev.shift==ssLeftǾͲҪˣעssLeftû
                if(!a){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(100,100);
                        showboylayer.setSize(600,400);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        a=true;
                }
                //if(ev.shift==ssLeft)
                        showboylayer.setPos(ev.x,ev.y);
        }



onMouseUpģҪev.button==mbLeftֻԭλ˫ʱֹ󣬵һͼڵλãڶͼ񷵻Ͻ
˫ǰεһ룬ڶεͼڲʱev.x,ev.y0ͼ񷵻Ͻ
        if(showboy&&ev.type=='onMouseUp'&&ev.button==mbLeft){
                if(!a){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(100,100);
                        showboylayer.setSize(600,400);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        a=true;
                }
                        showboylayer.setPos(ev.x,ev.y);
        }





onActivateڴʱִУ´ʱboy.jpgͼƬڴϳһ˲Ȼʧ
        if(showboy){
                if(ev.type=='onActivate'){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(100,100);
                        showboylayer.setSize(600,400);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        kag.update();
                }
                else{
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(100,100);
                        showboylayer.setSize(600,400);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=false;
                }
                        
        }
onActivateĳonDeactivate˵ڴڹرʱִУڹرմʱǿһ˲ֵͼƬǲΪ̫˵ԭ


onMouseWheelֵģֵСǶ120ȣĵ˵ģ´ִнʱס֣ͼƬͻᶯЧ̫
        if(showboy){
                if(ev.type=='onMouseWheel'&&ev.shift==ssLeft){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(ev.x,ev.y);
                        showboylayer.setSize(600,400);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        kag.update();
                }
        }

kag.onCloseQuery(false); trueҲһԶرմ
actionִƺûЧ

onFileDropǰļʱִУ´ǰļʱʾļַ
        if(showboy){
                if(ev.type=='onFileDrop'){
                        this.fore.base.font.height=20;
                        this.fore.base.drawText(0,0,ev.files,0xffffff);
                }
        }

mainWindowaction´
        if(showboy){
                if(ev.type=='onPopupHide'){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(ev.x,ev.y);
                        showboylayer.setSize(600,400);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        kag.update();
                }
        }
Ȼks´
var mw=new Window();
mw.visible=true;
kag.focusable=false;
kag.stayOnTop=true;
¼onPopupHideֻfocusableΪfalsestayOnTopΪtrueʱŻִ
Ҳ˵ǰ棬ֲѡеĴڣìܵ²ŻִУϵĴеǿ



onResizeһڽ趨Window.width,Window.heightͻִ
kagڳʼʱȻдڵ趨´ȻʾͼƬ
        if(showboy){
                if(ev.type=='onResize'){
                        showboylayer=new Layer(this,this.fore.base);
                        showboylayer.setPos(ev.x,ev.y);
                        showboylayer.setSize(600,400);
                        showboylayer.loadImages("boy.jpg");
                        showboylayer.visible=true;
                        kag.update();
                }
        }
