$MAIN AUTODEFINE "off" $INCLUDE "windowssdk.inc" $INCLUDE "shlobj.inc" $INCLUDE "commctrl.inc" SETPRECISION 2 ENUM ENUM_global 'Timer TheTimerB=1000 TheTimerC 'wOpp0100c window 'Statics cs01 cs02 cs03 cs04 cs05 cs06 cs07 cs08 cs09 cs10 cs11 cs12 cs13 cs14 cs15 cs16 cs17 cs18 cs19 cs20 cs21 cs22 cs23 cs24 cs25 cs26 cs27 cs28 cs29 cs30 cs31 cs32 cs33 cs34 csx1 csx2 csx3 csx4 csx5 'Edits ce00 ce01 ce02 ce03 ce04 ce05 ce06 cex1 ce07 cex2 ce08 ce09 cex3 ce10 ce11 ce12 cex4 ce13 ce14 ce15 ce16 ce17 ce18 ce19 ce20 ce21 'Buttons cb01 cb02 cb03 cb04 cb05 cb06 cb07 cb08 cb09 cb10 'Bottom Bar cbar ENDENUM ' Brian's Colors.iwb DEF wYELLOW,wGREEN,wBLUE,wRED,wCYAN,wGREY,wGREY2:UINT DEF wLBLUE,wMAGENTA,wPURPLE,wPURPLE3,wPURPLE2:UINT DEF wWHITE,wBLACK,wCSBRED,wMYBLUE,wMYRED:UINT DEF wMYGREEN,wMYYELLOW:UINT DEF SS_VERT_CENTER:INT ' Date and Time fields DEF cdate[16]:ISTRING DEF ctime[16]:ISTRING DEF dateformat[16],isodate[16]:ISTRING DEF usdate[16],ukdate[16]:ISTRING ' Default FONT DEF oefont:STRING ' Initial fields DEF inits[4],user[12],pw[12]:ISTRING ' Define Windows DEF wOpp0100c:WINDOW DEF i:INT DEF tab,bslash,fslash:STRING TYPE NMCUSTOMDRAWINFO DEF hdr:NMHDR DEF dwDrawStage:UINT DEF hdc:UINT DEF rc:WINRECT DEF dwItemSpec:UINT DEF uItemState:UINT DEF lItemlParam:UINT ENDTYPE TYPE NMLVCUSTOMDRAW DEF nmcd:NMCUSTOMDRAWINFO DEF clrText:UINT DEF clrTextBk:UINT DEF iSubItem:INT ENDTYPE 'variable indicating whether columns are resizeable or not DEF bLocked:INT 'current window DEF currentwin:CHAR DEF batch,lv,lvlast,cursorposc:INT 'Screen C fields DEF corderno$,keycode2:STRING DEF orderno:INT wBLACK =RGB(0,0,0) wBLUE =RGB(0,0,255) wCSBRED =RGB(204,0,0) 'Collin Street Bakery red wCYAN =RGB(0,255,255) wGREEN =RGB(34,139,34) wGREY2 =RGB(211,211,211) wGREY =RGB(128,128,128) wLBLUE =RGB(224,255,255) wMAGENTA =RGB(255,0,255) wMYBLUE =RGB(103,200,255) wMYGREEN =RGB(31,199,42) wMYRED =RGB(236,21,21) wMYYELLOW=RGB(255,255,0) wPURPLE2 =RGB(186,85,211) wPURPLE3 =RGB(201,192,218) wPURPLE =RGB(147,112,219) 'wPURPLE =RGB(128,0,128) wRED =RGB(255,0,0) wWHITE =RGB(255,255,255) wYELLOW =RGB(255,255,0) SS_VERT_CENTER=0x200 tab ="\t" fslash="/" bslash="\\" oefont="Consolas" ctime=TIME$ dateformat="US" isodate=DATE$("yyyy-MM-dd") usdate="MM-dd-yy" ukdate="dd-MM-yy" keycode2=MID$(isodate,4,1)+"1" inits ="ZZZ" user ="" pw ="" batch =5000 bLocked=1 lv =-1 lvlast=-1 OPENWINDOW wOpp0100c,0,0,1024,768,@MINBOX,0,"Order Entry-Donor",&Handler_wOpp0100c SETFONT wOpp0100c,oefont,12,400,0 SETWINDOWCOLOR wOpp0100c,wGREY2 FRONTPEN wOpp0100c,wMYBLUE CONTROL wOpp0100c,@STATUS,"",0,0,0,0,0,cbar CONTROL wOpp0100c,@STATIC,"",10,14,42,29,@CTLSTCBITMAP,cs01 SETCONTROLTEXT wOpp0100c,cs01,"100" CONTROL wOpp0100c,@STATIC,"opp0100c",60,14,130,29,SS_CENTER|SS_VERT_CENTER,cs02 CONTROL wOpp0100c,@STATIC,"OPR ID",200,14,86,29,SS_CENTER|SS_VERT_CENTER,cs03 CONTROL wOpp0100c,@STATIC,"Order Entry-Donor",440,14,300,29,SS_CENTER|SS_VERT_CENTER,cs04 CONTROL wOpp0100c,@STATIC,cdate,886,14,120,20,SS_CENTER|SS_VERT_CENTER,cs05 CONTROL wOpp0100c,@STATIC,ctime,886,38,120,20,SS_CENTER|SS_VERT_CENTER,cs06 CONTROL wOpp0100c,@STATIC," Order",10,60,100,25,SS_VERT_CENTER,cs07 CONTROL wOpp0100c,@STATIC," Account",10,98,100,23,SS_VERT_CENTER,cs09 CONTROL wOpp0100c,@STATIC," Keycode",10,136,100,25,SS_VERT_CENTER,cs10 CONTROL wOpp0100c,@STATIC,"Keycode Desc",210,136,300,25,SS_VERT_CENTER,cs11 CONTROL wOpp0100c,@STATIC," Name",10,174,100,25,SS_VERT_CENTER,cs12 CONTROL wOpp0100c,@STATIC," First/Last",480,174,110,25,SS_VERT_CENTER,cs13 CONTROL wOpp0100c,@STATIC," Care of",10,204,100,25,SS_VERT_CENTER,cs14 CONTROL wOpp0100c,@STATIC," Cheater",480,204,80,25,SS_VERT_CENTER,cs27 CONTROL wOpp0100c,@STATIC,"X",570,203,10,25,SS_CENTER|SS_VERT_CENTER,cs28: ' ccheatercd CONTROL wOpp0100c,@STATIC,"2019-01-13",590,203,110,25,SS_CENTER|SS_VERT_CENTER,cs29: ' ccheaterdate CONTROL wOpp0100c,@STATIC,"123456789012345678901234567890",705,203,315,25,SS_VERT_CENTER,cs30: ' ccheaterdesc CONTROL wOpp0100c,@STATIC," Address",10,234,100,25,SS_VERT_CENTER,cs15 CONTROL wOpp0100c,@STATIC," Send Mail/Sell Name: ",520,234,180,25,0,csx1 CONTROL wOpp0100c,@STATIC,"123456789012345678901234567890",740,234,310,25,SS_VERT_CENTER,csx4 CONTROL wOpp0100c,@STATIC," City",10,261,100,25,SS_VERT_CENTER,cs16 CONTROL wOpp0100c,@STATIC," Can we phone (y/n): ",520,261,180,25,0,csx2 CONTROL wOpp0100c,@STATIC," St/Cntry",10,290,100,25,SS_VERT_CENTER,cs17 CONTROL wOpp0100c,@STATIC," Zip",210,290,44,25,SS_VERT_CENTER,cs18 CONTROL wOpp0100c,@STATIC," Can we E-Mail (y/n): ",520,290,180,25,0,csx3 CONTROL wOpp0100c,@STATIC," Phone",10,328,100,25,SS_VERT_CENTER,cs19 CONTROL wOpp0100c,@STATIC," Fax",410,328,50,25,SS_VERT_CENTER,cs26 CONTROL wOpp0100c,@STATIC," Email",10,368,100,25,SS_VERT_CENTER,cs20 CONTROL wOpp0100c,@STATIC," P/O",10,408,100,25,SS_VERT_CENTER,csx5 CONTROL wOpp0100c,@STATIC," Can Bakery Charge",20,450,245,25,SS_VERT_CENTER|SS_CENTER,cs08 CONTROL wOpp0100c,@STATIC," Pay Code",10,490,100,25,SS_VERT_CENTER,cs21 CONTROL wOpp0100c,@STATIC," Paid Amt",170,490,100,25,SS_VERT_CENTER,cs22 CONTROL wOpp0100c,@STATIC," Credit Card",410,490,132,25,SS_VERT_CENTER,cs23 CONTROL wOpp0100c,@STATIC," Comment Code....... (CC)",70,538,256,25,SS_VERT_CENTER,cs24 CONTROL wOpp0100c,@STATIC," Invoice Handling CD (IH)",70,568,256,25,SS_VERT_CENTER,cs31 CONTROL wOpp0100c,@STATIC,"Invoice Handling Desc",370,568,310,25,SS_VERT_CENTER,cs32 CONTROL wOpp0100c,@STATIC," Shipping Label Seq. (LS)",70,598,256,25,SS_VERT_CENTER,cs33 CONTROL wOpp0100c,@STATIC,"Label Seq Desc",370,598,310,25,SS_VERT_CENTER,cs34 ' inits CONTROL wOpp0100c,@EDIT,inits,300,14,60,29,@CTEDITCENTER|@CTEDITMULTI,ce00 ' orderno CONTROL wOpp0100c,@EDIT,corderno$,120,60,120,25,@CTEDITNUMBER|SS_RIGHT|@CTEDITMULTI,ce01 ' caccount CONTROL wOpp0100c,@EDIT,"",120,98,120,25,@CTEDITNUMBER|@CTEDITRIGHT|@TABSTOP|@CTEDITMULTI,ce02 ' ckeycode CONTROL wOpp0100c,@EDIT,"",120,136,80,25,@CTEDITRIGHT|ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,ce03 ' cname CONTROL wOpp0100c,@EDIT,"",120,174,350,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,ce04 ' ccareof CONTROL wOpp0100c,@EDIT,"",120,203,350,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,ce05 ' caddr CONTROL wOpp0100c,@EDIT,"",120,232,350,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,ce06 ' csellname CONTROL wOpp0100c,@EDIT,"Y",710,232,20,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,cex1 ' ccity CONTROL wOpp0100c,@EDIT,"",120,261,350,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,ce07 ' cphoneyn CONTROL wOpp0100c,@EDIT,"Y",710,261,20,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,cex2 ' cstate CONTROL wOpp0100c,@EDIT,"",120,290,71,25,ES_UPPERCASE|@TABSTOP||@CTEDITMULTI,ce08 ' czip CONTROL wOpp0100c,@EDIT,"",265,290,130,25,@TABSTOP|@CTEDITMULTI,ce09 ' cemailyn CONTROL wOpp0100c,@EDIT,"Y",710,290,20,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,cex3 ' cphone CONTROL wOpp0100c,@EDIT,"",120,328,240,25,@TABSTOP|@CTEDITMULTI,ce10 ' cfax CONTROL wOpp0100c,@EDIT,"",470,328,240,25,@TABSTOP|@CTEDITMULTI,ce11 ' cemail CONTROL wOpp0100c,@EDIT,"",120,368,570,25,@TABSTOP|@CTEDITMULTI,ce12 ' cpo CONTROL wOpp0100c,@EDIT,"12345678901234567890",120,408,240,25,@TABSTOP|@CTEDITMULTI,cex4 ' cpaycode CONTROL wOpp0100c,@EDIT,"",120,490,24,25,ES_UPPERCASE|SS_CENTER|@TABSTOP|@CTEDITMULTI,ce13 ' cpaid$ CONTROL wOpp0100c,@EDIT,"",275,490,100,25,@CTEDITRIGHT|@TABSTOP|@CTEDITMULTI,ce14 ' ccctype CONTROL wOpp0100c,@EDIT,"",545,490,20,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,ce15 ' cccno CONTROL wOpp0100c,@EDIT,"",565,490,200,25,@CTEDITNUMBER|@TABSTOP|@CTEDITMULTI,ce16 ' cccexp CONTROL wOpp0100c,@EDIT,"",765,490,80,25,@CTEDITNUMBER|@TABSTOP|@CTEDITMULTI,ce17 ' ccommentcd CONTROL wOpp0100c,@EDIT,"",330,538,34,25,ES_UPPERCASE|SS_CENTER|@TABSTOP|@CTEDITMULTI,ce18 ' ccomenttext CONTROL wOpp0100c,@EDIT,"",370,538,510,25,ES_UPPERCASE|@TABSTOP|@CTEDITMULTI,ce19 ENABLECONTROL wOpp0100c,ce19,0 ' cinvhndlgcd CONTROL wOpp0100c,@EDIT,"",330,568,34,25,ES_UPPERCASE|SS_CENTER|@TABSTOP|@CTEDITMULTI,ce20 ' clabelseq CONTROL wOpp0100c,@EDIT,"",330,598,34,25,ES_UPPERCASE|SS_CENTER|@TABSTOP|@CTEDITMULTI,ce21 CONTROL wOpp0100c,@BUTTON,"Ship Tos",12,670,100,25,0,cb01 CONTROL wOpp0100c,@BUTTON,"Clear",142,670,100,25,0,cb02 CONTROL wOpp0100c,@BUTTON,"Donor",302,670,100,25,0,cb03 CONTROL wOpp0100c,@BUTTON,"Keycode",432,670,100,25,0,cb04 CONTROL wOpp0100c,@BUTTON,"State/Cntry",562,670,160,25,0,cb05 CONTROL wOpp0100c,@BUTTON,"CC",10,538,50,25,0,cb06 CONTROL wOpp0100c,@BUTTON,"IH",10,568,50,25,0,cb07 CONTROL wOpp0100c,@BUTTON,"LS",10,598,50,25,0,cb08 CONTROL wOpp0100c,@BUTTON,"About",802,670,94,25,0,cb09 CONTROL wOpp0100c,@BUTTON,"Exit",926,670,80,25,0,cb10 SETCONTROLCOLOR wOpp0100c,cs01,wWHITE,wMYRED SETCONTROLCOLOR wOpp0100c,cs02,wMYBLUE,wBLACK SETCONTROLCOLOR wOpp0100c,cs03,wBLACK,wMYBLUE SETCONTROLCOLOR wOpp0100c,cs04,wBLACK,wMYYELLOW SETCONTROLCOLOR wOpp0100c,cs05,wBLACK,wMYYELLOW SETCONTROLCOLOR wOpp0100c,cs06,wBLACK,wMYYELLOW SETCONTROLCOLOR wOpp0100c,cs07,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,ce01,wMYBLUE,wBLACK SETCONTROLCOLOR wOpp0100c,cs09,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs10,wMYRED,wGREY2 SETCONTROLCOLOR wOpp0100c,cs11,wBLACK,wGREY2 SETCONTROLCOLOR wOpp0100c,cs12,wMYRED,wGREY2 SETCONTROLCOLOR wOpp0100c,cs13,wBLACK,wGREY2 SETCONTROLCOLOR wOpp0100c,cs14,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs27,wMYRED,wGREY2 SETCONTROLCOLOR wOpp0100c,cs15,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs16,wMYRED,wGREY2 SETCONTROLCOLOR wOpp0100c,cs17,wMYRED,wGREY2 SETCONTROLCOLOR wOpp0100c,cs18,wMYRED,wGREY2 SETCONTROLCOLOR wOpp0100c,cs19,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs20,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs21,wMYRED,wGREY2 SETCONTROLCOLOR wOpp0100c,cs22,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs23,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs24,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs25,wBLACK,wGREY2 SETCONTROLCOLOR wOpp0100c,cs26,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs28,wGREEN,wGREY2 SETCONTROLCOLOR wOpp0100c,cs29,wBLUE,wGREY2 SETCONTROLCOLOR wOpp0100c,cs30,wMAGENTA,wGREY2 SETCONTROLCOLOR wOpp0100c,cs31,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs32,wBLACK,wGREY2 SETCONTROLCOLOR wOpp0100c,cs33,wWHITE,wGREY SETCONTROLCOLOR wOpp0100c,cs34,wBLACK,wGREY2 FOR i=ce00 TO ce21 SETCONTROLCOLOR wOpp0100c,i,wBLACK,wWHITE NEXT i SETCONTROLCOLOR wOpp0100c,cb01,wBLACK,wMYGREEN SETCONTROLCOLOR wOpp0100c,cb02,wWHITE,wMYRED SETCONTROLCOLOR wOpp0100c,cb03,wWHITE,wPURPLE2 SETCONTROLCOLOR wOpp0100c,cb04,wWHITE,wPURPLE2 SETCONTROLCOLOR wOpp0100c,cb05,wWHITE,wPURPLE2 SETCONTROLCOLOR wOpp0100c,cb06,wWHITE,wPURPLE2 SETCONTROLCOLOR wOpp0100c,cb07,wWHITE,wPURPLE2 SETCONTROLCOLOR wOpp0100c,cb08,wWHITE,wPURPLE2 SETCONTROLCOLOR wOpp0100c,cb09,wBLACK,wGREY SETCONTROLCOLOR wOpp0100c,cb10,wWHITE,wMYRED FOR i=cs01 TO cb10 SETFONT wOpp0100c,oefont,11,400,0,i NEXT i SETFONT wOpp0100c,oefont,12,700,0,cs01 SETFONT wOpp0100c,oefont,14,700,0,cs02 SETFONT wOpp0100c,oefont,12,700,0,cs03 SETFONT wOpp0100c,oefont,14,700,0,cs04 SETFONT wOpp0100c,oefont,12,700,0,cs05 SETFONT wOpp0100c,oefont,12,700,0,cs06 SETFONT wOpp0100c,oefont,14,700,0,cs08 SETFONT wOpp0100c,oefont,12,700,0,ce01 SETFONT wOpp0100c,oefont,12,700,0,ce00 ENABLETABS wOpp0100c,1 'FOR i=ce00 TO ce21 ' SETCONTROLNOTIFY(wOpp0100c,i,1,1) 'NEXT i CONTROLCMD wOpp0100c,ce00,@EDSETLIMITTEXT,3 CONTROLCMD wOpp0100c,ce02,@EDSETLIMITTEXT,9 CONTROLCMD wOpp0100c,ce03,@EDSETLIMITTEXT,6 FOR i=ce04 TO ce07 CONTROLCMD wOpp0100c,i,@EDSETLIMITTEXT,30 NEXT i CONTROLCMD wOpp0100c,ce08,@EDSETLIMITTEXT,3 CONTROLCMD wOpp0100c,ce09,@EDSETLIMITTEXT,10 CONTROLCMD wOpp0100c,ce10,@EDSETLIMITTEXT,20 CONTROLCMD wOpp0100c,ce12,@EDSETLIMITTEXT,50 CONTROLCMD wOpp0100c,ce13,@EDSETLIMITTEXT,1 CONTROLCMD wOpp0100c,ce14,@EDSETLIMITTEXT,8 CONTROLCMD wOpp0100c,ce15,@EDSETLIMITTEXT,1 CONTROLCMD wOpp0100c,ce16,@EDSETLIMITTEXT,16 CONTROLCMD wOpp0100c,ce17,@EDSETLIMITTEXT,4 CONTROLCMD wOpp0100c,ce21,@EDSETLIMITTEXT,2 SETCONTROLTEXT wOpp0100c,ce00,inits SETCONTROLCOLOR wOpp0100c,ce00,wBLACK,wWHITE ENABLECONTROL wOpp0100c,ce00,0 ENABLECONTROL wOpp0100c,ce01,0 cursorposc=ce02 SETFOCUS wOpp0100c,cursorposc SETCONTROLCOLOR wOpp0100c,cs08,wBLACK,wYELLOW FocusInit(ce00, ce21) WAITUNTIL ISWINDOWCLOSED(wOpp0100c) FocusFinish(ce00, ce21) END SUB Handler_wOpp0100c(),INT SELECT @CLASS CASE @IDCREATE CENTERWINDOW wOpp0100c CASE @IDCONTROL SELECT @CONTROLID ' Exit CASE cb10 currentwin="B" CLOSEWINDOW wOpp0100c ENDSELECT ENDSELECT RETURN 0 ENDSUB ' ----------------------------------------------------------------------------------------- ' enter key for edit boxes ' ----------------------------------------------------------------------------------------- INT subclassID = 12345 SUB FocusInit(INT firstID, INT lastID) INT j ' subclass all edits FOR j = firstID TO lastID SetWindowSubclass(GetDlgItem(wOpp0100c.hwnd, j), &subclassProc, subclassID, 0) NEXT j ENDSUB SUB FocusFinish(INT firstID, INT lastID) INT j FOR j = firstID TO lastID RemoveWindowSubclass(GetDlgItem(wOpp0100c.hwnd, j), &subclassProc, subclassID) NEXT j ENDSUB SUB subclassProc(hWnd:INT,uMsg:INT,wParam:INT,lParam:INT,uIdSubclass:UINT_PTR,dwRefData:DWORD_PTR),INT SELECT uMsg CASE WM_KEYDOWN SELECT wParam CASE VK_RETURN CASE& VK_TAB FocusNextEdit(GetDlgCtrlID(hWnd), ce00, ce21) RETURN 0 ENDSELECT ENDSELECT RETURN DefSubclassProc(hWnd, uMsg, wParam, lParam) ENDSUB SUB FocusNextEdit(INT focusedID, INT firstID, INT lastID) INT nextID = focusedID + 1 IF focusedID = lastID THEN nextID = lastID INT nextHWND = GetDlgItem(wOpp0100c.hwnd, nextID) _SetFocus(nextHWND) ENDSUB