VSCROLL

Post Reply
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

VSCROLL

Post by colthop »

Hola Antonio:

Te respondo por aqui como me has comentado. Es la MdiChild la que la lleva.

La ventana la creo asi

Code: Select all | Expand

DEFINE WINDOW oDlgwBus MDICHILD OF oVentPrinc PIXEL FROM zVer*ProPorV,zHor*ProPorH TO (zVer+zAnc)*ProPorV,(zHor+zLar)*ProPorH COLORS escri01, fondo01  STYLE nOr(WS_DLGFRAME) VSCROLL

    pintivas()

    @240*ProPorV,610*ProPorH BUTTON xPul01 PROMPT LocaText(139,1) OF oDlgwBus PIXEL SIZE  75*ProPorH,20*ProPorV FONT oFont ACTION Altaivas(1)
    @270*ProPorV,610*ProPorH BUTTON xPul02 PROMPT LocaText(139,2) OF oDlgwBus PIXEL SIZE  75*ProPorH,20*ProPorV FONT oFont ACTION Bajaivas()
    @300*ProPorV,610*ProPorH BUTTON xPul03 PROMPT LocaText(139,3) OF oDlgwBus PIXEL SIZE  75*ProPorH,20*ProPorV FONT oFont ACTION Modiivas()
    @330*ProPorV,610*ProPorH BUTTON xPul04 PROMPT LocaText(140,9) OF oDlgwBus PIXEL SIZE  75*ProPorH,20*ProPorV FONT oFont ACTION imprivas()
    @360*ProPorV,610*ProPorH BUTTON xPul05 PROMPT LocaText(138,4) OF oDlgwBus PIXEL SIZE  75*ProPorH,20*ProPorV FONT oFont ACTION erroivas()
    @390*ProPorV,610*ProPorH BUTTON xPul06 PROMPT LocaText(139,6) OF oDlgwBus PIXEL SIZE  75*ProPorH,20*ProPorV FONT oFont ACTION Siguivas()
    @420*ProPorV,610*ProPorH BUTTON xPul07 PROMPT LocaText(139,7) OF oDlgwBus PIXEL SIZE  75*ProPorH,20*ProPorV FONT oFont ACTION Anteivas()
    @450*ProPorV,610*ProPorH BUTTON xPul08 PROMPT LocaText(139,8) OF oDlgwBus PIXEL SIZE  75*ProPorH,20*ProPorV FONT oFont ACTION Saliivas()
    xPul01:SetFocus()
    oDlgwBus:bKeyDown  = { | nKey       | ContImpr ( nKey       ) }

  ACTIVATE WINDOW oDlgwBus NORMAL ON INIT IMPOSTASCROLL(oDlgwBus) VALID (if (GetKeyState (VK_ESCAPE), .F.,oDlgwBus:End()))


Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
User avatar
Antonio Linares
Site Admin
Posts: 42512
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: VSCROLL

Post by Antonio Linares »

Carlos,

En la ventana mdichild que controles creas ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: VSCROLL

Post by colthop »

Hola Antonio:

Da igual los controles prueba con este ejemplo que me pusistes tu:

Code: Select all | Expand

#include "FIVEWIN.CH"

//------------------------------------------------------------//
FUNCTION Main(xxopczz)
    PUBLIC oWnd,oWndChild

    DEFINE WINDOW oWnd MDI

    CreateChild( oWnd )

    ACTIVATE WINDOW oWnd
return nil



function CreateChild( oWnd )

   local cText1 := "Hello", cText2 := "World"

   DEFINE WINDOW oWndChild MDICHILD OF oWnd STYLE nOr(WS_DLGFRAME) VSCROLL

   @ 1, 1 GET cText1 OF oWndChild SIZE 80, 20

   @ 4, 1 GET cText2 OF oWndChild SIZE 80, 20

   @ 7, 1 BUTTON xPul01 PROMPT "Boton" OF oWndChild SIZE  75,20 ACTION oWnd:Destroy()

   ACTIVATE WINDOW oWndChild

return nil


Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
User avatar
Antonio Linares
Site Admin
Posts: 42512
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: VSCROLL

Post by Antonio Linares »

Carlos,

Cambia esta línea así:

