以下のようなスクリプトを書いて、各種オブジェクトの背景色・文字色の変更を使用としています。
しかし、ボタンとコンボボックスがうまくいきません。
また、このスクリプトには長くなるので載せませんでしたが、メニューバーも同様に色を変えたいと思っています。
ボタンについては、下記の通りモジュールにしてくださっているものがあったのでそれを利用していますが、1つ1つ設定せずに済むと楽だなぁと考えています。
http://wiki.hsp.moe/Module%EF%BC%8Fmod_customizebutton_v2.html
お手数をおかけしますが、ボタン・コンボボックス・メニューバーの色の変更に関して、ご存知の方がいましたらお教えください。
なお、下記スクリプトの政策には下記サイトの開設を参考にさせていただきました。
http://lhsp.s206.xrea.com/hsp_object5.html
<pri>
#define ctype RGB(%1,%2,%3) (%1 | %2 << 8 | %3 << 16)
#include "hsp3util.as"
#uselib "gdi32"
#func global SetBkColor "SetBkColor" sptr,sptr
#func global SetBkMode "SetBkMode" sptr,sptr
#func SetTextColor "SetTextColor" sptr,sptr
#func global CreateSolidBrush "CreateSolidBrush" sptr
#func global DeleteObject "DeleteObject" sptr
#uselib "user32"
#func GetComboBoxInfo "GetComboBoxInfo" sptr, sptr
//カラーブラシ作成
CreateSolidBrush RGB($0,$0,$0) //黒
hBrush_bk=stat
// COMBOBOXINFO構造体用
dim COMBOBOXINFO, 13
COMBOBOXINFO = $34
oncmd gosub *ctlcoloredit, $133 //WM_CTLCOLOREDIT
oncmd gosub *ctlcoloredit, $134 //WM_CTLCOLORLISTBOX
oncmd gosub *ctlcoloredit, $135 //WM_CTLCOLORBTN
oncmd gosub *ctlcoloredit, $138 //WM_CTLCOLORSTATIC
onexit *exit
cls 4
objsize 200,24
str1="サンプル"
str2="サンプル\nサンプル2\nサンプル3"
combox a, 100, str2 //中途半端にしか色が変わらない
hCombox = objinfo (stat, 2)
GetComboBoxInfo hCombox, varptr (COMBOBOXINFO)
hComboxList=COMBOBOXINFO.12
button str1,*exit //色が買わなない
hbutton=objinfo(stat,2)
listbox b,100,str2
hlistbox=objinfo(stat,2)
mesbox str1
hmesbox=objinfo(stat,2)
statictext str1,200,24 //後で書き換えが出来て便利
hstatic=objinfo(stat,2)
stop
*ctlcoloredit
if (lparam=hComboxlist) or (lparam=hCombox) or (lparam=hlistbox) or (lparam=hmesbox) or (lparam=hstatic){
setBkMode wparam,2
SetTextColor wparam, RGB ($FF, $FF, $FF)
SetBkColor wparam, RGB($00,$00,$00)
return hBrush_bk
}
return
*exit
DeleteObject hBrush_bk //メモリ会報
end
</pri>