Jump to content
Fivewin Brasil

CAIXA DE DIALOGO


VASCON

Recommended Posts

PESSOAL, BOM DIA!

COMO FAÇO PARA CRIAR UMA CAIXA DE DIALOGO, COM ROLAGEM DE CURSOR NA VERTICAL.

NÃO SERIA LISTBOX NEM TBROUSE, APENAS UMA CAIXA ONDE MOSTRARIA INFORMAÇÕES NECESSÃRIAS, MAS QUE PERMITISSE UMA ROLAGEM VERTICAL, OU SEJA, A INFORMAÇÕES ROLARIAM DENTRO DESSA CAIXA.

GRATO PELA ATENÇÃO

NILSON

Link to comment
Share on other sites

PESSOAL, BOM DIA!

COMO FAÇO PARA CRIAR UMA CAIXA DE DIALOGO, COM ROLAGEM DE CURSOR NA VERTICAL.

NÃO SERIA LISTBOX NEM TBROUSE, APENAS UMA CAIXA ONDE MOSTRARIA INFORMAÇÕES NECESSÃRIAS, MAS QUE PERMITISSE UMA ROLAGEM VERTICAL, OU SEJA, A INFORMAÇÕES ROLARIAM DENTRO DESSA CAIXA.

GRATO PELA ATENÇÃO

NILSON

Link to comment
Share on other sites

Bom dia,

Procure na pasta samples que tem o que voce procura(five\samples\testdscr.prg), mas de qualquer forma, segue o que voce precisa abaixo:


// Testing how to scroll a dialog with its contents

#include "FiveWin.ch"

#define D_WIDTH 4

#define D_HEIGHT 13

FUNCTION Main()

LOCAL oDlg

LOCAL cGet0101 := space(10), ; //Row 1

cGet0102 := space(10), ;

cGet0103 := space(10), ;

cGet0104 := space(10), ;

cGet0105 := space(10), ;

cGet0201 := space(10), ; //Row 2

cGet0202 := space(10), ;

cGet0203 := space(10), ;

cGet0204 := space(10), ;

cGet0205 := space(10), ;

cGet0301 := space(10), ; //Row 3

cGet0302 := space(10), ;

cGet0303 := space(10), ;

cGet0304 := space(10), ;

cGet0305 := space(10), ;

cGet0401 := space(10), ; //Row 4

cGet0402 := space(10), ;

cGet0403 := space(10), ;

cGet0404 := space(10), ;

cGet0405 := space(10), ;

cGet0501 := space(10), ; //Row 5

cGet0502 := space(10), ;

cGet0503 := space(10), ;

cGet0504 := space(10), ;

cGet0505 := space(10), ;

cGet0601 := space(10), ; //Row 6

cGet0602 := space(10), ;

cGet0603 := space(10), ;

cGet0604 := space(10), ;

cGet0605 := space(10), ;

cGet0701 := space(10), ; //Row 7

cGet0702 := space(10), ;

cGet0703 := space(10), ;

cGet0704 := space(10), ;

cGet0705 := space(10), ;

cGet0801 := space(10), ; //Row 8

cGet0802 := space(10), ;

cGet0803 := space(10), ;

cGet0804 := space(10), ;

cGet0805 := space(10), ;

cGet0901 := space(10), ; //Row 9

cGet0902 := space(10), ;

cGet0903 := space(10), ;

cGet0904 := space(10), ;

cGet0905 := space(10), ;

cGet1001 := space(10), ; //Row 10

cGet1002 := space(10), ;

cGet1003 := space(10), ;

cGet1004 := space(10), ;

cGet1005 := space(10), ;

cGet1101 := space(10), ; //Row 11

cGet1102 := space(10), ;

cGet1103 := space(10), ;

cGet1104 := space(10), ;

cGet1105 := space(10)

define dialog oDlg from 0, 0 TO 25, 70 ;

title "Scroll dialog" ;

Style nor( WS_VSCROLL, WS_HSCROLL )

@ 9,17 bitmap file "..\bitmaps\pic1.bmp" of oDlg size 120,148 adjust

@ 9,32 bitmap file "..\bitmaps\pic2.bmp" of oDlg size 120,148 adjust

