Bueno, conseguido.. a帽adida edicion con Intro.
As铆 tenemos que el codigo de debajo incluye, para la vista diaria: edicion de cita con intro, navegacion entre horas con flecha up/down y navegacion entre dias con avance y retroceso de pagina.
case ::oView:IsKindOf( "TDAYVIEW" )
do case
case nKey == VK_RETURN
::oDayView:HitTest2()
#Define oCALINFO_ ::oDayView:oCalex:oCalInfo
::oDayView:oCalex:oCalInfoSelected:= oCALINFO_
IF oCALINFO_ != NIL
// Modificacion de agenda
::oSample:BuildDialog( ::oDayView, oCALINFO_:dStart, oCALINFO_:dEnd, oCALINFO_:nStart, oCALINFO_:nEnd)
ELSE
// Nueva cita
#Define nAtColDown_ ::oDayView:nColDown
#Define nTime_ ::oDayView:GetTimeFromRow( (::oDayView:nRowDown)+ 1 )
#Define nTimeDown_ ::oDayView:GetTimeFromRow( (::oDayView:nRowDown) )
::oSample:BuildDialog( ::oDayView,;
::GetFirstDateWeek() + nAtColDown_ - 1, ;
::GetFirstDateWeek() + ::oDayView:nAtCol - 1, ;
nTimeDown_,;
nTime_ )
ENDIF
::oDayView:SetFocus()
case nKey == VK_UP
IF ::oDayView:nRowDown > 1
::oDayView:aSelectedRow:= {}
::oDayView:nRowDown-= 0.9999999
::oDayView:nRowDown:= Max(::oDayView:nRowDown, 1)
AAdd( ::oDayView:aSelectedRow, { ::oDayView:nRowDown, ::oDayView:nColDown } )
::Refresh()
ENDIF
*
case nKey == VK_DOWN
IF ::oDayView:nRowDown < ::oDayView:nRowCount
::oDayView:aSelectedRow:= {}
::oDayView:nRowDown+= 1.0001
AAdd( ::oDayView:aSelectedRow, {::oDayView:nRowDown , ::oDayView:nColDown } )
::Refresh()
ENDIF
*
case nKey == VK_PRIOR
*
::oDayView:GoNext()
*
case nKey == VK_NEXT
*
::oDayView:GoPrev()
*
case nKey == VK_LEFT
case nKey == VK_RIGHT
otherwise
return ::Super:KeyDown( nKey, nFlags )
endcase