DEFINE WINDOW oWndChild MDICHILD OF oWnd STYLE nOr( WS_DLGFRAME, WS_VSCROLL )

funciona bien :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: VSCROLL

Post by colthop »

Hola Antonio:

Si lo pongo de esta manera si se ve la barra pero me da un error en la funcion que baja la imagen.

Application
===========
Path and name: C:\ColtHop\cyewin\cyewin.exe (32 bits)
Size: 5,102,080 bytes
Time from start: 0 hours 0 mins 7 secs
Error occurred at: 23/09/2010, 20:05:22
Error description: Error BASE/1004 Class: 'NIL' has no exported method: SETRANGE
Args:
[ 1] = U
[ 2] = N 1
[ 3] = N 10

Stack Calls
===========
Called from: => SETRANGE(0)
Called from: gesti110.prg => IMPOSTASCROLL(98)
Called from: gestivas.prg => (b)GESTIVAS(88)
Called from: window.prg => TWINDOW:ACTIVATE(971)
Called from: .\source\classes\MDICHILD.PRG => TMDICHILD:ACTIVATE(245)
Called from: gestivas.prg => GESTIVAS(88)
Called from: gestmenu.prg => OPCIMENU(521)
Called from: gestmenu.prg => SELMEN01(226)
Called from: gestmenu.prg => CONMEN01(92)
Called from: gestmenu.prg => (b)GESTMENU1(75)
Called from: window.prg => TWINDOW:KEYDOWN(2560)
Called from: .\source\classes\MDICHILD.PRG => TMDICHILD:KEYDOWN(291)
Called from: window.prg => TWINDOW:KEYDOWN(2564)
Called from: .\source\classes\CONTROL.PRG => TSAY:KEYDOWN(848)
Called from: window.prg => TWINDOW:KEYDOWN(2564)
Called from: .\source\classes\CONTROL.PRG => TSAY:KEYDOWN(848)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1497)
Called from: .\source\classes\SAY.PRG => TSAY:HANDLEEVENT(222)
Called from: window.prg => _FWH(3393)
Called from: => WINRUN(0)
Called from: window.prg => TMDIFRAME:ACTIVATE(978)
Called from: cyewin.prg => MAIN(248)


el fuente es el siguiente
[codeFUNCTION IMPOSTASCROLL( oDlgwBus, nTop )
LOCAL nStep := 30
oDlgwBus:oVScroll:SetRange( 1, 10 )
oDlgwBus:oVScroll:nPgStep = 1
oDlgwBus:oVScroll:bGoUp = { || SpostaControlli( oDlgwBus, nStep, nTop ) }
oDlgwBus:oVScroll:bPageUp = { || SpostaControlli( oDlgwBus, nStep, nTop ) }
oDlgwBus:oVScroll:bGoDown = { || SpostaControlli( oDlgwBus, -nStep, nTop ) }
oDlgwBus:oVScroll:bPageDown = { || SpostaControlli( oDlgwBus, -nStep, nTop ) }
RETURN (.T.)

FUNCTION SPOSTACONTROLLI( oDlg, nStep, nTop )
LOCAL i
Local len:=len(oDlg:aControls )
if nStep < 0 .AND. oDlg:aControls[len]:nTop + nStep = ntop
RETURN (.T.)
endif
if nStep > 0 .AND. oDlg:aControls[ 4 ]:nTop - nStep = ntop
RETURN (.T.)
endif
FOR i = 1 TO LEN( oDlg:aControls ) - 9
oDlg:aControls[ i ]:Move( oDlg:aControls[ i ]:nTop + nStep, oDlg:aControls[ i ]:nLeft )
NEXT
oDlg:Refresh()
RETURN (.T.)
][/code]

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
User avatar
Antonio Linares
Site Admin
Posts: 42512
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 31 times
Been thanked: 73 times
Contact:

Re: VSCROLL

Post by Antonio Linares »

Carlos,

Despues de crear la ventana MdiChild haz esto:

DEFINE SCROLLBAR oWndChild:oVScroll VERTICAL OF oWndChild

Con eso debe desaparecer ese error :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
colthop
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: VSCROLL

Post by colthop »

Gracias Antonio parece que es como tu dices.
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Post Reply