Esto es por experiencia no es por que me lo explicaran, asi que puedo estar equivocado
hWnd
en windows todos los controles son ventanas, cada una con sus propias características las cuales les permite al sistema saber que hacer con ellas, en fwh la clase windows es la madres de las ventanas, dialogos, ventanas mdi, ventanas child, todos los controles, ya sean
nativos o no, es en la data hWnd donde se almacena el valor de la estructura que define a ese control o ventana.
ejemplo:
- Code: Select all Expand view RUN
if ! Empty( oWnd:hWnd )
::Create( CTRL_CLASS )
::SendMsg( WM_SETFONT, ::oFont:hFont, 0 )
::Default()
oWnd:AddControl( Self )
else
oWnd:DefControl( Self )
endif
....
::hWnd = CreateWindowExW( cClsName, ::cCaption, ::nStyle, ;
::nLeft, ::nTop, ::nRight - ::nLeft + 1, ;
::nBottom - ::nTop + 1, ;
If( ::oWnd != nil, ::oWnd:hWnd, 0 ), ;
::nId,, ::nExStyle )
oWnd:hWnd,oDlg:hWnd,oButton:hWnd,oXbrowse:hWnd... oRichedit:hWnd
IsSelection()Me imagino que es una data de la clase que nos permite saber si hay un bloque de texto seleccionado o no.
- Code: Select all Expand view RUN
METHOD IsSelection() CLASS TRichEdit
local aGetSel := ::GetSelection()
return aGetSel[ 1 ] != aGetSel[ 2 ]
...
METHOD GetSelection() CLASS TRichEdit
local nStart := 0
local nEnd := 0
REGetSelection( ::hWnd, @nStart, @nEnd )
return { nStart, nEnd }
hDC es un dispositivo de contexto, es como un área de la ventana a control de la cual se puede extraer informacion de lo que contiene, como por ejemplo un texto, un color o similar.
aca por ejemplo se dibuja una elipse en esa area (es como un lienzo)
- Code: Select all Expand view RUN
METHOD Circle( nRow, nCol, nWidth ) CLASS TWindow
::GetDC()
Ellipse( ::hDC, nCol, nRow, nCol + nWidth - 1, nRow + nWidth - 1 )
::ReleaseDC()
return nil
hDCOutlo mismo de lo anterior pero para efectuar acciones similares.
aRTF[ 2 ]me parece que esto imprimir el texto contenido en el control trichedit5 en el area que definamos con hDC
- Code: Select all Expand view RUN
METHOD PrintBox( hDC, nTop, nLeft, nRight, nBottom, nFrom ) CLASS TRichEdit5
DEFAULT nFrom := 0
if hDC != 0
nFrom := REPrintBox5( ::hWnd, hDC, ::IsSelection(), ;
nTop, nLeft, nRight, nBottom, nFrom )
endif
return nFrom