AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi In Grid scrollen ohne Markierung zu verlieren
Thema durchsuchen
Ansicht
Themen-Optionen

In Grid scrollen ohne Markierung zu verlieren

Ein Thema von Moony · begonnen am 27. Aug 2008 · letzter Beitrag vom 27. Aug 2008
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

In Grid scrollen ohne Markierung zu verlieren

  Alt 27. Aug 2008, 08:16
Datenbank: MySQL • Zugriff über: Corelab MyDAC
Hallo zusammen,

ich verwende für das Scrollen mit der Mousse eine Routine, damit beim Scrollen in einem DBGrid nicht die bereits getätigte Markierung verloren geht. Die sieht folgendermaßen aus:

Delphi-Quellcode:
procedure TfmMain.AppMessage(var Msg: TMsg; var Handled: Boolean);
var DBGrid : TDBGrid;
    CRDBGrid : TCRDBGrid;
begin
  if not fmMain.Showing then Exit;
  {Mouse wheel behaves strangely with dbgrids - this proc sorts this out}
  if Msg.message = WM_MOUSEWHEEL then
  begin
    if (Screen.ActiveControl is TDBGrid) or (Screen.ActiveControl is TCRDBGrid)then
    begin
      if Screen.ActiveControl is TDBGrid then
      begin
         DBGrid := Screen.ActiveControl as TDBGrid;

        if Msg.wParam > 0 then
          Msg.wParam := SendMessage(DBGrid.Handle, WM_VSCROLL, SB_LINEUP, 0)
        else Msg.wParam := SendMessage(DBGrid.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
      end
      else if Screen.ActiveControl is TCRDBGrid then
      begin
         CRDBGrid := Screen.ActiveControl as TCRDBGrid;

        if Msg.wParam > 0 then
          Msg.wParam := SendMessage(CRDBGrid.Handle, WM_VSCROLL, SB_LINEUP, 0)
        else Msg.wParam := SendMessage(CRDBGrid.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
      end;
      Handled := False;
    end;
  end;
end;
Der Part mit dem TDBGrid funktioniert einwandfrei. Somit habe ich die Routine um das TCRDBGrid erweitert. Mit diesem Grid passiert jedoch nichts. Es geht die Markierung verloren und er scrollt einfach durch die Datensätze.

Weiß jemand eine Möglichkeit das Ganze auch an ein TCRDBGrid anwenden zu können?

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#2

Re: In Grid scrollen ohne Markierung zu verlieren

  Alt 27. Aug 2008, 14:34
Ich habs gelöst!

Wen's interessiert:

Die Handled - Variable muß anstatt am Ende, beim TDBGrid auf False und beim TCRDBGrid aber auf True gesetzt werden.

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  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 01:05 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