FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Dialogo Sobre Dialogo
Posts: 85
Joined: Thu Oct 14, 2010 03:26 AM
Dialogo Sobre Dialogo
Posted: Tue Oct 20, 2015 04:46 PM

Buenos Dias Amigos del Foro:
- Tengo un primer Dialogo como centro de operaciones.
- Si elijo ejecutar alguna operacion (por ejemplo numero 1). Esta operacion abre otro
Dialogo que no tiene caption, solo un formato con gets para llenar, y va como incrustada
hacia una parte del primer Dialogo.
- La pregunta:
- Si deseo que, el primer dialogo mantenga el color activo mientras lleno el formato
en el segundo dialogo, qué comando debo usar?

Gracias por Vuestras Sugerencias
Saludos
Julio César Gómez Cortéz
Godryc Experiencias
Lima - Perú

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Dialogo Sobre Dialogo
Posted: Tue Oct 20, 2015 05:33 PM

Julio,

Si el segundo diálogo es modal, no hay forma de que el diálogo anterior mantenga el color de activo.

Tendriais que usar un objeto TPanel en vez de un diálogo, para situar los GETs.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Dialogo Sobre Dialogo
Posted: Tue Oct 20, 2015 09:42 PM
Saludos, Antonio.

Maggiro wrote:
Buenos Dias Amigos del Foro:
- Tengo un primer Dialogo como centro de operaciones.
- Si elijo ejecutar alguna operacion (por ejemplo numero 1). Esta operacion abre otro
Dialogo que no tiene caption, solo un formato con gets para llenar, y va como incrustada
hacia una parte del primer Dialogo.


Julio César.
No tengo la respuesta para tu pregunta.
Sin embargo desarrollé hace tiempo una pequeña aplicación que trabaja exactamente como lo describes.
El caso mio es que no he sido capaz de incrustar de manera automática el segundo dialog sobre el primero, en las coordenadas deseadas.
Claro que lo he solucionado "manualmente" aumentando o disminuyendo las coordenadas, hasta calzar. Pero "esto no es el chiste".

Estoy utilizando lo siguiente:
Code (fw): Select all Collapse
Function ModifEntrada(oDlgPadre)
-----
  DEFINE DIALOG oDlg RESOURCE "CAPTAENTRADA"   //dialog sin caption
      
   REDEFINE GET....
....
   ACTIVATE DIALOG oDlg CENTERED ;
       ON INIT ( oDlg:SetSize(oDlgPadre:nWidth-6,oDlgPadre:nHeight-190), oDlg:Move(oDlgPadre:nTop+305,oDlgPadre:nLeft+257) )
return nil

Como dije, las coordenadas +257 tengo que ponerla manualmente, ya que no obedece solamente a oDlgPadre:nLeft, que es lo que quiero,
ya que al cambiar de monitor con resolucion diferente, se distorciona la posicion a la izquierda. Es decir oDlgPadre:nTop+305 trabaja bien,
no así oDlgPadre:nLeft. Bueno, el nTop+305 tambien lo pongo manualmente pero funciona, no así el nLeft.

Tambien se pierde la coordenada nLeft, si muevo antes el primer dialog.

Podrías mostrar como lo has hecho?

Algún otro amigo del foro?

Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 85
Joined: Thu Oct 14, 2010 03:26 AM
Re: Dialogo Sobre Dialogo
Posted: Wed Oct 21, 2015 12:22 AM
Sr Antonio:

Lo que veo en los dialogos es que al quedar desactivado
el dialogo anterior, el color de fondo permanece inalterable:



solo el caption queda en color inactivo
Posts: 85
Joined: Thu Oct 14, 2010 03:26 AM
Re: Dialogo Sobre Dialogo
Posted: Wed Oct 21, 2015 12:29 AM

Hola Francisco:
Sobre tu pregunta ...
- Uso coordenadas fijas ya calculadas para el lugar donde se presenta el dialogo
incrustado.
- con la clausula OF oWnd en el segundo dialogo, éste queda dependiente del primero
se mueva donde se mueva el primero, se mueve todo.
Saludos

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Dialogo Sobre Dialogo
Posted: Wed Oct 21, 2015 07:45 AM

Julio,

Ese cambio de color del título es un comportamiento por defecto de Windows.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 211
Joined: Wed Jul 16, 2008 12:59 PM
Re: Dialogo Sobre Dialogo
Posted: Wed Oct 21, 2015 12:59 PM
Julio,

Otra solucion seria:

1. Colocar los controles del segundo dialogo en el primer dialogo (en la posicion que quieres que aparescan) y ocultarlos.
2. Hacer que aparescan vajo cierta condicion, y se deshabiliten los otros (los del primer dialogo).

Espero te ayude.

Atentamente,

Rolando.
Cochabamba, Bolivia
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Dialogo Sobre Dialogo
Posted: Wed Oct 21, 2015 01:44 PM

Rolando,

Muy buena sugerencia :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Dialogo Sobre Dialogo
Posted: Wed Oct 21, 2015 01:45 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Dialogo Sobre Dialogo
Posted: Thu Oct 22, 2015 11:20 PM
Gracias a todos. Lo he solucionado asi.

Code (fw): Select all Collapse
Function ModifEntrada(oDlgPadre)
local oRec := oDlgPadre:GetRect()
-----
  DEFINE DIALOG oDlg RESOURCE "CAPTAENTRADA"   //dialog sin caption
      
   REDEFINE GET....
....
   ACTIVATE DIALOG oDlg CENTERED ;
       ON INIT ( oDlg:SetSize(oDlgPadre:nWidth-6,oDlgPadre:nHeight-190), oDlg:Move(oRec:nBottom-oDlg:nHeight,oRec:nLeft+3) )
return nil


Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql

Continue the discussion