I want to know the method about it.
Teach me, please~
Hello,
You can put it in an awner-drawn button (big image is possible) or:
insert a little bitmap (16 by 16 for example) in a button with a bitmap style.
In the examples included with MASM32 there are programs with source that use bitmaps for/on buttons
(such as bmbutton.asm) and also ones that deal with toolbars. And at least one that does both (qikpad.asm).
Examining the included examples with source code is invaluable.
This is my studing code.
I don't know method that inserts my.Icon or my Bitmap(non System defined, non standard) image into a Button.
;
;
.IF uMsg == WM_CREATE
JMP START_PROCESS
;
;
.Data
Set_Struct ToolButton, TBBUTTON
Set_Struct ToolAddBitmap, TBADDBITMAP
Set_Null_Dword hToolBar
Set_Constant ToolBarID, -1
Set_Constant BitmapID, NULL
Set_Constant BitmapEA, NULL
Set_Constant ButtonEA, NULL
.Code
START_PROCESS:
;; ToolBar reference..........................................
;
Mov ToolButton.iBitmap, 0
Mov ToolButton.idCommand, 0
Mov ToolButton.fsState, TBSTATE_ENABLED
Mov ToolButton.fsStyle, TBSTYLE_SEP
Mov ToolButton.dwData, 0
Mov ToolButton.iString, 0
Invoke CreateToolbarEx, hWin, WS_CHILD or WS_VISIBLE or TBSTYLE_TOOLTIPS,
ToolBarID, BitmapEA, hInstance, BitmapID, ADDR ToolButton,
TRUE, 16, 16, 0, 0, SizeOf TBBUTTON
Mov hToolBar, EAX
;; Adds System defined Bitmap images
Mov ToolAddBitmap.hInst, HINST_COMMCTRL
Mov ToolAddBitmap.nID, 2 ;;Button Size: 1=big, 2=small
Invoke SendMessage, hToolBar, TB_ADDBITMAP, TRUE, ADDR ToolAddBitmap
Mov ToolButton.iBitmap, STD_FILENEW
Mov ToolButton.idCommand, NEW_FILE
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_FILEOPEN
Mov ToolButton.idCommand, OPEN_FILE
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_FILESAVE
Mov ToolButton.idCommand, SAVE_FILE
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, 0
Mov ToolButton.idCommand, 0
Mov ToolButton.fsStyle, TBSTYLE_SEP
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_PRINT
Mov ToolButton.idCommand, PRINT_FILE
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_PROPERTIES
Mov ToolButton.idCommand, PAGE_CONFIG
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, 0
Mov ToolButton.idCommand, 0
Mov ToolButton.fsStyle, TBSTYLE_SEP
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_CUT
Mov ToolButton.idCommand, CUT_MENU
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_COPY
Mov ToolButton.idCommand, COPY_MENU
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_PASTE
Mov ToolButton.idCommand, PASTE_MENU
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_DELETE
Mov ToolButton.idCommand, DELETE_MENU
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, 0
Mov ToolButton.idCommand, 0
Mov ToolButton.fsStyle, TBSTYLE_SEP
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_UNDO
Mov ToolButton.idCommand, UNDO_MENU
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, 0
Mov ToolButton.idCommand, 0
Mov ToolButton.fsStyle, TBSTYLE_SEP
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_FIND
Mov ToolButton.idCommand, FIND_MENU
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Invoke SendMessage, hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
Mov ToolButton.iBitmap, STD_REPLACE
Mov ToolButton.idCommand, REPLACE_MENU
Mov ToolButton.fsStyle, TBSTYLE_BUTTON
Send_Message_to hToolBar, TB_ADDBUTTONS, TRUE, ADDR ToolButton
;
;
In my study code,
I used System defined standard Tool buttons that supported by Comctl32.Lib file.
I want to add two tool button, as like as Forward & Reward - Block Indent tool button on the Quick.Editor.
;; Adds System defined Bitmap images
Mov ToolAddBitmap.hInst, HINST_COMMCTRL
Mov ToolAddBitmap.nID, 2 ;;Button Size: 1=big, 2=small
Invoke SendMessage, hToolBar, TB_ADDBITMAP, TRUE, ADDR ToolAddBitmap
How can add a non standard Tool button in this mode?