@ 9,47 bitmap file "..\bitmaps\pic3.bmp" of oDlg size 120,148 adjust

@ 9,62 bitmap file "..\bitmaps\pic4.bmp" of oDlg size 120,148 adjust

@ 9,77 bitmap file "..\bitmaps\pic5.bmp" of oDlg size 120,148 adjust

@ 21*13,02*8 say "Customer " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 23*13,02*8 say "P.O. # " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 25*13,02*8 say "Style No." of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 27*13,02*8 say "Fabrics " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 29*13,02*8 say "Fob " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 31*13,02*8 say "Q'TY " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 33*13,02*8 say "DEL. " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 35*13,02*8 say "MAKER " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 37*13,02*8 say "QTA " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 39*13,02*8 say "SIZE " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 41*13,02*8 say "Size B/D " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 43*13,02*8 say "REMARKS " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 21*13,17*8 say "Venture " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 21*13,32*8 say "Sears " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 21*13,47*8 say "Kohl's " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 21*13,62*8 say "Kiss " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

@ 21*13,77*8 say "K-MART " of oDlg update color CLR_BLACK,CLR_WHITE size 120,26 border pixel

//-* Row 1

@ 23*13,17*8 get cGet0101 size 120,26 of oDlg update pixel

@ 23*13,32*8 get cGet0102 size 120,26 of oDlg update pixel

@ 23*13,47*8 get cGet0103 size 120,26 of oDlg update pixel

@ 23*13,62*8 get cGet0104 size 120,26 of oDlg update pixel

@ 23*13,77*8 get cGet0105 size 120,26 of oDlg update pixel

//-* Row 2

@ 25*13,17*8 get cGet0201 size 120,26 of oDlg update pixel

@ 25*13,32*8 get cGet0202 size 120,26 of oDlg update pixel

@ 25*13,47*8 get cGet0203 size 120,26 of oDlg update pixel

@ 25*13,62*8 get cGet0204 size 120,26 of oDlg update pixel

@ 25*13,77*8 get cGet0205 size 120,26 of oDlg update pixel

//-* Row 3

@ 27*13,17*8 get cGet0301 size 120,26 of oDlg update pixel

@ 27*13,32*8 get cGet0302 size 120,26 of oDlg update pixel

@ 27*13,47*8 get cGet0303 size 120,26 of oDlg update pixel

@ 27*13,62*8 get cGet0304 size 120,26 of oDlg update pixel

@ 27*13,77*8 get cGet0305 size 120,26 of oDlg update pixel

//-* Row 4

@ 29*13,17*8 get cGet0401 size 120,26 of oDlg update pixel

@ 29*13,32*8 get cGet0402 size 120,26 of oDlg update pixel

@ 29*13,47*8 get cGet0403 size 120,26 of oDlg update pixel

@ 29*13,62*8 get cGet0404 size 120,26 of oDlg update pixel

@ 29*13,77*8 get cGet0405 size 120,26 of oDlg update pixel

//-* Row 5

@ 31*13,17*8 get cGet0501 size 120,26 of oDlg update pixel

@ 31*13,32*8 get cGet0502 size 120,26 of oDlg update pixel

@ 31*13,47*8 get cGet0503 size 120,26 of oDlg update pixel

@ 31*13,62*8 get cGet0504 size 120,26 of oDlg update pixel

@ 31*13,77*8 get cGet0505 size 120,26 of oDlg update pixel

//-* Row 6

@ 33*13,17*8 get cGet0601 size 120,26 of oDlg update pixel

@ 33*13,32*8 get cGet0602 size 120,26 of oDlg update pixel

@ 33*13,47*8 get cGet0603 size 120,26 of oDlg update pixel

@ 33*13,62*8 get cGet0604 size 120,26 of oDlg update pixel

@ 33*13,77*8 get cGet0605 size 120,26 of oDlg update pixel

//-* Row 7

@ 35*13,17*8 get cGet0701 size 120,26 of oDlg update pixel

@ 35*13,32*8 get cGet0702 size 120,26 of oDlg update pixel

@ 35*13,47*8 get cGet0703 size 120,26 of oDlg update pixel

@ 35*13,62*8 get cGet0704 size 120,26 of oDlg update pixel

