Avatar billede amhmaster Nybegynder
06. november 2002 - 12:32 Der er 5 kommentarer og
1 løsning

Musehjul i TScrollBox

Jeg anvender Delphi 5.01, og jeg gør følgende:

1. Opretter ny applikation
2. Dropper en TScrollBox på mainformen.
3. Dropper et TPanel i scrollboxen.
4. Sætter panelets højde til 1000, så scrollboxens scrollbar vises.

Musehjulet fungerer perfekt, også når musepilen er over panelet.

Mit problem er, at hvis jeg dropper endnu et panel ovenpå det første panel, virker musehjulet ikke, når pilen er over panel 2. Hjulet virker kun på de komponenter, der ligger direkte på scrollboxen.

Hvordan kan jeg få musehjulet til at virke over alle komponenter i en scrollbox, også de komponenter, der ikke ligger direkte på scrollboxen?
Avatar billede borrisholt Novice
06. november 2002 - 12:39 #1
Send lige mig projekter .. så knækker jeg den. Fordi Musehjuler virker ikke i D5

Jens B
Avatar billede amhmaster Nybegynder
06. november 2002 - 12:58 #2
Her kommer mainformens unit, efterfulgt af .dfm-filen.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TForm1 = class(TForm)
    ScrollBox1: TScrollBox;
    Panel1: TPanel;
    Panel2: TPanel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

end.

------------------------------------------


object Form1: TForm1
  Left = 196
  Top = 140
  Width = 870
  Height = 640
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object ScrollBox1: TScrollBox
    Left = 96
    Top = 64
    Width = 553
    Height = 481
    TabOrder = 0
    object Panel1: TPanel
      Left = 128
      Top = 56
      Width = 297
      Height = 1000
      Caption = 'Panel1'
      TabOrder = 0
      object Panel2: TPanel
        Left = 16
        Top = 24
        Width = 257
        Height = 513
        Caption = 'Panel2'
        TabOrder = 0
      end
    end
  end
end
Avatar billede amhmaster Nybegynder
07. november 2002 - 15:04 #3
Jo, musehjulet VIRKER faktisk under Delphi 5 i en scrollbox. Bare ikke, hvis der ligger mere end ét lag komponenter i scrollboxen...

PS: Jeg kører Windows 2000 SP2 med MS IntelliPoint driver til musen, som er en MS Wireless Wheel Mouse.
Avatar billede amhmaster Nybegynder
08. november 2002 - 11:40 #4
Never mind. Jeg fandt en løsning.
Avatar billede borrisholt Novice
08. november 2002 - 11:41 #5
Ja jeg har ikke lige kigget på den .. Men jeg vil gerne se den ...
Avatar billede amhmaster Nybegynder
08. november 2002 - 11:51 #6
Formens OnMouseWheel assignes, og i den udfører jeg følgende linie:

ScrollBox1.VertScrollBar.Position:=ScrollBox1.VertScrollBar.Position-(WheelDelta div 4);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester