stuncloud
11/4/2016 - 3:12 AM

PickColor(var color [, id]) color: BGR値 id: 色選択ダイアログの親ウィンドウのID (省略可)

PickColor(var color [, id]) color: BGR値 id: 色選択ダイアログの親ウィンドウのID (省略可)

call ColorPicker.uws

color = 0
bgcolor = $FFFFFF
dim list[] = "文字色を変える", "背景を変える", "やめる"

while TRUE
    balloon("文字色: $" + replace(format(color, 6, -1), " ", "0") + "<#CR>背景色: $" + replace(format(bgcolor, 6, -1), " ", "0") + "<#CR><#CR>背景色を$000000にすると黄色になります(仕様)", 0, 0, 0, 20, "ms gothic", color, bgcolor)
    select popupmenu(list, 0, status(getid(GET_BALLOON_WIN), ST_HEIGHT))
        case 0
            balloon()
            PickColor(color)
        case 1
            balloon()
            PickColor(bgcolor)
        default
            break
    selend
wend
function PickColor(var color, id = -1)
    h = idtohnd(id)
    size = 36
    dim lpCustColors[15] = color,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    flag = CC_ANYCOLOR or CC_FULLOPEN or CC_RGBINIT
    result = ChooseColorA(36, h, 0, color, lpCustColors, flag, 0, 0, 0)
fend

def_dll ChooseColorA({dword, hwnd, hwnd, dword, dword[], dword, dword, dword, dword}):bool:Comdlg32.dll
const CC_RGBINIT              = $1
const CC_FULLOPEN             = $2
const CC_PREVENTFULLOPEN      = $4
const CC_SHOWHELP             = $8
const CC_ENABLEHOOK           = $10
const CC_ENABLETEMPLATE       = $20
const CC_ENABLETEMPLATEHANDLE = $40
const CC_SOLIDCOLOR           = $80
const CC_ANYCOLOR             = $100