Dudas en Buttonbar

Post Reply
yadira
Posts: 52
Joined: Wed Jun 20, 2007 4:22 pm

Dudas en Buttonbar

Post by yadira »

Hola, molestandolos nuevamente, como puedo hacer para poner "divisiones" o rayas verticales en un buttonbar (para separar segun funciones) es decir poner 2 botones una raya y luego 3 mas.

como estoy trabajando con mdi, como inhabilito y habilito un boton del mismo buttonbar (para evitar q lo abran muchas veces), es decir al abrir una ventana child, se deshabilite el boton que la llamo y al cerrarla se vuelva a habilitar.

como defino la posicion de esa ventana child ?
saludos a todos y feliz año nuevo
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Para separar un grupo con una línea vertical:

DEFINE BUTTON OF oBar GROUP ...

Para deshabilitarlo y habilitarlo:

DEFINE BUTTON oBtn OF oBar GROUP ACTION ( oBtn:Disable(), <acción>, oBtn:Enable() )

Posición de la ventana CHILD:

Code: Select all

   DEFINE WINDOW oChild TITLE "Test" MDICHILD 

   WndTop( oChild:hWnd, 30 )  // cambia 30 por tus valores
   WndLeft( oChild:hWnd, 30 )  //    "

return nil 
regards, saludos

Antonio Linares
www.fivetechsoft.com
yadira
Posts: 52
Joined: Wed Jun 20, 2007 4:22 pm

Post by yadira »

Antonio, muchas gracias por tu valiosa ayuda, tengo una duda mas:

DEFFINE BUTTON oF oBar FILE "User.Bmp" NOBORDER;
ACTION (oBtn:Disable(), WinExec ("Calc"), oBtn:Enable() )


al compilar y enlazar me manda este error:
"VARIABLE DOES NO EXIST: oBtn"


Que hice mal ??
Saludos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Te faltó definirlo aqui:

DEFFINE BUTTON oBtn oF oBar FILE "User.Bmp" NOBORDER;
ACTION (oBtn:Disable(), WinExec ("Calc"), oBtn:Enable() )
regards, saludos

Antonio Linares
www.fivetechsoft.com
yadira
Posts: 52
Joined: Wed Jun 20, 2007 4:22 pm

Post by yadira »

antonio ya no marca ningun error pero no deshabilita el boton
:(
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Falta una cosa:

DEFFINE BUTTON oBtn oF oBar FILE "User.Bmp" NOBORDER;
ACTION (oBtn:Disable(), oBtn:Refresh(), WinExec ("Calc"), oBtn:Enable() )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Un detalle más:

WinExec() no produce una ejecución modal. Es decir, no _espera_ a que termine el proceso, luego la ejecución continua tras llamar a WinExec() y el botón vuelve a habilitarse.

Si quieres que se espere entonces usa WaitRun() en vez de WinExec()
regards, saludos

Antonio Linares
www.fivetechsoft.com
yadira
Posts: 52
Joined: Wed Jun 20, 2007 4:22 pm

Post by yadira »

Antonio, mil disculpas la accion de "calc" que puse fue solo un ejemplo en realidad abre una ventana child, ya intente lo que me sugeriste pero no lo deshabilita, aun poniendo obTn:Refresh(), cuando abro la ventana child no lo inhabilita, si solo pongo como accion oBtn:Disable(), Catalogo()
si lo inhabilita, pero ahora no se como habilitarlo cuando cierro la ventana child

saludos y disculpa mi novatez :oops:
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Es debido a que la ejecución de la ventana child no es modal.

La mejor manera de volver a habilitar el botón es desde el VALID de la ventana hija:

ACTIVATE WINDOW oWnd ;
VALID ( oBtn:Enable(), .T. )
regards, saludos

Antonio Linares
www.fivetechsoft.com
servicomver
Posts: 159
Joined: Fri Nov 18, 2005 7:34 pm

Post by servicomver »

Antonio:
Puedo evitar que una ventana CHILD le aparezca el boton de MAXIMIZAR ??
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Revisa fw\samples\TestMdi5.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply