aardio 文档

aardio 范例: 窗口样式

 /*
在「 aardio 工具 » 探测器 » 窗口探测器(WinSpy)」
工具内点击窗口样式数值可查看对应的窗口样式名。
*/
var style = {
    _WS_POPUP = 0x80000000;
    _WS_CHID = 0x40000000;
    _WS_MINIMIZE = 0x20000000;
    _WS_VISIBLE = 0x10000000;
    _WS_DISABED = 0x8000000;
    _WS_CLIPSIBLINGS = 0x4000000;
    _WS_CLIPCHILDREN = 0x2000000;
    _WS_MAXIMIZE = 0x1000000; 
    _WS_VSCROLL = 0x200000;
    _WS_HSCROLL = 0x100000;
    _WS_SYSMENU = 0x80000;
    _WS_MINIMIZEBOX = 0x20000;
    _WS_MAXIMIZEBOX = 0x10000;
    _WS_GROUP = 0x20000;
    _WS_TABSTOP = 0x10000; 
    _WS_BORDER = 0x800000;
    _WS_DLGFRAME = 0x400000;
    ["_WS_SIZEBOX(_WS_THICKFRAME)"] = 0x40000;
    ["_WS_CAPTION(_WS_DLGFRAME | _WS_BORDER)"] = 0xC00000; 
}


//窗口样式数值转换为样式名称并输出到控制台
var dumpWindowStyle = function(s){

    if( ! ( s&0x80000000 || s&0x40000000 ) ){
        print("_WS_OVERLAPPED") 
    }

    for(k,v in style){
        if( (v &  s) == v) {
            if((v==0x400000/*_WS_DLGFRAME*/||v==0x800000/*_WS_BORDER*/) 
                && (s & 0xC00000/*_WS_CAPTION*/)){
                /*
                _WS_BORDER 样式显示边框
                _WS_CAPTION 样式显示标题栏

                _WS_CAPTION == _WS_DLGFRAME | _WS_BORDER 

                因为 _WS_CAPTION 包含 _WS_BORDER 
                所以有标题栏的窗口一定有边框,而无边框的窗口一定没有标题栏。 

                窗口边框样式有四种:
                - _WS_BORDER 细边框
                - _WS_DLGFRAME 或 _WS_CAPTION 对话框风格边框
                - _WS_SIZEBOX( 或 _WS_THICKFRAME) 可拖动调整大小边框
                - 无边框
                */
            }
            elseif( (k=="_WS_GROUP" || k=="_WS_TABSTOP")) && !(s & 0x40000000){

            } 
            elseif( (k=="_WS_MINIMIZEBOX" || k=="_WS_MAXIMIZEBOX")) && (s & 0x40000000){

            } 
            else {
                print(k) 
            } 
        }
    }   
}

//打印窗口样式名
dumpWindowStyle(0xCF0000) 

/*
获取样式
var style = win.getStyle(hwnd) //获取窗口样式
var styleEx = win.getStyleEx(hwnd) //获取窗口扩展样式

修改样式:
win.modifyStyle(hwnd,移除样式,增加样式,选项)
win.modifyStyleEx(hwnd,移除样式,增加样式,选项)

修改窗口或控件对象的样式:
winformOrControl.modifyStyle(移除样式,增加样式,选项)
winformOrControl.modifyStyleEx(移除样式,增加样式,选项)
*/
Markdown 格式