Dialogo Sobre Dialogo

Post Reply
User avatar
Maggiro
Posts: 76
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU
Contact:

Dialogo Sobre Dialogo

Post by Maggiro »

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ú
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Dialogo Sobre Dialogo

Post by Antonio Linares »

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
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Dialogo Sobre Dialogo

Post by FranciscoA »

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: Select all

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.

Fwxh1204-MySql-TMySql
User avatar
Maggiro
Posts: 76
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU
Contact:

Re: Dialogo Sobre Dialogo

Post by Maggiro »

Sr Antonio:

Lo que veo en los dialogos es que al quedar desactivado
el dialogo anterior, el color de fondo permanece inalterable:
Image
Image
Image
solo el caption queda en color inactivo
User avatar
Maggiro
Posts: 76
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU
Contact:

Re: Dialogo Sobre Dialogo

Post by Maggiro »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Dialogo Sobre Dialogo

Post by Antonio Linares »

Julio,

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

Antonio Linares
www.fivetechsoft.com
RSalazarU
Posts: 177
Joined: Wed Jul 16, 2008 12:59 pm
Location: Cochabamba-Bolivia
Contact:

Re: Dialogo Sobre Dialogo

Post by RSalazarU »

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Dialogo Sobre Dialogo

Post by Antonio Linares »

Rolando,

Muy buena sugerencia :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Dialogo Sobre Dialogo

Post by karinha »

João Santos - São Paulo - Brasil
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Dialogo Sobre Dialogo

Post by FranciscoA »

Gracias a todos. Lo he solucionado asi.

Code: Select all

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.

Fwxh1204-MySql-TMySql
Post Reply