Hola a todos,
Estoy de acuerdo en lo de diseñar con una herramienta que nos facilite el trabajo y nos evite el prueba error.
Lo que no me gusta es usar un editor de recursos 'externo' a FiveWin; es que soy muy primitivo y bastante bruto.
Hace años cree una utilidad/herramienta que permitía diseñar ventanas, diálogos y folders con la mayoría de los controles existentes en ese momento.
Si alguién tiene tiempo y quiere mejorarla y convertirla a 32b. que me lo diga y se la paso completa.
Esta herramienta permitía diseñar visualmente una ventana/diálogo y obtener la definición de variables y el código del diseño como estos (en dos ficheros independientes):
- Code: Select all Expand view
//FICHERO .LCL
/* *** Def. Var. FWD *** Window/Dialog: oIndex00 */
Local oIndex00
Local oIndexar
Local oCancelar
Local oFWDCk, uFWDCk
Local oLbIndex, uLbIndex
Local olPack, lPack
/* *** End Def. FWD *** Window/Dialog: oIndex00 */
// FICHERO .SCR
// FiveWiDi: Diseñador de ventanas y diálogos por C.Gelabert 11-12-2001<>18:19:44
DEFINE DIALOG oIndex00 TITLE GetTrad("Indexació de dades" ) FROM 35,244 TO 408,524 COLORS ;
J02CLRTEXTO,J02CLRWND OF AMPAarra[1][1][2][1][1] PIXEL FONT J02FONTWND //FIVEWIDI
@ 2.00,9.00 SAY GetTrad("Fitxers disponibles" ) OF oindex00 COLORS J02CLRTEXTO,;
J02CLRFONDO FONT J02FONTSAY CENTER PIXEL SIZE 122.50,11.00 UPDATE //FIVEWIDI
@ 16.50,9.50 LISTBOX oLbIndex VAR uLbIndex ITEMS aGetNomDBF( AMPAarra, 0 ) SIZE ;
122.50,105.50 OF oindex00 COLORS J02CLRTEXTO,J02CLRFONDO PIXEL FONT J02FONTLB ;
UPDATE MULTIPLE //FIVEWIDI
@ 128.50,9.00 FWDCHECKBOX oFWDCk VAR uFWDCk PROMPT GetTrad("Tots els fitxers" ) OF ;
oindex00 SIZE 123.00,12.00 FONT J02FONTSAY ON CHANGE FWDCkChange(AMPAarra, ;
oFWDCk, oLbIndex) COLORS J02CLRTEXTO,J02CLRWND PIXEL UPDATE LIKEBUTTON //FIVEWIDI
@ 144.50,10.00 CHECKBOX olPack VAR lPack PROMPT ;
GetTrad("El.liminar registres esborrats" ) OF oindex00 SIZE 122.00,14.00 FONT ;
TFont():New('Arial',0,-11,.F.,.F.,0,0,400,.F.,.F.,.F.,0,3,2,1,nil) PIXEL ;
MESSAGE GetTrad("Depurarà els fitxers eliminant els registres marcats com a esborrats." ) UPDATE //FIVEWIDI
@ 163.00,9.00 BUTTON oIndexar PROMPT GetTrad("&Indexar" ) SIZE 48.00,16.00 ACTION ( ;
Index01( AMPAarra, oLbIndex:GetSelItems(), lPack ), lAcaba := .T., ;
oIndex00:End() ) DEFAULT OF oindex00 FONT J02FONTBTN PIXEL UPDATE //FIVEWIDI
@ 163.00,84.00 BUTTON oCancelar PROMPT GetTrad("&Cancel·lar" ) SIZE 48.00,16.00 ACTION ( ;
lAcaba := .T., oIndex00:End() ) OF oIndex00 FONT J02FONTBTN PIXEL UPDATE CANCEL //FIVEWIDI
Cómo se usa?
Fácil, en el PRG correspondiente añadía:
#include elnombredelfichero.lcl
../.. lo que sea
#include elnombredelfichero.scr
ACTIVATE DIALOG olerele
../.. lo que sea
Algunas cosas que podía hacer:
- es capaz de releer este mismo código para permitir modificar el diseño.
- podía tener controles personalizados con valores predefinidos.
- permitía usar variables para la definición de FONT y COLORS.
- ...
Sólo les pediré que sean comprensivos y se ahorren comentarios sobre la codificación que encuentren; es mi primera aplicación en FiveWin.
La Herramienta se llama FiveWiDi (Fivewin Windows Dialogs) y creo sinceramente que si yo pude, sin duda ustedes podran hacerla muchísimo mejor.
Venga, quién se anima?