Para Antonio - Como rolar header e Footer de THEADER
Para Antonio - Como rolar header e Footer de THEADER
Olá Antonio,
Estou a fazer algumas mudanças na classe WBROWSE e eu gostaria de saber se você poderia me dar uma dica de como fazer o Header e Footer rolar na tela quando eu clicar no objeto SCROLL.
Eu estou usando a classe THEADER de FWH.
Desde já agradeço qualquer ajuda
Obrigado,
Rossine.
Estou a fazer algumas mudanças na classe WBROWSE e eu gostaria de saber se você poderia me dar uma dica de como fazer o Header e Footer rolar na tela quando eu clicar no objeto SCROLL.
Eu estou usando a classe THEADER de FWH.
Desde já agradeço qualquer ajuda
Obrigado,
Rossine.
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Olá Antonio,
Excuse I am using me a translator
nLeft already is like 0 itself be subtracted I is stayed negative film strip and the Header/Footer is disappearing of the screen
See this image:
Talvez isto seria a solução:
Se for isto a solução, como faço para inseri-lo em theaders.c ?
Gracias,
Rossine.
Excuse I am using me a translator
nLeft already is like 0 itself be subtracted I is stayed negative film strip and the Header/Footer is disappearing of the screen
See this image:
Talvez isto seria a solução:
Code: Select all
The HD_LAYOUT structure contains information used to set the size and position of a header control.
typedef struct _HD_LAYOUT { // hdl
RECT FAR* prc;
WINDOWPOS FAR* pwpos;
} HD_LAYOUT;
Members
prc
Pointer to a RECT structure that contains the coordinates of a rectangle that the header control is to occupy.
pwpos
Pointer to a WINDOWPOS structure that receives information about the appropriate size and position of the header control.
Remarks
This structure is used with the HDM_LAYOUT message.
Gracias,
Rossine.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Rossine,
Please add this code to theaders.c:
Please add this code to theaders.c:
Code: Select all
#ifdef __HARBOUR__
CLIPPER HEADERLAYOUT( PARAMS ) // hWnd [, aRect] --> aInfo
#else
CLIPPER HEADERLAYO( PARAMS ) // UT()
#endif
{
RECT prc;
WINDOWPOS pwpos;
HDLAYOUT hdlayout;
hdlayout.prc = &prc;
hdlayout.pwpos = &pwpos;
if( PCOUNT() > 1 )
{
hdlayout.prc->left = _parnl( 2, 1 );
hdlayout.prc->top = _parnl( 2, 2 );
hdlayout.prc->right = _parnl( 2, 3 );
hdlayout.prc->bottom = _parnl( 2, 4 );
}
SendMessage( ( HWND ) _parnl( 1 ), ( LONG ) HDM_LAYOUT, 0, ( LPARAM ) &hdlayout );
_reta( 7 );
_stornl( ( LONG ) hdlayout.pwpos->hwnd, -1, 1 );
_stornl( ( LONG ) hdlayout.pwpos->hwndInsertAfter, -1, 2 );
_storni( hdlayout.pwpos->x, -1, 3 );
_storni( hdlayout.pwpos->y, -1, 4 );
_storni( hdlayout.pwpos->cx, -1, 5 );
_storni( hdlayout.pwpos->cy, -1, 6 );
_stornl( hdlayout.pwpos->flags, -1, 7 );
}
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Rossine,
Also, this information may be usefull:
>>
If you want to use the HDM_LAYOUT message to set the initial size and position of a header window, you should set the initial visibility state of the window so that it is hidden (by specifying the HDS_HIDDEN style). Once you have created the window and used the HDM_LAYOUT message to get the size and position values, you can call the SetWindowPos function to set the new size, position, and visibility state.
>>
Also, this information may be usefull:
>>
If you want to use the HDM_LAYOUT message to set the initial size and position of a header window, you should set the initial visibility state of the window so that it is hidden (by specifying the HDS_HIDDEN style). Once you have created the window and used the HDM_LAYOUT message to get the size and position values, you can call the SetWindowPos function to set the new size, position, and visibility state.
>>
Olá Antonio,
Funcionou 1000%
Veja o que tive que fazer:
Veja:
Mil Gracias Maestro
Saludos,
Rossine.
Funcionou 1000%
Veja o que tive que fazer:
Code: Select all
**************
function ROLAR( cLado )
**************
if cLado = "D" && Rolar para direita
nPos += 10
else && Senão para a esquerda
nPos -= 10
endif
SetWindowPos( oHeader:hWnd, 0, 40, nPos, 1000, 40, SWP_FRAMECHANGED )
return NIL
Mil Gracias Maestro
Saludos,
Rossine.
Olá Richard,
Code: Select all
SET PORTUGUESE ON
Assim que eu tiver concluído as mudanças, irei compartilhar com todos os interessados ok ? :D
Abraços,
Rossine.
Code: Select all
SET ENGLISH ON
Like this that I will have concluded the changes, I am going to share with everybody them interested ok? :D
With best regards,
Rossine.
-
- Posts: 845
- Joined: Sun Oct 09, 2005 5:36 pm
- Location: la laguna, mexico.