Bueno, me cansé de estar dos días con esto y por eso acudo a ustedes por su ayuda:
Quiero simplemente colocar unos dialogos creados desde recursos en un FOLDER que forma parte de la ventana principal (ojo no es MDI).
Creando el Folder y todos los controles de cada pestaña desde código funciona OK,
- Code: Select all Expand view
@30,30 FOLDER oFold PROMPT "Datos Gen","Pestaña 2" pixel of oWinGen
@1,10 GET AODAT[1] VAR aDat[1] OF oFold:adialogs[1] pixel
@30,10 GET AODAT[2] VAR aDat[2] OF oFold:adialogs[1] pixel
Ahora, creo el folder desde código, pero los controles de cada pesaña he dibujado desde recursos sobre diálogos child, y lo que quiero ahora es pegarlos en el folder creado desde código: para eso hago:
- Code: Select all Expand view
@30,30 FOLDER oFold PROMPT "Datos Gen","Pestaña 2" pixel of oWinGen
//Aquí vá mas controles de la ventana
ACTIVATE window oWinGen ON resize RESIZE_WINDOW2(oWinGen) MAXIMIZED;
VALID (oCon:Close(),oWVeh:=nil,.t.);
ON INIT (BUILDFOLDER(oFold:adialogs[1],aodat,adat,aoImg,aImg))
//Aqui colococo los controles de la pestaña y uso la función ChangeParent()
function BuildFolder( oWdestino,aoDat,adat,aoImg,aImg )
LOCAL oDlg
DEFINE DIALOG oDlg RESOURCE "DATOS"
REDEFINE GET AODAT[1] VAR aDat[1] ID 0 of oDlg
REDEFINE GET AODAT[2] VAR aDat[2] ID 1 of odlg
ACTIVATE DIALOG oDlg NOWAIT ;
ON INIT ChangeParent( oDlg, oWdestino )
oDlg:End()
return nil
Los controles se generan bien pero no se puede usar ni los ENTER ni TABS. Ojo todos los controles tienen la propiedad WS_TABSTOP.
He probado de todo lo que puedo, hasta cambie de editor de recursos, pero sigue igual, y mis conocimientos no dan más
Todos los ejemplos que he visto en SAMPLES funcionan OK, como la de los folders, pero todas se generan sobre un DIALOGO y no sobre una ventana principal, el ejemplo de TESTMDIR.PRG, también funciona bien pero es en una ventana CHILD. La mía no tiene hijas
Reitero que desde código funciona muy bien. Y no quiero hacerlo así. Por favor Auxilio.
Un saludo
Marcelo Jingo