Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Maus Scrollen im StringGrid (https://www.delphipraxis.net/13302-maus-scrollen-im-stringgrid.html)

Piro 15. Dez 2003 19:07


Maus Scrollen im StringGrid
 
Moin

ich arbeit mit Delphi 3.

Situation: Füher habe ich mit Delphi 6 gearbeitet und meine Programme bzw. mein StringGrid hat auf das Mausrad
reagiert und man konnte scrollen. Jetzt bei Delphi 3 passiert nichts beim Betätigen des Scrollrades.

Frage: Woran kann das liegen?

Ich hoffe einer von Euch kann mir helfen.

Danke.

Sven

OLLI_T 15. Dez 2003 19:28

Re: Maus Scrollen im StringGrid
 
HY Sven!

Weil es zu dem Zeitpunkt, als Delphi 3 das Licht der Welt erblickte, noch keine WM_MOUSEWHEEL Message gab. Somit wurde die Geschichte auch nicht mit in TStringGrid bzw. TWinControl mit implementiert.

Warum arbeistet Du nicht mehr mit Delphi 6. Oder planst du etwa schon den Umstieg zu Delphi 1??? :mrgreen:

Viele Grüsse

OLLI

Piro 15. Dez 2003 19:50

Re: Maus Scrollen im StringGrid
 
ich brauchte eine Professionell Version. Und da bot sich Delphi 3 am besten an.

Ich würde ja gerne auf 6 Prof oder sogar D7 Prof upgraden aber das ist ganz so einfach und billig. Hast du eventuell einen Tip?

Ansonsten Danke für deine schnelle Antwort.

eddy 18. Dez 2003 00:16

Re: Maus Scrollen im StringGrid
 
Hallo daywalker299,

ich weiß zwar nicht, ob der nachfolgende Code in Version 3 funktioniert, aber Du kannst es ja mal probieren.

Code:
program BrwRun;
// ....
begin
  Application.Initialize;

  // eingefügt:
  // läßt Scroll-Rad in DBGrid richtig funktionieren }
  Application.OnMessage := FBrwRun.AppMessage;
  // ....
end;

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

unit BrwRun1;
  // ....
  public
    { Public-Deklarationen }
    procedure AppMessage(var Msg: TMsg; var Handled: Boolean);
  // ....


procedure TFBrwRun.AppMessage(var Msg: TMsg; var Handled: Boolean);
var
  i : smallint;
begin
  if Msg.message = WM_MOUSEWHEEL then begin
    Msg.message := WM_KEYDOWN;
    Msg.lParam := 0;
    i := HiWord(Msg.wParam);
    if i > 0 then Msg.wParam := VK_UP
             else Msg.wParam := VK_DOWN;
    Handled := false;
  end;
end;
mfg
eddy


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 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