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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0425
窓口ToolBar の ボタンに BitMap を表示する。2解決


窓口

リンク

2010/4/25(Sun) 11:11:25|NO.32243

 下のスクリプトで、ツールボタンにBitMapを貼り付けようとしているのですが、ボタンに黒い
い画像が表示されるだけでうまくいきません。

 どこか、間違っているところが有るのでしょうか?
どなたかよろしくお願いします。

 

#include "gdi32.as" #include "comctl32.as" #module #deffunc CreateDDB int cddb_px_ , int cddb_py_ , int cddb_sx_ , int cddb_sy_ display = "DISPLAY" CreateDC varptr(display) , 0 , 0 , 0 hdcScreen = stat mref bmscr, 67 CreateCompatibleBitmap hdcScreen , cddb_sx_ , cddb_sy_ hBitMap = stat CreateCompatibleDC hdcScreen hdcMem = stat SelectObject hdcScreen , hBitMap BitBlt hdcMem , 0,0 , cddb_sx_ , cddb_sy_ , bmscr.4 , cddb_px_ , cddb_py_ , $CC0020 DeleteDC hdcScreen DeleteDC hdcMem return hBitMap ;--------------------------------------- #define Edge 2 #define color_h 220 #define color_s 180 #define color_n 255 #define color_c 200 #deffunc PrintButton str char_ , int pbx_ , int pby_ , int size_ size=size_-1 color color_h ,color_h , color_h boxf pbx_ , pby_ , pbx_+size , pby_+size color color_s , color_s , color_s boxf pbx_+Edge , pby_+Edge , pbx_+size , pby_+size color color_n , color_n , color_n boxf pbx_+Edge , pby_+Edge , pbx_+size-Edge , pby_+size-Edge pos pbx_+Edge+size/4 , pby_+Edge color color_c , color_c , color_c mes char_ return #global onexit *exit #define size 16 screen 1 font "MSゴシック" , 13 , 0 sdim a repeat 15 poke a , 0 , 'a'+cnt printbutton a , size*cnt , 0 , size loop CreateDDB 0,0 , size*15 , size hBitMap = stat screen 0 InitCommonControlsEx varptr(icx) winobj "ToolbarWindow32" , "" , 0 , 0x50000001 hToolBar = objinfo_hwnd (stat) , stat sendmsg hToolBar , 0x041E /*TB_BUTTONSTRUCTSIZE*/ , 20 , 0 ; dim tbadd , 2 tbadd.0 = 0 tbadd.1 = hBitMap sendmsg hToolBar , 0x0413 /*TB_ADDBITMAP*/ , 15 ,varptr( tbadd ) ; dim tbb , 15*5 repeat 15 tbb( cnt*5 ) = cnt , cnt+1 , 4 loop sendmsg hToolBar , 0x0414 /*TB_ADDBUTTONS*/ , 15 , varptr( tbb ) sendmsg hToolBar , 0x0421 /*TB_AUTOSIZE*/ , 0,0 stop *exit DeleteObject hBitMap end



この記事に返信する


窓口

リンク

2010/4/25(Sun) 23:36:41|NO.32257

有難うございます。
CreateDDB 命令内の


SelectObject hdcScreen , hBitMap


SelectObject hdcMem , hBitMap

 にすることで解決しました。

 お目汚し失礼します。



窓口

リンク

2010/4/26(Mon) 00:27:10|NO.32260

解決チェックし忘れ



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