Tema: Scrolbars
Ver Mensaje Individual
  #4  
Antiguo 11-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola cmfab.

Una forma que se me ocurre, es usando la funcion GetScrollInfo .


Código Delphi [-]
...
// Obtener posición horizontal
function TForm1.GetScrollHrzPos(Hnd: THandle): Integer;
var
  Info: TScrollInfo;
begin
  Info.cbSize:= SizeOf(TScrollBarInfo);
  Info.fMask:= SIF_POS;
  GetScrollInfo(Hnd, SB_HORZ, Info);
  Result:= Info.nPos;
end;

// Obtener posición vertical
function TForm1.GetScrollVerPos(Hnd: THandle): Integer;
var
  Info: TScrollInfo;
begin
  Info.cbSize:= SizeOf(TScrollBarInfo);
  Info.fMask:= SIF_POS;
  GetScrollInfo(Hnd, SB_VERT, Info);
  Result:= Info.nPos;
end;
...

Ejemplo de llamada:
Código Delphi [-]
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
begin
  if Key in [VK_LEFT, VK_RIGHT] then
    Caption:= 'Hor: ' + IntToStr(GetScrollHrzPos(TDBGrid(Sender).Handle));
  if Key in [VK_UP, VK_DOWN] then
    Caption:= 'Ver: ' + IntToStr(GetScrollVerPos(TDBGrid(Sender).Handle));
end;



Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-02-2011 a las 00:07:05.
Responder Con Cita