Code:
CALLBACK FUNCTION NDateButtonProc STATIC OldProc AS LONG, OffsetWndExtra AS LONG LOCAL Txt AS ASCIIZ * %MAX_PATH, sTxt AS STRING LOCAL DateButtonID AS LONG, DateID AS LONG, DescID AS LONG LOCAL DateHandle AS LONG IF CBHNDL = 0 THEN OldProc = CBWPARAM: OffsetWndExtra = CBLPARAM: EXIT FUNCTION DateButtonID& = getdlgctrlid(CBHNDL) DateID& = DateButtonID& - (scr_NUM_FLD# * 2 ) DateHandle& = GetDlgItem(GetParent(CBHNDL),DateID&) SELECT CASE CBMSG CASE %WM_LBUTTONDOWN Call SupDateGetDate() Txt = V_DateStr SetWindowText DateHandle&,Txt sTxt = NEditDateFormat(DateHandle&) SetWindowText DateHandle&, BYCOPY sTxt SetFocus GetNextDlgTabItem(GetParent(CBHNDL), DateHandle&, 0) SendMessage CBHNDL, %BM_SETSTYLE, %BS_PUSHBUTTON, %TRUE EXIT FUNCTION ' keybd_event %VK_TAB, MapVirtualKey(%VK_TAB, 0), 0, 0: Sleep 0 'key_down msg ' keybd_event %VK_TAB, MapVirtualKey(%VK_TAB, 0), %KEYEVENTF_KEYUP, 0: Sleep 0 'key_up msg ' keybd_event %VK_TAB, MapVirtualKey(%VK_TAB, 0), 0, 0: Sleep 0 'key_down msg ' keybd_event %VK_TAB, MapVirtualKey(%VK_TAB, 0), %KEYEVENTF_KEYUP, 0: Sleep 0 'key_up msg END SELECT FUNCTION = CallWindowProc(OldProc, CBHNDL, CBMSG, CBWPARAM, CBLPARAM) END FUNCTION
Leave a comment: