Hi all,
this is an old(?) demo of Lance I believe regarding updown controls.
It was originally a buddy control but I wanted a stand-alone updown control,
so I commented out a few lines.
Because of
%MAX_SPIN = 10
%MIN_SPIN = 1
I would expect a return value between 1 and 10.
Strange thing is that when clicking "up" continuously, return value goes
from 2 to 11. Clicking "down" continuously returns a value from 9 to 0..
Any suggestions?
Kind regards
Eddy
------------------
[email protected]
[This message has been edited by Eddy Van Esch (edited June 15, 2001).]
this is an old(?) demo of Lance I believe regarding updown controls.
It was originally a buddy control but I wanted a stand-alone updown control,
so I commented out a few lines.
Because of
%MAX_SPIN = 10
%MIN_SPIN = 1
I would expect a return value between 1 and 10.
Strange thing is that when clicking "up" continuously, return value goes
from 2 to 11. Clicking "down" continuously returns a value from 9 to 0..
Any suggestions?
Kind regards
Eddy
Code:
#COMPILE EXE #DIM ALL #INCLUDE "WIN32API.INC" #INCLUDE "COMMCTRL.INC" %ID_LABEL = 100 %ID_BUDDY = 101 %ID_UPDOWN = 102 %MAX_SPIN = 10 %MIN_SPIN = 1 DECLARE CALLBACK FUNCTION DlgCallback() FUNCTION PBMAIN DIM hDlg AS LONG CALL InitCommonControls DIALOG NEW 0, "DDT Up-Down demo",,, 230, 150, %WS_SYSMENU TO hDlg CONTROL ADD LABEL, hDlg, %ID_LABEL, "How Many Lines?", 55, 14, 58, 14 'CONTROL ADD TEXTBOX, hDlg, %ID_BUDDY, "1", 77, 12, 26, 12, %ES_AUTOHSCROLL OR %ES_LEFT, %WS_EX_CLIENTEDGE CONTROL ADD BUTTON, hDlg, %IDOK, "&OK", 13, 41, 40, 14, %BS_DEFAULT OR %WS_TABSTOP CONTROL ADD BUTTON, hDlg, %IDCANCEL, "Cancel", 76, 41, 40, 14 CONTROL ADD "msctls_updown32", hDlg, %ID_UPDOWN, "", 0, 0, 8, 8, %WS_CHILD OR _ %WS_BORDER OR %WS_VISIBLE OR %UDS_WRAP OR %UDS_ARROWKEYS OR _ %UDS_ALIGNRIGHT 'OR %UDS_SETBUDDYINT 'CONTROL SEND hDlg, %ID_UPDOWN, %UDM_SETBUDDY, GetDlgItem(hDlg, %ID_BUDDY), 0& CONTROL SEND hDlg, %ID_UPDOWN, %UDM_SETRANGE, 0&, MAKLNG(%MAX_SPIN, %MIN_SPIN) CONTROL SET SIZE hDlg, %ID_UPDOWN,30,30 DIALOG SHOW MODAL hDlg CALL DlgCallback END FUNCTION CALLBACK FUNCTION DlgCallback() IF CBMSG = %WM_INITDIALOG THEN CONTROL SET FOCUS CBHNDL, %IDOK FUNCTION = 1 ELSEIF CBMSG = %WM_COMMAND THEN IF CBCTL = %IDOK OR CBCTL = %IDCANCEL THEN DIALOG END CBHNDL, (CBCTL = %IDOK) END IF ELSEIF CBMSG = %WM_NOTIFY THEN DIM pNmUpDown AS NM_UPDOWN PTR pNmUpDown = CBLPARAM IF @pNmUpDown.hdr.code = %UDN_DELTAPOS THEN SetWindowText CBHNDL, "Preview value =" + STR$(@pNmUpDown.iPos + @pNmUpDown.iDelta) END IF END IF END FUNCTION
[email protected]
[This message has been edited by Eddy Van Esch (edited June 15, 2001).]
Comment