> >LPARAMETERS nKeyCode, nShiftAltCtrl > >do case >case inlist(nKeyCode, nKEY_TAB, nKey_SHIFT_TAB) > >case !(this.Parent.BaseClass == 'Column') > >otherwise && this.InGrid > do case > case ( (nShiftAltCtrl <= 1) ) > && here we are in a grid > NODEFAULT > local c > c = chr(nKeyCode) > do case > case nKeyCode = nKey_PAGE_DOWN > =this.Parent.Parent.DoScroll(3) > =this.Parent.Parent.SetFocus() > case nKeyCode = nKey_PAGE_UP > =this.Parent.Parent.DoScroll(2) > =this.Parent.Parent.SetFocus() > case nKeyCode = nKEY_LEFT_ARROW > keyboard '{BACKTAB}' > case inlist(nKeyCode, nKEY_RIGHT_ARROW, nKey_CR ) > *thisform.IgnoreNextChar = TRUE > KeyBoard '{TAB}' > case nKeyCode = nKEY_UP_ARROW > > if( !bof(this.Parent.Parent.RecordSource) ) > skip -1 in (this.Parent.Parent.RecordSource) > endif > > case nKeyCode = nKEY_DOWN_ARROW > if( !eof(this.Parent.Parent.RecordSource) ) > skip in (this.Parent.Parent.RecordSource) > endif > > otherwise > if( !empty(this.ControlSource) ) > > push key > on key label F7 keyboard '{CTRL+W}' > on key label TAB keyboard '{CTRL+W}' > if( IsRunTime() ) > on key label ENTER keyboard '{CTRL+W}' > endif > local _form > _form = iif(type('thisform') == T_OBJECT, thisform.Name, 'screen') > this.IgnoreFocus = TRUE > if( this.ReadOnly ) > modify memo (this.ControlSource) NOEDIT NOMENU in (_form) > else > if( empty(this.Value) and !isblank(c) ) > KeyBoard c > endif > modify memo (this.ControlSource) NOMENU in (_form) > endif > pop key > > this.ToolTipText = left(this.Value,127) > endif > endcase > endcase >endcase >>
>procedure Brow(AtEof) > if( AtEof) > go bott > skip max(-22, -reccount() ) > endif > local _w, i, x[1], _mask, _Fields, _Refresh > _Fields = '' > _Refresh = '' > for m.i = 1 to afields(x) > do case > case (x[m.i,2] == 'I') or (x[m.i,2] == 'N' and empty(x[m.i,4]) ) > _mask = '999,999,999' > case inlist(x[m.i,2], 'N', 'Y') and !empty(x[m.i,4]) > _mask = '999,999,999,999.' + padr('', x[m.i,4],'9') > otherwise > _mask = '' > endcase > > _Fields = _Fields + iif(empty(_Fields), 'Fields ', ', ' ) ; > + x[m.i,1] + iif(empty(_mask), '', ':P = "' + _mask + '"') > endfor > > if( inlist(Proper(alias()), 'Trans' ) ) > _Refresh = 'norefresh' > endif > > browse &_Fields last name _w nowait &_Refresh normal ; > in screen > > _w.Visible = .F. > _w.GridLineColor = rgb(128,128,128) > _w.RowHeight = 14 > _w.RecordMark = .F. > _w.DeleteMark = .T. > _w.SetAll('Fontsize', 8, 'Header') > *_w.SetAll('FontBold', .F., 'Header') > > local t, obj > for m.i = 1 to alen(x, 1) > obj = _w.Columns[m.i] > t = type(obj.ControlSource) > do case > case ( inlist(t, 'I', 'N', 'Y' ) ) > obj.DynamicForeColor = ; > 'iif(' + obj.ControlSource ; > + '<0,rgb(255,0,0),rgb(0,0,0))' > case inlist(t, 'M') > obj.RemoveObject('Text1') > obj.AddObject('Text1', '_editbox') > obj.Text1.Scrollbars = 0 > obj.Sparse = FALSE > obj.Text1.Visible = TRUE > case inlist(t, T_DATE, T_DATETIME ) > obj.Format = 'D' && 2 or 4 chars > case inlist(t, T_LOGICAL ) > *obj.RemoveObject('Text1') > *obj.AddObject('_Checkbox', 'Checkbox') > *obj._Checkbox.Visible = TRUE > *obj._CheckBox.BackStyle = 0 > obj._CheckBox.Caption = '' > obj.Sparse = FALSE > endcase > if( !inlist(t, T_MEMO, T_LOGICAL ) ) > obj.Alignment = 3 > endif > endfor > > > _w.Setall('FontSize', 8) > _w.Setall('BorderStyle', 0 ) > _w.Setall('Margin', 0) > _w.backColor = rgb(192,192,192) > *_w.SetAll('DynamicBackColor', 'rgb(192,192,192)') > _w.Height = _w.Height + iif(empty(mod(_w.Height,2)), +1, -1) > _w.Visible = .T. > >endproc >*--------------------------------------------------------------------------- >