AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Scrollbox, Paintbox und auf Scrollrad reagieren
Thema durchsuchen
Ansicht
Themen-Optionen

Scrollbox, Paintbox und auf Scrollrad reagieren

Ein Thema von Touchdown · begonnen am 12. Nov 2003 · letzter Beitrag vom 13. Nov 2003
Antwort Antwort
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#1

Scrollbox, Paintbox und auf Scrollrad reagieren

  Alt 12. Nov 2003, 11:08
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:
Paintbox := TPaintBox.Create (self);
Paintbox.OnClick := ScrollBox1.OnClick;
ScrollBox1.ControlStyle := ScrollBox1.ControlStyle + [csAcceptsControls];
Paintbox.Parent := ScrollBox1;
Paintbox.Align := alClient;
Was mich allerdings noch stört ist, es wird nicht auf mein Maus-Scrollrad reagiert.

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!
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#2

Re: Scrollbox, Paintbox und auf Scrollrad reagieren

  Alt 12. Nov 2003, 16:30
Hallo Touchdown,

probier' mal, ob Dir das weiterhilft:

Delphi-Quellcode:
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;
In TDBGrid, TListBox und TComboBox wirkt's.

mfg
eddy

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#3

Re: Scrollbox, Paintbox und auf Scrollrad reagieren

  Alt 13. Nov 2003, 10:30
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).
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#4

Re: Scrollbox, Paintbox und auf Scrollrad reagieren

  Alt 13. Nov 2003, 10:59
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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Scrollbox, Paintbox und auf Scrollrad reagieren

  Alt 13. Nov 2003, 11:28
Zitat von eddy:
...Vielleicht kann uns ja einer der Moderatoren dazu einen Tip geben....
Hai eddy,

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.

In diesem Fall sollten wir mal einen der API-Profis fragen. Die wissen da sicher mehr drüber.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  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 22:18 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