Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Intellimouse Support

Posted on 1998-11-05
9
142 Views
Last Modified: 2010-04-03
Is there any Freeware Compoment for IntelliMouse Support ?
or can someone write the code how to support IntelliMouse
on All my Forms ?

Thanx
0
Comment
Question by:k6__
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 2

Author Comment

by:k6__
ID: 1345826
Edited text of question
0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 1345827
If you want components looks at these:

http://ourworld.compuserve.com/homepages/S_Page/wheelms.zip
http://ftp/d20free/mswheel.zip (on DSP)

If you are using D4 then use the OnMouseWheel, OnMouseWheelUp and  OnMouseWheelDown events.

If you are not using D4 then you will need to handle the wm_mousewheel message.

Cheers,

Raymond.

0
 
LVL 2

Author Comment

by:k6__
ID: 1345828
i need freeware components or sample .. i don't have money to
pay them =(

Thanx
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 10

Expert Comment

by:viktornet
ID: 1345829
What's an intelli mouse anyway???

Viktor
0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 1345830
The second one is free:

http://ftp/d20free/mswheel.zip (on DSP)

Cheers,

Raymond.

Viktor: An Intellimouse is made by Microsoft and has a little wheel in between the two mouse button so you can move the scrollbar.
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1345831
Oh, my mother's computer has got one of those since she bought the computer about 5 weeks ago. I'm still using Win95 and my old 133MHz computer....
0
 
LVL 2

Author Comment

by:k6__
ID: 1345832
ermh sorry again =) .. i want the source not just the DCU's only.

0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 1345833
Are you using D4?
0
 
LVL 4

Accepted Solution

by:
BoRiS earned 100 total points
ID: 1345834
K6___

I recieved this not so long ago, it shows how to trap the mousewheel message in windows 9x and send a mesage is NT for the mouse
    wheel...this should shed so light...

     
                  unit Unit1;
                   
                  interface
                   
                  uses
                    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
                  StdCtrls, ComCtrls;
                   
                  type
                    (*
                    WM_MOUSEWHEEL
                    fwKeys = LOWORD(wParam); // key flags
                    zDelta = (short) HIWORD(wParam); // wheel rotation
                    xPos = (short) LOWORD(lParam); // horizontal position of pointer
                    yPos = (short) HIWORD(lParam); // vertical position of pointer
                   
                    fwKeys: Value of the low-order word of wParam. Indicates whether
                            various virtual keys are down. This parameter can be any
                            combination of the following values:
                                MK_CONTROL Set if the CTRL key is down.
                                MK_LBUTTON Set if the left mouse button is down.
                                MK_MBUTTON Set if the middle mouse button is down.
                                MK_RBUTTON Set if the right mouse button is down.
                                MK_SHIFT Set if the SHIFT key is down.
                    *)
                    TWMMouseWheelNT = record
                      msg: Cardinal; // msg
                      fwKeys: smallint;
                      rotation: smallint; // wParam
                      mousepos: TSmallPoint; // lParam
                      result: longint;
                    end;
                   
                    TWMMouseWheel95 = record
                      msg: Cardinal; // msg
                      rotation: integer; // wParam
                      mousepos: TSmallPoint; // lParam
                      result: longint;
                    end;
                   
                    TForm1 = class(TForm)
                      Button1: TButton;
                      Memo1: TRichEdit;
                      procedure FormCreate(Sender: TObject);
                      procedure Button1Click(Sender: TObject);
                    private
                      { Private declarations }
                      FWheelMsg: Cardinal;
                    protected
                      { Protected declarations }
                      procedure wheelMove(numScroll: integer);
                    public
                      { Public declarations }
                      procedure WndProc(var Message: TMessage); override;
                      procedure WMMouseWheel(var Msg: TWMMouseWheelNT);
                                message WM_MOUSEWHEEL;
                    end;
                   
                  var
                    Form1: TForm1;
                   
                  implementation
                   
                  {$R *.DFM}
                   
                  procedure TForm1.FormCreate(Sender: TObject);
                  begin
                    Memo1.Lines.LoadFromFile('C:\WINDOWS\WIN.INI');
                   
                    // line below only is meaningfull under Windows 95
                    FWheelMsg := RegisterWindowMessage('MSWHEEL_ROLLMSG');
                  end;
                   
                  procedure TForm1.wheelMove(numScroll: integer);
                  var
                    i: integer;
                  begin
                    if (numScroll > 0) then
                      for i := 0 to numScroll do
                        SendMessage(Memo1.Handle, WM_VSCROLL, SB_LINEUP, 0)
                    else
                      for i := 0 downto numScroll do
                        SendMessage(Memo1.Handle, WM_VSCROLL, SB_LINEDOWN, 0);
                  end;
                   
                  procedure TForm1.WndProc(var Message: TMessage);
                  begin
                    // called only under Windows 95
                    inherited WndProc(Message);
                    if (TMessage(Message).Msg = FWheelMsg) then
                      wheelMove( TWMMouseWheel95(Message).Rotation div WHEEL_DELTA );
                  end;
                   
                  procedure TForm1.WMMouseWheel(var Msg: TWMMouseWheelNT);
                  begin
                    // called only under NT 4
                    wheelMove( msg.Rotation div WHEEL_DELTA );
                  end;
                   
                  procedure TForm1.Button1Click(Sender: TObject);
                  begin
                    Close;
                  end;
                   
                  end.

Thank you to Peter Below for this...

this is how to add the functionallity in windows 9x and NT read the comments in the code for more info, if you are using delphi 4 then there are the OnMouseWheel, OnMouseWheelDown, OnMouseWheelUp....

Later
BoRiS
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question