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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0712
blabla縦ツールバー6解決


blabla

リンク

2016/7/12(Tue) 17:04:21|NO.76158

左に小さな隙間ができてしまうのですが、なぜでしょうか

#include "comctl32.as" #define WS_CHILD 0x40000000 #define WS_VISIBLE 0x10000000 #define HINST_COMMCTRL 0xFFFFFFFF #define IDB_STD_SMALL_COLOR 0x00000000 #define IDB_STD_LARGE_COLOR 0x00000001 #define TB_ADDBITMAP 0x00000413 #define TBSTYLE_BUTTON 0x00000000 #define ICC_BAR_CLASSES 0x00000004 #define TB_BUTTONSTRUCTSIZE 0x0000041E #define TB_ADDBUTTONS 0x00000414 #define TBSTATE_ENABLED 0x00000004 #define TBSTYLE_WRAPABLE 0x00000200 #define TBSTATE_WRAP 0x00000020 #define TB_AUTOSIZE 0x00000421 #define CCS_NORESIZE 0x00000004 #define CCS_VERT 0x00000080 #define STD_CUT 0x00000000 #define STD_COPY 0x00000001 #define STD_PASTE 0x00000002 #define STD_UNDO 0x00000003 #define STD_REDOW 0x00000004 #define TOOLBARCLASSNAME "ToolbarWindow32" screen 0, 640, 480 dim ic, 2 //INITCOMMONCONTROLSEX ic = 8, ICC_BAR_CLASSES dim tbb, 20 //TBBUTTON tbb(5 * 0) = STD_CUT, 0, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 tbb(5 * 1) = STD_COPY, 1, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 tbb(5 * 2) = STD_PASTE, 2, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 tbb(5 * 3) = STD_UNDO, 3, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 tbb(5 * 4) = STD_REDOW, 4, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 nButtons = 5 dim tba, 2 //TBADDBITMAP tba = HINST_COMMCTRL, IDB_STD_SMALL_COLOR InitCommonControlsEx varptr(ic) winobj TOOLBARCLASSNAME, "", 0, WS_CHILD | WS_VISIBLE | CCS_VERT hTool = objinfo_hwnd(stat) sendmsg hTool, TB_BUTTONSTRUCTSIZE, 20, 0 sendmsg hTool, TB_ADDBITMAP, nButtons, varptr(tba) sendmsg hTool, TB_ADDBUTTONS, nButtons, varptr(tbb) stop



この記事に返信する


KA

リンク

2016/7/12(Tue) 20:11:58|NO.76160

質問とは関係ないけど

>>dim tbb, 20

は tbb(0)〜tbb(19) までだよ?
(自動拡張されるんだっけ?)



blabla

リンク

2016/7/12(Tue) 20:46:50|NO.76162

すみません
dim tbb, 25でした



nori

リンク

2016/7/12(Tue) 23:41:35|NO.76166

ツールバー(コモンコントロール)はデフォルトで上端(縦だと左端?)に2ピクセルのハイライト表示されるみたいですね。
ウインドウスタイルにCCS_NODIVIDER(0x0040)を追加すれば、これを表示させない事が可能です。



blabla

リンク

2016/7/13(Wed) 07:36:08|NO.76176

ありがとうございます
解決しました
こんな簡単なことだったとは…
私の調査不足でした。

#include "comctl32.as" #define WS_CHILD 0x40000000 #define WS_VISIBLE 0x10000000 #define HINST_COMMCTRL 0xFFFFFFFF #define IDB_STD_SMALL_COLOR 0x00000000 #define IDB_STD_LARGE_COLOR 0x00000001 #define ICC_BAR_CLASSES 0x00000004 #define TB_ADDBITMAP 0x00000413 #define TB_BUTTONSTRUCTSIZE 0x0000041E #define TB_ADDBUTTONS 0x00000414 #define TBSTYLE_BUTTON 0x00000000 #define TBSTATE_ENABLED 0x00000004 #define TBSTATE_WRAP 0x00000020 #define CCS_VERT 0x00000080 #define CCS_NODIVIDER 0x00000040 #define STD_CUT 0x00000000 #define STD_COPY 0x00000001 #define STD_PASTE 0x00000002 #define STD_UNDO 0x00000003 #define STD_REDOW 0x00000004 #define TOOLBARCLASSNAME "ToolbarWindow32" screen 0, 640, 480 dim ic, 2 //INITCOMMONCONTROLSEX ic = 8, ICC_BAR_CLASSES dim tbb, 20 //TBBUTTON tbb(5 * 0) = STD_CUT, 0, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 tbb(5 * 1) = STD_COPY, 1, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 tbb(5 * 2) = STD_PASTE, 2, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 tbb(5 * 3) = STD_UNDO, 3, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 tbb(5 * 4) = STD_REDOW, 4, TBSTATE_ENABLED | TBSTATE_WRAP | (TBSTYLE_BUTTON << 8), 0, 0 nButtons = 5 dim tba, 2 //TBADDBITMAP tba = HINST_COMMCTRL, IDB_STD_SMALL_COLOR InitCommonControlsEx varptr(ic) winobj TOOLBARCLASSNAME, "", 0, WS_CHILD | WS_VISIBLE | CCS_VERT | CCS_NODIVIDER hTool = objinfo_hwnd(stat) sendmsg hTool, TB_BUTTONSTRUCTSIZE, 20, 0 sendmsg hTool, TB_ADDBITMAP, nButtons, varptr(tba) sendmsg hTool, TB_ADDBUTTONS, nButtons, varptr(tbb) stop
それにしても、2ピクセルのハイライト表示なんて何のためにあるんでしょうね?



nori

リンク

2016/7/13(Wed) 23:48:31|NO.76190

>>それにしても、2ピクセルのハイライト表示なんて何のためにあるんでしょうね?
今はフラットなインターフェイスが主流ですが、以前は3D(浮き上がったように見える)が主流でした。
これはその時代の名残かと。



blabla

リンク

2016/7/14(Thu) 19:34:48|NO.76193

なるほど
WinAPIっていろいろ引きずってますね
回答、ありがとうございます



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