@ 35*13,77*8 get cGet0705 size 120,26 of oDlg update pixel

//-* Row 8

@ 37*13,17*8 get cGet0801 size 120,26 of oDlg update pixel

@ 37*13,32*8 get cGet0802 size 120,26 of oDlg update pixel

@ 37*13,47*8 get cGet0803 size 120,26 of oDlg update pixel

@ 37*13,62*8 get cGet0804 size 120,26 of oDlg update pixel

@ 37*13,77*8 get cGet0805 size 120,26 of oDlg update pixel

//-* Row 9

@ 39*13,17*8 get cGet0901 size 120,26 of oDlg update pixel

@ 39*13,32*8 get cGet0902 size 120,26 of oDlg update pixel

@ 39*13,47*8 get cGet0903 size 120,26 of oDlg update pixel

@ 39*13,62*8 get cGet0904 size 120,26 of oDlg update pixel

@ 39*13,77*8 get cGet0905 size 120,26 of oDlg update pixel

//-* Row 10

@ 41*13,17*8 get cGet1001 size 120,26 of oDlg update pixel

@ 41*13,32*8 get cGet1002 size 120,26 of oDlg update pixel

@ 41*13,47*8 get cGet1003 size 120,26 of oDlg update pixel

@ 41*13,62*8 get cGet1004 size 120,26 of oDlg update pixel

@ 41*13,77*8 get cGet1005 size 120,26 of oDlg update pixel

//-* Row 11

@ 43*13,17*8 get cGet1101 size 120,26 of oDlg update pixel

@ 43*13,32*8 get cGet1102 size 120,26 of oDlg update pixel

@ 43*13,47*8 get cGet1103 size 120,26 of oDlg update pixel

@ 43*13,62*8 get cGet1104 size 120,26 of oDlg update pixel

@ 43*13,77*8 get cGet1105 size 120,26 of oDlg update pixel

@ 50,20 button "&Ok" size 80,20 of oDlg ;

action (MsgInfo("You click OK button!"),oDlg:End())

@ 50,40 button "&Cancel" size 80,20 of oDlg ;

action (MsgInfo("You click Cancel button!"),oDlg:End())

ACTIVATE dialog oDlg ;

ON INIT ( TScrDlg():New(oDlg,1,40,1,70) )

RETURN( NIL )

//============================================================================

// FileName : SCROLL.PRG

// Purpose : dialog Scroll Class

// Author : Eric Yang

// Update History :

// Date Contents

// ---------- ---------------------------------------------------------------

// 1997.02.01

//

//============================================================================

#include "FiveWin.ch"

#ifndef TRUE

#define TRUE .T.

#define FALSE .F.

#endif

CLASS TScrDlg

DATA oDlg

DATA nVPos,nHPos

METHOD New( oDlg,nV1,nV2,nH1,nH2 ) CONSTRUCTOR

METHOD SetScroll( nV1,nV2,nH1,nH2 )

//-*------------------------------------------------------------

METHOD VScroll()

METHOD VScrollThumb()

METHOD VScrollTrack()

METHOD VScrollPgDown()

METHOD VScrollPgUp()

//-*-----------------------------

METHOD HScroll()

METHOD HScrollThumb()

METHOD HScrollTrack()

METHOD HScrollPgDown()

METHOD HScrollPgUp()

ENDCLASS

METHOD New( oDlg,nV1,nV2,nH1,nH2 ) CLASS TScrDlg

::nVPos := 0

::nHPos := 0

::oDlg := oDlg

::SetScroll( nV1,nV2,nH1,nH2 )

RETURN Self

METHOD SetScroll( nV1,nV2,nH1,nH2 ) CLASS TScrDlg

LOCAL aCoors1:={},aCoors2:={}

//--------------------------------------------------

//-* Vertical Scroll Bar

// ? ::oDlg:oVSCroll=NIL

if ::oDlg:oVScroll != NIL

// ? nV1,nV2

::oDlg:oVScroll:SetRange( nV1,nV2 )

::nVPos := ::oDlg:oVScroll:GetPos()

::oDlg:oVScroll:bGoDown := {|| ::VScroll() }

::oDlg:oVScroll:bGoUp := {|| ::VScroll() }

