Functions that will defined for use externally by the end-user of our control will be:
SimpleButtonRegister PROTO
SimpleButtonCreate PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
SimpleButtonGetProperty PROTO :DWORD, :DWORD
SimpleButtonSetProperty PROTO :DWORD, :DWORD, :DWORD
SimpleButtonGetState PROTO :DWORD
SimpleButtonSetState PROTO :DWORD, :DWORD
The SimpleButton.asm
will contain these functions and other functions designed to be used internally by the control itself. I prefix the functions that will be used internally with an underscore and an abbreviation, but you can use whatever naming convention you desire.
Our custom message which are used in conjunction with SendMessage api call, can be used instead of the SimpleButtonSetProperty
/ SimpleButtonGetProperty
and SimpleButtonGetState
/ SimpleButtonSetState
functions, are defined as:
SB_GETPROPERTY EQU WM_USER + 1800
SB_SETPROPERTY EQU WM_USER + 1799
SB_GETSTATE EQU WM_USER + 1798
SB_SETSTATE EQU WM_USER + 1797
We will cover the usage of some of these functions and mesages later on.