![]() |
Scrollbox, Paintbox und auf Scrollrad reagieren
Zu meinem Problem:
Ich habe eine Scrollbox auf einem Formular, auf diesem lege ich eine dynamisch erzeugte Instanz einer Paintbox. Die Paintbox wird gefüllt und die Scrollbox macht was man von ihr erwartet. Technisch sieht es in etwa so aus:
Delphi-Quellcode:
Was mich allerdings noch stört ist, es wird nicht auf mein Maus-Scrollrad reagiert.
Paintbox := TPaintBox.Create (self);
Paintbox.OnClick := ScrollBox1.OnClick; ScrollBox1.ControlStyle := ScrollBox1.ControlStyle + [csAcceptsControls]; Paintbox.Parent := ScrollBox1; Paintbox.Align := alClient; Im Onclick setze ich einfach den Focus auf die Scrollbox und habe eigentlich erwartet, dass es dann funktionieren würde. Dem ist aber nicht so! |
Re: Scrollbox, Paintbox und auf Scrollrad reagieren
Hallo Touchdown,
probier' mal, ob Dir das weiterhilft:
Delphi-Quellcode:
In TDBGrid, TListBox und TComboBox wirkt's.
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 [edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit] |
Re: Scrollbox, Paintbox und auf Scrollrad reagieren
Vielen Dank Eddy für deine Hilfe, ich suche aber noch etwas nach einer lokalen Lösung, ich fürchte ein wenig um die Performance meines Projektes (ziemlich groß ist).
|
Re: Scrollbox, Paintbox und auf Scrollrad reagieren
Hallo Touchdown,
hast Du das mit der Performance mal getestet? Aufgrund der Verarbeitung von Msg sollte diese eigentlich nicht in den Keller gehen, zumindest nicht auf aktueller Computertechnik (irgendetwas ab 2000 MHz). Vielleicht kann uns ja einer der Moderatoren dazu einen Tip geben. mfg eddy |
Re: Scrollbox, Paintbox und auf Scrollrad reagieren
Zitat:
nur als Anmerkung. Der "Titel" Moderator hat nichts damit zu tun wie gut einer Coden kann bzw. wie gut er sich mit Delphi auskennt. Wenn dem so währe würde ich nicht dabei sein. :stupid: In diesem Fall sollten wir mal einen der API-Profis fragen. Die wissen da sicher mehr drüber. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz