HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2006
1016
Kレバーコントロールのツールバーを作成する方法3未解決


K

リンク

2006/10/16(Mon) 22:56:49|NO.3002

以前にも質問しましたが、回答がなかったので再度質問します。
http://tsu.sakura.ne.jp/article/note/eid44.html
上記リンク先サイトのサンプルをレバーコントロール化し、
一番左のボタンにドロップダウンボタンを付けるには、
どのようにすれば良いでしょうか。



この記事に返信する


Vn

リンク

2006/10/16(Mon) 23:58:02|NO.3003

そちらのサイトで質問してみたらいかがですか?



t.hamaguti

リンク

2006/10/17(Tue) 21:32:34|NO.3005

> http://tsu.sakura.ne.jp/article/note/eid44.html
> 上記リンク先サイトのサンプルをレバーコントロール化し、
> 一番左のボタンにドロップダウンボタンを付けるには、
> どのようにすれば良いでしょうか。
レバーコントロールを作成し、ツールバーをレバーバンドの中に入れます。
ドロップダウンはツールボタン追加時にTBSTYLE_DROPDOWNを指定します。
上記サイトのサンプルを元にスクリプトを作ってみました。
モジュール部分は省略してあります。省略しても長いです(^_^;

// window style #const WS_CHILD $40000000 #const WS_VISIBLE $10000000 #const WS_CLIPSIBLINGS $04000000 #const WS_CLIPCHILDREN $02000000 // common control style #const CCS_NODIVIDER $00000040 #const CCS_NORESIZE $00000004 // rebar message #const RB_SETBARINFO $00000404 #const RB_INSERTBAND $00000401 // rebar band info mask #const RBBIM_SIZE $00000040 #const RBBIM_CHILDSIZE $00000020 #const RBBIM_CHILD $00000010 #const RBBIM_STYLE $00000001 // rebar band style #const RBBS_GRIPPERALWAYS $00000080 #const RBBS_CHILDEDGE $00000004 // toolbar message #const TB_SETEXTENDEDSTYLE $00000454 #const TB_GETBUTTONSIZE $0000043A // toolbar button style #const TBSTYLE_DROPDOWN $00000008 // toolbar extended style #const TBSTYLE_EX_DRAWDDARROWS $00000001 Buttons = 6 ;// ボタンの数 ImgW = 16 ;// 画像(1つあたり)の幅 ImgH = 16 ;// 画像の高さ ImgFn = "ico.bmp" ;// ボタン画像(横一列) sdim teststr,64,Buttons teststr = "あいうえお", "かきくけこ", "さしすせそ" teststr.3 = "たちつてと", "なにぬねの", "はひふへほ" picload ImgFn, 1 hBmp = CreateBmpObj(0, 0, ImgW * Buttons, ImgH) // レバーバンドに乗せるツールバーを作るときは // CCS_NODIVIDERとCCS_NORESIZEスタイルを付けないとカッコ悪い toolbar_Create $800 | $200 | CCS_NODIVIDER | CCS_NORESIZE, ImgW, ImgH hToolBar = stat toolbar_AddString hToolBar, teststr, Buttons toolbar_AddBitmap hToolBar, hBmp , Buttons // 左側のボタンだけドロップダウンスタイルを付ける toolbar_AddButton hToolBar, 0, 4, TBSTYLE_DROPDOWN repeat Buttons - 1, 1 toolbar_AddButton hToolBar, cnt, 4, 0 loop // ドロップダウンの矢印を表示できるようにする sendmsg hToolBar, TB_SETEXTENDEDSTYLE, 0, TBSTYLE_EX_DRAWDDARROWS // レバーコントロールを作成 winobj "ReBarWindow32", "",, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CCS_NODIVIDER hReBar = objinfo(stat, 2) dim rbi, 3 // REBARINFO structure rbi = 12 sendmsg hReBar, RB_SETBARINFO, 0, varptr(rbi) // ツールバーをレバーバンドの仲間に入れる dim rbbi, 20 // REBARBANDINFO structure rbbi = 80 rbbi(1) = RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE rbbi(2) = RBBS_CHILDEDGE | RBBS_GRIPPERALWAYS rbbi(8) = hToolBar sendmsg hToolBar, TB_GETBUTTONSIZE, 0, 0 rbbi(10) = (stat >> 16) & $ffff // HIWORD(stat) rbbi(11) = 250 sendmsg hReBar, RB_INSERTBAND, -1, varptr(rbbi) #define WM_COMMAND $111 oncmd gosub *onCommand, WM_COMMAND stop *onCommand if lparam != hToolbar : return dialog "ボタン「"+ teststr.wparam +"」が押されました。" return 0



K

リンク

2006/10/18(Wed) 17:37:37|NO.3010

思っていたように出来ました。ありがとうございます。



ONION software Copyright 1997-2023(c) All rights reserved.