AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListView Button Ereignisse

Ein Thema von Opa · begonnen am 1. Okt 2009 · letzter Beitrag vom 2. Okt 2009
Antwort Antwort
Benutzerbild von Opa
Opa

Registriert seit: 12. Jun 2003
107 Beiträge
 
Delphi 7 Enterprise
 
#1

ListView Button Ereignisse

  Alt 1. Okt 2009, 18:55
Wenn bei einem TlistView dir Scrollleiste sichtbar wird und damit auch die beiden Buttons (mit den Pfeilen L+R)
Wenn man jetzt auf die Buttons drückt: Welcher Ereignis wird dann ausgelöst.
Ich meine nicht:
procedure WMVScroll(var Msg: TWMVScroll); message WM_VSCROLL;
procedure WMHScroll(var Msg: TWMHScroll); message WM_HSCROLL;
das wird beim verschieben der Scrollleiste ausgelöst. Damit läst sich die Position der Scrollleiste feststellen.
Anders bei den Buttons da läst sich nicht feststellen wo sich die Scrollleiste gerade befindet.
Danke

Siehe Zeichnung
Miniaturansicht angehängter Grafiken
lview_212.jpg  
Wenn man nicht weiß was man sucht, findet man auch mit Google nichts.
Bevor ich hier eine Frage stelle, wurde Google vorher befragt. Hinweise dieser Art kann man sich schenken. Im übrigen muss mir niemand antworten.
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#2

Re: ListView Button Ereignisse

  Alt 2. Okt 2009, 10:58
Hallo,

wenn Message.Msg = WM_VSCROLL oder WM_HSCROLL und Message.Scrollcode = SB_LINEUP oder SB_LINEDOWN, dann wurde mit den Buttons gescrollt.

Message.Pos liefert aber dann 0, wie Du schon geschrieben hast.

Die Position kann man mit GetScrollPos(Handle,SB_VERT{B_HORZ}); abfragen
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von Opa
Opa

Registriert seit: 12. Jun 2003
107 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: ListView Button Ereignisse

  Alt 2. Okt 2009, 13:00
Damit geht es!
Ich leite gerade eine Klasse von TlistView ab und habe auf (TDhListView = class(TCustomControl))
einen Header drauf, den ich mit scrollen muß. Hier das Erg. meiner Bemühungen. Damit andere daraus ggf. einen Nutzen haben.

Delphi-Quellcode:
procedure WMHScroll(var Msg: TWMHScroll); message WM_HSCROLL;
procedure LV_VHScroll(var Msg: TMessage);message WM_DH_LIESTVIEW;//= WM_USER + X
AHeaderControl : THeaderControl;

//constructor TListView.Create(AOwner: TComponent);
//begin
//AHandle := TWinControl(AOwner).Handle;

....
procedure TListView.WMHScroll(var Msg: TWMHScroll);
var
  SBH : integer;
begin
  inherited;
  SBH := GetScrollPos(Handle,SB_HORZ);
  SendMessage(AHandle,WM_DH_LIESTVIEW,SBH,integer(@Msg));
  Invalidate;
end;

///--------------------------------------------------------------
procedure TDhListView.LV_VHScroll(var Msg: TMessage);
var
  WMMsg : ^TMessage;
begin
  WMMsg := Pointer(Msg.LParam);
  case WMMsg.Msg of
    WM_HSCROLL : begin
                   AHeaderControl.Left := 2-Msg.WParam;
                   AHeaderControl.Width := AListView.Width + -2+Msg.WParam;
                 end;
  end;
end;
Wenn man nicht weiß was man sucht, findet man auch mit Google nichts.
Bevor ich hier eine Frage stelle, wurde Google vorher befragt. Hinweise dieser Art kann man sich schenken. Im übrigen muss mir niemand antworten.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz