您的足迹:首页 > 我的代码 >aardio-自绘comboBox实现颜色选择下拉框

aardio-自绘comboBox实现颜色选择下拉框

代码全复制过去,直接用即可。


import win.graphics;
import color.table;
tb = color.table();
myColorList = {};
for(i=1;#tb;1){
    myColorList[[tb[i][1]]] = { tb[i][2];tb[i][3]; };
}//这以上,全复制一下,初始颜色的

//下面这函数,参数是控件名
applyColorPickerComboBox = function( cmb ){ 
    cmb.onMeasureItem = function(measureItem){
        measureItem.itemHeight = 21;
    }
    cmb.onDrawItem = function(drawItem){
        var cvs = win.graphics.canvas();
        cvs.fromHDC(drawItem.hDC);
        if( drawItem.itemID<10000 ){ cvs.brush.color = myColorList[owner.items[drawItem.itemID+1]][2]; }
        else { cvs.brush.color = 0x333333; }
        var rc = ::RECT(drawItem.rcItem.left+3,drawItem.rcItem.top+3, 28,drawItem.rcItem.bottom-1);
        cvs.fillRect(rc);
        cvs.pen.color = 0x00FFFF;
        cvs.font.color = 0x333333;

        //焦点处理
        if(drawItem.itemState&1/*_ODS_SELECTED*/){
                cvs.textOut(rc.left+30, rc.top, owner.items[drawItem.itemID+1])
                cvs.drawFocusRect(rc);
        }else {
                cvs.textOut(rc.left+30, rc.top, owner.items[drawItem.itemID+1]);
        }

        cvs.destroy();
    }

    for(k,v in myColorList){
        cmb.add( k );
    }
    cmb.selIndex = 1;
}

//这里调用一下,这个控件就变成颜色选择框了
applyColorPickerComboBox( winform.combobox );


本博客所有文章如无特别注明均为原创。作者:恶猫复制或转载请以超链接形式注明转自 恶猫的博客
原文地址《aardio-自绘comboBox实现颜色选择下拉框

相关推荐

分享本文至:

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)

恶猫的博客 -记录自己日常,代码,美图,电影,音乐,新闻,只是个人博客而已

浙ICP备15011757号-4 网站地图 联系我