You should not use the Desktop property when you create Single Document Interface (SDI) applications in which you might want to hide the Visual FoxPro desktop window (_SCREEN). Instead, set the ShowWindow Property setting to 2 to create a top-level form.
Pancho: buenas, en mi caso algunas veces uso forms “cuasi modales”:
Digo “cuasi modales” porque en vez de hacer el sub-formulario modal mantengo una referencia al formulario llamador en el mismo (ej ThisForm.ParentForm) y deshabilito toda la cadena de This.ParentForm, This.ParentForm.ParentForm, .... con .Enabled = .F.. En el Destroy del sub-formulario se vuelven a habilitar los mismos.
Esto tiene la ventaja que el usuario puede abrir nuevas opciones de menú (por ejemplo, agregar un artículo con la pantalla de facturación abierta) pero le obliga a seleccionar una acción en las subpantallas específicamente para seguir operando en las pantallas principales (borrar un comprobante, seleccionar un artículo, cerrar la subpantalla, etc). Así tampoco los usuarios se marean con pantallas abiertas por error, lo que me pasaba mucho en el caso de pantallas totalmente no modales: los usuarios abrían la selección de comprobantes, hacían doble click varias veces en un comprobante abriendo varias subpantallas del mismo, etc.
HTH
Mario
<div title="MDH:UGFuY2hvOiBidWVuYXMsIGVuIG1pIGNhc28gYWxndW5hcyB2ZWNlcyB1c28gZm9ybXMgImN1YXNp IG1vZGFsZXMiOjxicj48YnI+LSBlbiBjb25zdWx0YS9tb2RpZmljYWNpw7NuL2JvcnJhZG8gZGUg Y29tcHJvYmFudGVzLCB0ZW5nbyB1biBmb3JtIHF1ZSBtZSBwZXJtaXRlIGZpbHRyYXIgbG9zIGNv bXByb2JhbnRlcyB5IHVuIGZvcm0gc3Vib3JkaW5hZG8gcXVlIG1lIG11ZXN0cmEgeSBkZWphIGVk aXRhciBsb3MgZGF0b3MgZGUgdW4gY29tcHJvYmFudGUgZXNwZWPDrWZpY288YnI+LSBlbiB0b2Rv cyBsb3MgZm9ybXMgcXVlIHRpZW5lbiBkYXRvcyBjb2RpZmljYWRvcyAoY8OzZGlnbyBkZSBhcnTD rWN1bG8sIGV0YyksIGVsIHN1YmZvcm0gZGUgYsO6c3F1ZWRhIGRlIGPDs2RpZ29zIG5vIGRlamEg dm9sdmVyIGFsIGZvcm0gYW50ZXJpb3IgaGFzdGEgc2VsZWNjaW9uYXIgdW4gY8OzZGlnbyBvIGNh bmNlbGFyIGxhIGLDunNxdWVkYTxicj48YnI+RGlnbyAiY3Vhc2kgbW9kYWxlcyIgcG9ycXVlIGVu IHZleiBkZSBoYWNlciBlbCBzdWItZm9ybXVsYXJpbyBtb2RhbCBtYW50ZW5nbyB1bmEgcmVmZXJl bmNpYSBhbCBmb3JtdWxhcmlvIGxsYW1hZG9yIGVuIGVsIG1pc21vIChlaiBgVGhpc0Zvcm0uUGFy ZW50Rm9ybWApIHkgZGVzaGFiaWxpdG8gdG9kYSBsYSBjYWRlbmEgZGUgYFRoaXMuUGFyZW50Rm9y bSwgVGhpcy5QYXJlbnRGb3JtLlBhcmVudEZvcm0sIC4uLi5gIGNvbiBgLkVuYWJsZWQgPSAuRi5g LiBFbiBlbCBgRGVzdHJveWAgZGVsIHN1Yi1mb3JtdWxhcmlvIHNlIHZ1ZWx2ZW4gYSBoYWJpbGl0 YXIgbG9zIG1pc21vcy48YnI+PGJyPkVzdG8gdGllbmUgbGEgdmVudGFqYSBxdWUgZWwgdXN1YXJp byBwdWVkZSBhYnJpciBudWV2YXMgb3BjaW9uZXMgZGUgbWVuw7ogKHBvciBlamVtcGxvLCBhZ3Jl Z2FyIHVuIGFydMOtY3VsbyBjb24gbGEgcGFudGFsbGEgZGUgZmFjdHVyYWNpw7NuIGFiaWVydGEp IHBlcm8gbGUgb2JsaWdhIGEgc2VsZWNjaW9uYXIgdW5hIGFjY2nDs24gZW4gbGFzIHN1YnBhbnRh bGxhcyBlc3BlY8OtZmljYW1lbnRlIHBhcmEgc2VndWlyIG9wZXJhbmRvIGVuIGxhcyBwYW50YWxs YXMgcHJpbmNpcGFsZXMgKGJvcnJhciB1biBjb21wcm9iYW50ZSwgc2VsZWNjaW9uYXIgdW4gYXJ0 w61jdWxvLCBjZXJyYXIgbGEgc3VicGFudGFsbGEsIGV0YykuIEFzw60gdGFtcG9jbyBsb3MgdXN1 YXJpb3Mgc2UgbWFyZWFuIGNvbiBwYW50YWxsYXMgYWJpZXJ0YXMgcG9yIGVycm9yLCBsbyBxdWUg bWUgcGFzYWJhIG11Y2hvIGVuIGVsIGNhc28gZGUgcGFudGFsbGFzIHRvdGFsbWVudGUgbm8gbW9k YWxlczogbG9zIHVzdWFyaW9zIGFicsOtYW4gbGEgc2VsZWNjacOzbiBkZSBjb21wcm9iYW50ZXMs IGhhY8OtYW4gZG9ibGUgY2xpY2sgdmFyaWFzIHZlY2VzIGVuIHVuIGNvbXByb2JhbnRlIGFicmll bmRvIHZhcmlhcyBzdWJwYW50YWxsYXMgZGVsIG1pc21vLCBldGMuPGJyPjxicj5IVEg8YnI+TWFy aW88YnI+PGJyPi0tLTxicj48YnI+PGJyPjxicj5FbCBtacOpcmNvbGVzLCAxNiBkZSBub3ZpZW1i cmUgZGUgMjAxNiwgOTo1MDozOSAoVVRDLTMpLCBWaWN0b3IgRXNwaW5hICBlc2NyaWJpw7M6PGJs b2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwO21hcmdpbi1sZWZ0 OiAwLjhleDtib3JkZXItbGVmdDogMXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OiAxZXg7Ij48 ZGl2IGRpcj0ibHRyIj5GcmFuY2lzY28sIGNyZW8gcXVlIGxhIGNvc2EgdmllbmUgcG9yIGxvIHF1 ZSBkaWNlIEZpZGVsOiAmbmJzcDtlbiBhbGd1bmEgcGFydGUgYW50ZXMgZGUgcXVlIGVsIGZvcm11 bGFyaW8gQiB0b21lIGVsIGZvY28sIGFsZ3VpZW4gZXN0YSB0cmFuc2ZpcmllbmRvIGVsIGZvY28g ZGUgbnVldm8gYWwgZm9ybXVsYXJpbyBBLiAmbmJzcDtRdWl6YXMgZW4gZWwgRGVhY3RpdmF0ZSBk ZWwgZm9ybSBBPyAmbmJzcDsgJm5ic3A7IEN1YW5kbyBsZWkgdHUgcG9zdCBvcmlnaW5hbCBtaSBw cmltZXIgcGVuc2FtaWVudG8gZnVlOiAmbmJzcDthbnRlcyBkZSBwb25lcnNlIGEgY2FtYmlhciBU T0RPUyBsb3MgZm9ybXVsYXJpb3MgcGFyYSBxdWUgc2VhbiBubyBtb2RhbGVzLCBtZWpvciB5IG1h cyBlZmljaWVudGUgc2VyaWEgY29uY2VudHJhcnNlIGVuIGVudGVuZGVyIHBvcnF1ZSBwYXNhIGVs IHByb2JsZW1hIHB1bnR1YWwgZW4gcHJpbWVyIGx1Z2FyIHkgYXNpIGludGVudGFyIGNvbnNlZ3Vp ciB1bmEgc29sdWNpb24uICZuYnNwO0hhY2VyIHVuIGNhbWJpbyBkZSBlc2UgdGFtYW5vIChjYW1i aWFyIGRlIG1vZGFsIGEgbm8gbW9kYWwpIHNvbG8gbG9ncmFyaWEgaW50cm9kdWNpciBkZWNlbmFz IGRlIGJ1Z3MgcG90ZW5jaWFsZXMsIGVuIGVsIGVzZnVlcnpvIHBvciBjb3JyZWdpciBzb2xvIHVu byA6KTxkaXY+PGJyPjwvZGl2PjxkaXY+VmljdG9yPC9kaXY+PGRpdj48YnI+PGJyPkVsIG1pw6ly Y29sZXMsIDE2IGRlIG5vdmllbWJyZSBkZSAyMDE2LCA3OjM1OjQ2IChVVEMtMyksIGZyYW5jaXNj byBwcmlldG8gZXNjcmliacOzOjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9 Im1hcmdpbjowO21hcmdpbi1sZWZ0OjAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3Bh ZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPjxkaXYgZGlyPSJsdHIiPjxkaXY+PGRpdj48 ZGl2PjxkaXY+QnVlbm8sIGNvbmZpcm1vLCBlc28gbm8gZnVuY2lvbmEuIEVsIHByb2JsZW1hIGNv bnRpbnVhLjxicj48YnI+PC9kaXY+U2FsdWRvcyw8YnI+PGJyPjwvZGl2PlBhbmNobzxicj48L2Rp dj5Dw7NyZG9iYTxicj48L2Rpdj5BcmdlbnRpbmE8YnI+PC9kaXY+PGJyPjxkaXYgY2xhc3M9Imdt YWlsX3F1b3RlIj48ZGl2IGRpcj0ibHRyIj5FbCBtYXIuLCAxIG5vdi4gMjAxNiBhIGxhcyA2OjU5 LCBmcmFuY2lzY28gcHJpZXRv
*<Form.Init>
LPARAMETERS tnWindowType
* Si se omite el parámetro vale el definido en el diseñador
IF VARTYPE(tnWindowType) = "N" AND BETWEEN(tnWindowType,0,1)
this.WindowType = tnWindowType
ENDIF