FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour como impedir abrir una window 2 veces
Posts: 185
Joined: Thu Nov 17, 2005 12:48 AM
como impedir abrir una window 2 veces
Posted: Tue Sep 18, 2012 09:54 PM

Como hago para controlar cuando abro una ventana desde un menú, ésta no se vuelva abrir?, ya que esto hace que se vayan "acumulando en la barra de tareas"

Muchas gracias de antemano por sus comentarios :D

Luis Alfonso Fuentes Guerrero

FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: como impedir abrir una window 2 veces
Posted: Wed Sep 19, 2012 12:01 AM

Si lo haces desde un menú, deshabilitando esa opción y si es desde un button lo mismo

Saludos

Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: como impedir abrir una window 2 veces
Posted: Wed Sep 19, 2012 01:00 AM

Lafug, aqui tienes un pequeño ejemplo:
//----------------------------------------------------------------------------//
Function BuildMenu()
local oMenu, oItem1

MENU oMenu 2007
MENUITEM oItem1 PROMPT "&Fichero"
MENU
MENUITEM "&Mi ventana" ACTION Miventana(oItem1)
MENUITEM "&Salir..." ACTION oWnd:End() MESSAGE "Finalizar esta sesion"
ENDMENU
ENDMENU
//------------------------------
Function MiVentana(oItem1)


oItem1:Disable()
.....
ACTIVATE WINDOW oMiVentana

VALID ( oItem1:Enable() , .t. )
Return nil

Saludos.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 132
Joined: Thu Mar 08, 2007 06:12 PM
Re: como impedir abrir una window 2 veces
Posted: Wed Sep 19, 2012 01:48 AM
Saludos !

Otra forma, para no abrir mas de una vez
declara la variable que identifica la venta como static y la controlas asi
Code (fw): Select all Collapse
STATIC oWndChild
*--
FUCNTION GRUPOS()
*--
LOCAL A,B,C,-......

IF oWndChild == NIL
   Define window oWndChild bla,bla
   Activate Widnow oWndChild;
   Valid( oWndChild := NIL, .T. )
ELSE
    oWndChild:SetFocus()
ENDIF
Harbour / Bcc / MinGW / Fwh 13.9
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: como impedir abrir una window 2 veces
Posted: Wed Sep 19, 2012 12:22 PM
Code (fw): Select all Collapse
#Include "Fivewin.Ch"

Static oWnd, lAbertura := .F.

Function Bmp_Rand( cWidth, cHeight )
  
    // Para Impedir Uma 2a Abertura de Janela!!!
    IF lAbertura = .F.

        lAbertura := .T.

     ELSE

        MsgInfo( OemToAnsi( "Esta Janela J  Est  em Uso..." +CRLF+ ;
                            "Verifique Rodap‚ do  Windows." +CRLF+ ;
                            "Ou Minimize o Programa...    " +CRLF+ ;
                            "Pois Ela  Pode Estar Por Tr s" +CRLF+ ;
                            "do Menu Principal. Verifique!"),      ;
                            "Verifique, Por Favor!" )

        RETURN NIL

    ENDIF

    DEFINE WINDOW oWnd            ;
           FROM 6.70, 5 TO 34, 95 ;
           BRUSH oBrush           ;
           ICON  oIco             ;
           NOZOOM                 ;
           NOSYSMENU              ;
           BORDER SINGLE          ;

    // ....

    ACTIVATE WINDOW OWND ;
             VALID( PorFalso( @lAbertura ) )

RETURN NIL

FUNCTION PorFalso( lVariavel )

   lVariavel := .F.

RETURN( .T. )


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: como impedir abrir una window 2 veces
Posted: Wed Sep 19, 2012 12:41 PM
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 185
Joined: Thu Nov 17, 2005 12:48 AM
Re: como impedir abrir una window 2 veces
Posted: Wed Sep 19, 2012 09:41 PM

Gracias a todos! por sus respuestas, me quedé con la solución de compubrion

saludos y gracias de nuevo!

Luis Alfonso Fuentes Guerrero

FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop

Continue the discussion