by César E. Lozada » Thu Feb 12, 2009 2:41 pm
Gracias, Antonio. Siempre tan gentil.
Me temo que el borde de los controles de otro control sigue siendo dibujado (en modo DESIGN) de manera que no coincide con su posición verdadera. Ya comprobé que en dialogos funciona como se espera.
Te anexo un pequeño ejemplo para que lo compruebes.
Además, hay otros pequeños detalles:
1) Si se borra un objeto, no desaparecen los checkdots que lo delimitan
2) El dragado permite llevar el objeto fuera de los límites de su ventana, de manera que si lo soltamos fuera de su contenedor, ya no es visible y no puede seleccionarse de nuevo.
De nuevo te agradezco cualquier ayuda que tu tiempo libre te permita obsequiarme.
Afectuosos saludos.
//===============================================
#include "Fivewin.ch"
FUNCTION MAIN
Local oDlg, oBmp, oMenu
MENU oMenu
MENUITEM "Agregar control"
MENU
MENUITEM "Texto" ACTION AddSay(oBmp)
ENDMENU
ENDMENU
DEFINE DIALOG oDlg FROM 0,0 TO 250,322 PIXEL TITLE "Prueba CTRLDRAWFOCUS"
@ 0,0 BITMAP oBmp OF oDlg SIZE 320,200 PIXEL FILE "C:\FWH807\Bitmaps\agua2.bmp"
ACTIVATE DIALOG oDlg CENTERED ON INIT oDlg:SetMenu(oMenu)
return nil
//===============================================
Function AddSay(oBmp)
Local oSay, o
Local nText:=1, cText
//---------Busco un nombre disponible para el objeto
DO WHILE aScan(oBmp:aControls,{|o| o:ClassName()="TSAY" .and. o:Cargo=="Texto "+Str(nText,,,.t.)})>0
nText++
ENDDO
cText:="Texto "+Str(nText,,,.t.)
//---------
@ 10,10 SAY oSay PROMPT cText OF oBmp SIZE 120,20 PIXEL DESIGN
oSay:Cargo:=cText
oBmp:Refresh()
return nil
//===============================================