>>>>>>PROCEDURE UNLOAD >>>>>> CLEAR EVENTS >>>>>>ENDPROC >>>>>>>>>>>>
>>>>>>>oform=CREATEOBJECT('frmcombobox') >>>>>>>oform.show >>>>>>>READ EVENTS >>>>>>>RETURN >>>>>>> >>>>>>>DEFINE CLASS frmcombobox AS form >>>>>>> >>>>>>> >>>>>>> DoCreate = .T. >>>>>>> Caption = "Test Combo Box Form" >>>>>>> Name = "comboform" >>>>>>> DIMENSION alist[1,1] >>>>>>> >>>>>>> >>>>>>> ADD OBJECT cbocn_port AS combobox WITH ; >>>>>>> FontSize = 10, ; >>>>>>> RowSourceType = 2, ; >>>>>>> RowSource = "printers.cprinter", ; >>>>>>> Value = (" "), ; >>>>>>> ControlSource = "m.cn_port", ; >>>>>>> Height = 24, ; >>>>>>> ColumnLines = .T., ; >>>>>>> Left = 36, ; >>>>>>> SelectOnEntry = .T., ; >>>>>>> StatusBarText = "Press CTRL+0 (zero) to clear contents and leave blank.", ; >>>>>>> Style = 2, ; >>>>>>> TabIndex = 7, ; >>>>>>> ToolTipText = "Press F1 to select from all available printer type.", ; >>>>>>> Top = 24, ; >>>>>>> Width = 300, ; >>>>>>> Name = "cboCn_port" >>>>>>> >>>>>>> >>>>>>> ADD OBJECT button1 AS commandbutton WITH ; >>>>>>> FontSize = 10, ; >>>>>>> Caption = 'Close',; >>>>>>> Height = 27, ; >>>>>>> Left = 36,; >>>>>>> Top = 134,; >>>>>>> Name = 'cmdclose' >>>>>>> >>>>>>> ADD OBJECT text1 AS textbox WITH ; >>>>>>> ControlSource = "m.cn_port", ; >>>>>>> Height = 23, ; >>>>>>> Left = 36, ; >>>>>>> ReadOnly = .T., ; >>>>>>> TabStop = .F., ; >>>>>>> Top = 84, ; >>>>>>> Width = 300, ; >>>>>>> Name = "Text1" >>>>>>> >>>>>>> >>>>>>> PROCEDURE Release >>>>>>> IF USED('PRINTERS') >>>>>>> USE IN PRINTERS >>>>>>> ENDIF >>>>>>> CLEAR EVENTS >>>>>>> DODEFAULT() >>>>>>> ENDPROC >>>>>>> >>>>>>> >>>>>>> PROCEDURE Load >>>>>>> IF TYPE('hdir')="U" >>>>>>> hdir = LEFT(SYS(2005),RAT("\",SYS(2005))) >>>>>>> ENDIF >>>>>>> PRIVATE lcalias >>>>>>> lcalias="" >>>>>>> lcalias=ALIAS() >>>>>>> PRIVATE myname >>>>>>> myname=hdir+'printers.dbf' >>>>>>> SET SAFETY OFF >>>>>>> SELE 0 >>>>>>> CREATE TABLE (myname) (cprinter c(60)) >>>>>>> IF !EMPTY(lcalias) >>>>>>> SELECT (lcalias) >>>>>>> ENDIF >>>>>>> >>>>>>> >>>>>>> PROCEDURE Init >>>>>>> IF TYPE('m.cn_port')="U" >>>>>>> PUBLIC m.cn_port >>>>>>> m.cn_port="" >>>>>>> ENDIF >>>>>>> *--Create an array with all windows printers >>>>>>> PRIVATE m.numOfPrinters >>>>>>> m.numOfPrinters = APRINTERS(printerList) >>>>>>> IF m.numOfPrinters > 0 >>>>>>> DIMENSION THIS.alist[Alen(printerlist, 1), 2] >>>>>>> LOCAL m.i >>>>>>> FOR m.i = 1 TO ALEN(printerList, 1) >>>>>>> LOCAL printerName >>>>>>> m.printerName=" "+printerList[m.i, 1] >>>>>>> * m.printerName = Strtran(printerList[m.i, 1], "\", " \") >>>>>>> THIS.alist[m.i, 1] = m.printerName >>>>>>> NEXT >>>>>>> ENDIF >>>>>>> *--Copy array to a local table for use in combobox picklists >>>>>>> PRIVATE lcalias >>>>>>> lcalias="" >>>>>>> lcalias=ALIAS() >>>>>>> SET SAFETY OFF >>>>>>> SELE 0 >>>>>>> SELE printers >>>>>>> PRIVATE ia >>>>>>> FOR ia = 1 TO ALEN(THIS.alist,1) >>>>>>> SELE printers >>>>>>> APPEND BLANK >>>>>>> REPLACE printers.cprinter WITH THIS.alist(ia,1) >>>>>>> ENDFOR >>>>>>> IF !EMPTY(lcalias) >>>>>>> SELECT (lcalias) >>>>>>> ENDIF >>>>>>> ********************************************************** >>>>>>> ENDPROC >>>>>>> >>>>>>> PROCEDURE cmdclose.click >>>>>>> THISFORM.release >>>>>>> ENDPROC >>>>>>> >>>>>>> PROCEDURE cbocn_port.LostFocus >>>>>>> ON KEY LABEL F1 >>>>>>> IF ISNULL(THISFORM.cbocn_port.Value) .or. ISNULL(m.cn_port) >>>>>>> THISform.cbocn_port.Value="" >>>>>>> Thisform.cbocn_port.Refresh() >>>>>>> m.cn_port=thisform.cbocn_port.value >>>>>>> ENDIF >>>>>>> DODEFAULT() >>>>>>> ENDPROC >>>>>>> >>>>>>> >>>>>>> PROCEDURE cbocn_port.GotFocus >>>>>>> ON KEY LABEL SPACEBAR >>>>>>> ON KEY LABEL F1 KEYBOARD '{SPACEBAR}' >>>>>>> DODEFAULT() >>>>>>> ENDPROC >>>>>>> >>>>>>> >>>>>>> PROCEDURE cbocn_port.InteractiveChange >>>>>>> m.cn_port=this.value >>>>>>> THISFORM.text1.refresh >>>>>>> DODEFAULT() >>>>>>> ENDPROC >>>>>>> >>>>>>> >>>>>>>ENDDEFINE >>>>>>>* >>>>>>>*-- EndDefine: frmcombobox >>>>>>>************************************************** >>>>>>>