::oDlg:oVScroll:bPageUp := {|| ::VScrollPgUp() }

::oDlg:oVScroll:bPageDown := {|| ::VScrollPgDown() }

::oDlg:oVScroll:bGoTop := {|| ::VScroll() }

::oDlg:oVScroll:bGoBottom := {|| ::VScroll() }

::oDlg:oVScroll:nPgStep := 10

//::oDlg:oVScroll:lReDraw := TRUE

::oDlg:oVScroll:bPos := {|nPos| ::VScrollThumb(nPos) }

::oDlg:oVScroll:bTrack := {|nPos| ::VScrollTrack(nPos) }

endif

//--------------------------------------------------

//-* Horizontal Scroll Bar

if ::oDlg:oHScroll != NIL

::oDlg:oHScroll:SetRange( nH1,nH2 )

::nHPos := ::oDlg:oHScroll:GetPos()

::oDlg:oHScroll:bGoDown := {|| ::HScroll() }

::oDlg:oHScroll:bGoUp := {|| ::HScroll() }

::oDlg:oHScroll:bPageUp := {|| ::HScrollPgUp() }

::oDlg:oHScroll:bPageDown := {|| ::HScrollPgDown() }

::oDlg:oHScroll:bGoTop := {|| ::HScroll() }

::oDlg:oHScroll:bGoBottom := {|| ::HScroll() }

::oDlg:oHScroll:nPgStep := 10

//::oDlg:oHScroll:lReDraw := TRUE

::oDlg:oHScroll:bPos := {|nPos| ::HScrollThumb(nPos) }

::oDlg:oHScroll:bTrack := {|nPos| ::HScrollTrack(nPos) }

endif

//::oDlg:bKeyChar := {|nKey,nFlags| ScrollKey(nKey) }

//--------------------------------------------------

RETURN( NIL )

//STATIC FUNCTION ScrollKey(nKey)

//MsgInfo( "Key : "+str(nKey,10) )

//if nKey == K_ENTER

// goMainDlg:End()

// lRetVal := TRUE

//endif

//RETURN( NIL )

//=================================================================

//-* Vertical Scroll Bar

METHOD VScroll() CLASS TScrDlg

LOCAL nNewPos

if ::nVPos >= ::oDlg:oVScroll:nMin ;

.and. ::nVPos <= ::oDlg:oVScroll:nMax

nNewPos := ::oDlg:oVScroll:GetPos()

SysRefresh()

ScrollWindow( ::oDlg:hWnd, 0, ;

( ::nVPos-nNewPos )*D_HEIGHT, ;

0 , GetClientRect(::oDlg:hWnd) )

::nVPos := nNewPos

endif

RETURN( NIL )

METHOD VScrollThumb(nNewPos) CLASS TScrDlg

if ::nVPos >= ::oDlg:oVScroll:nMin ;

.and. ::nVPos <= ::oDlg:oVScroll:nMax

::oDlg:oVScroll:SetPos(nNewPos)

SysRefresh()

ScrollWindow( ::oDlg:hWnd, 0, ;

(::nVPos - nNewPos )*D_HEIGHT, ;

0 , GetClientRect(::oDlg:hWnd) )

::nVPos := nNewPos

endif

RETURN( NIL )

METHOD VScrollTrack(nNewPos) CLASS TScrDlg

if ::nVPos >= ::oDlg:oVScroll:nMin ;

.and. ::nVPos <= ::oDlg:oVScroll:nMax

::oDlg:oVScroll:SetPos(nNewPos)

SysRefresh()

ScrollWindow( ::oDlg:hWnd, 0, ;

(::nVPos - nNewPos )*D_HEIGHT, ;

0 , GetClientRect(::oDlg:hWnd) )

::nVPos := nNewPos

endif

RETURN( NIL )

METHOD VScrollPgDown() CLASS TScrDlg

LOCAL nNewPos

if ::nVPos < ::oDlg:oVScroll:nMax

nNewPos := ::nVPos + ::oDlg:oVScroll:nPgStep

nNewPos := iif(nNewPos > ::oDlg:oVScroll:nMax, ::oDlg:oVScroll:nMax, nNewPos)

SysRefresh()

