Página 1 de 1

Como graficar sobre un Form

Publicado: Mié Ago 16, 2006 5:43 pm
por Mariano Filippi
He probado utilizar la clase TCanvas para Graficar dentro de un TForm y no he obtenido resultados exitosos.
Aquí­ muestro mi código
oCanvas:=TCanvas():Create()
oCanvas:HDc:=Form1:Handle
oCanvas:oDevice:=oCanvas:HDc
oPen:=TPen():Create()
oPen:nColor := CLR_BLACK
oPen:nWidth:=3
oCanvas:oPen(oPen)
oCanvas:MoveTo(50, 50 )
oCanvas:LineTo( 100, 100 )
En qué me estoy equivocando ? (puse en negrita la asignación del oDevice porque no estoy seguro si es así­)
--

Como graficar sobre un Form

Publicado: Jue Ago 17, 2006 2:08 pm
por jfgimenez
Mariano,
He probado utilizar la clase TCanvas para Graficar dentro de un TForm y no he obtenido resultados exitosos.
Aquí­ muestro mi código
oCanvas:=TCanvas():Create()
oCanvas:HDc:=Form1:Handle
oCanvas:oDevice:=oCanvas:HDc
oPen:=TPen():Create()
oPen:nColor := CLR_BLACK
oPen:nWidth:=3
oCanvas:oPen(oPen)
oCanvas:MoveTo(50, 50 )
oCanvas:LineTo( 100, 100 )
En qué me estoy equivocando ? (puse en negrita la asignación del oDevice porque no estoy seguro si es así­)
Tienes que crear el canvas en el momento de pintar el formulario. Utiliza el evento OnPaint u OnPainted del formulario, así­:
METHOD FormPainted( oSender, hDC, cPaintStruct ) CLASS TForm1
LOCAL oCanvas := TCanvas():New()
oCanvas:hDC := hDC
...
RETURN Nil
--
Un saludo,
José F. Giménez
http://www.xailer.com
--