|
|
2009/5/3(Sun) 23:45:48|NO.24940
ブラウザのURL欄のように、入力+選択できるボックスを作りたくて調べてみると、コンボボックスのスタイルを変更することで実現できそうという事が分かりました。
comboxで出したコンボボックスをSetWindowLongでスタイルを変更しようと以下のように書いてみたのですが、ちゃんと入力出来るようになりません。
#uselib "user32"
#func SetWindowLong "SetWindowLongA" int, int, int
#define CBS_DROPDOWN 0x0002 ;ドロップダウンコンボボックス(入力可)
objsize 300,24
combox a,120,"APPLE\nORANGE\nGRAPE"
combhnd=objinfo(stat,2)
SetWindowLong combhnd, -16, $50000000 | CBS_DROPDOWN
stop
どうしたら良いのでしょうか?ご教授お願いします。
|
|
2009/5/4(Mon) 01:54:58|NO.24942
comboxにSetWindowLongを使っても反映されないみたいです。
(やり方の問題なのかもしれませんが。)
#uselib "user32"
#func SetWindowLong "SetWindowLongA" int, int, int
#define CBS_DROPDOWN 0x0002 ;ドロップダウンコンボボックス(入力可)
#define CB_ADDSTRING 0x0143
winobj "ComboBox","",0, $50000000| CBS_DROPDOWN,300,20,hwnd,0
combhnd=objinfo(stat,2)
sendmsg combhnd,CB_ADDSTRING,0,"HSP"
sendmsg combhnd,CB_ADDSTRING,0,"Windows"
sendmsg combhnd,CB_ADDSTRING,0,"Microsoft"
|
|
2009/5/4(Mon) 12:45:50|NO.24945
inoviaさん
ありがとうございます!ちゃんと入力できるボックスが表示できました。
ですが、何故か縦サイズの変更が出来ません。以下のように書き換えたのですが、サイズが固定されているみたいです。
数値を大きくしても小さくしても変わりませんでした。どうすれば良いでしょうか…?
↓縦のサイズを15に
winobj "ComboBox","",0, $50000000| CBS_DROPDOWN,300,15,hwnd,0
|
|
2009/5/4(Mon) 15:10:24|NO.24948
フォントの設定によって、コンボックスの大きさは比例するんじゃないでしょうか…。
|
|
2009/5/4(Mon) 18:42:11|NO.24949
つ http://lhsp.s206.xrea.com/hsp_object3.html#8
#uselib "gdi32"
#func GetStockObject "GetStockObject" int
#define CBS_DROPDOWN 0x0002 ;ドロップダウンコンボボックス(入力可)
#define CB_ADDSTRING 0x0143
font "MS ゴシック", 30, 2
mref BMSCR, 67
hFont = BMSCR.38
winobj "ComboBox","",0, $50000000|CBS_DROPDOWN,300,12,hwnd,0
combhnd=objinfo(stat,2)
GetStockObject 17
sendmsg combhnd, $30,hFont
sendmsg combhnd,CB_ADDSTRING,0,"HSP"
sendmsg combhnd,CB_ADDSTRING,0,"Windows"
sendmsg combhnd,CB_ADDSTRING,0,"Microsoft"
|
|
2009/5/4(Mon) 18:44:04|NO.24950
よくみたらGetStockObjectはfont命令で指定したフォント
を使っているので必要ありませんでしたね。
|
|
2009/5/4(Mon) 23:53:02|NO.24964
inoviaさん
完璧に理想のものが出来ました!
どうもありがとうございました。
|
|