ScrollWindow( ::oDlg:hWnd, 0, ;

( ::nVPos - nNewPos )*D_HEIGHT, ;

0 , GetClientRect(::oDlg:hWnd) )

::nVPos := nNewPos

endif

RETURN( NIL )

METHOD VScrollPgUp() CLASS TScrDlg

LOCAL nNewPos

if ::nVPos > ::oDlg:oVScroll:nMin

nNewPos := ::nVPos - ::oDlg:oVScroll:nPgStep

nNewPos := iif(nNewPos < ::oDlg:oVScroll:nMin,::oDlg:oVScroll:nMin,nNewPos)

SysRefresh()

ScrollWindow( ::oDlg:hWnd, 0, ;

( ::nVPos - nNewPos )*D_HEIGHT, ;

0 , GetClientRect(::oDlg:hWnd) )

::nVPos := nNewPos

endif

RETURN( NIL )

//=================================================================

//-* Horizontal Scroll Bar

METHOD HScroll() CLASS TScrDlg

LOCAL nNewPos

if ::nHPos >= ::oDlg:oHScroll:nMin ;

.and. ::nHPos <= ::oDlg:oHScroll:nMax

nNewPos := ::oDlg:oHScroll:GetPos()

SysRefresh()

ScrollWindow( ::oDlg:hWnd, ;

(::nHPos - nNewPos )*D_WIDTH,0, ;

0 , GetClientRect(::oDlg:hWnd) )

::nHPos := nNewPos

endif

RETURN( NIL )

METHOD HScrollThumb(nNewPos) CLASS TScrDlg

if ::nHPos >= ::oDlg:oHScroll:nMin ;

.and. ::nHPos <= ::oDlg:oHScroll:nMax

::oDlg:oHScroll:SetPos(nNewPos)

SysRefresh()

ScrollWindow( ::oDlg:hWnd, ;

(::nHPos - nNewPos )*D_WIDTH,0, ;

0 , GetClientRect(::oDlg:hWnd) )

::nHPos := nNewPos

endif

RETURN( NIL )

METHOD HScrollTrack(nNewPos) CLASS TScrDlg

if ::nHPos >= ::oDlg:oHScroll:nMin ;

.and. ::nHPos <= ::oDlg:oHScroll:nMax

::oDlg:oHScroll:SetPos(nNewPos)

SysRefresh()

ScrollWindow( ::oDlg:hWnd, ;

(::nHPos - nNewPos )*D_WIDTH,0, ;

0 , GetClientRect(::oDlg:hWnd) )

::nHPos := nNewPos

endif

RETURN( NIL )

METHOD HScrollPgDown() CLASS TScrDlg

LOCAL nNewPos

if ::nHPos < ::oDlg:oHScroll:nMax

nNewPos := ::nHPos + ::oDlg:oHScroll:nPgStep

nNewPos := iif(nNewPos > ::oDlg:oHScroll:nMax, ::oDlg:oHScroll:nMax, nNewPos)

SysRefresh()

ScrollWindow( ::oDlg:hWnd, ;

( ::nHPos - nNewPos )*D_WIDTH,0, ;

0 , GetClientRect(::oDlg:hWnd) )

::nHPos := nNewPos

endif

RETURN( NIL )

METHOD HScrollPgUp() CLASS TScrDlg

LOCAL nNewPos

if ::nHPos > ::oDlg:oHScroll:nMin

nNewPos := ::nHPos - ::oDlg:oHScroll:nPgStep

nNewPos := iif(nNewPos < ::oDlg:oHScroll:nMin,::oDlg:oHScroll:nMin,nNewPos)

SysRefresh()

ScrollWindow( ::oDlg:hWnd, ;

( ::nHPos - nNewPos )*D_WIDTH,0, ;

0 , GetClientRect(::oDlg:hWnd) )

::nHPos := nNewPos

endif

RETURN( NIL )

//=* End of File =================================================

procedure AppSys // Xbase++ requirement

return

id=code>id=code>

[]´s

552.jpg

Luiz Augusto

São José dos Pinhais - PR

xHarbour + Fivewin + Workshop + Sql via Odbc

Vamos Aderir:"Retorne avisando se a dica funcionou"

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...