Tips.11 C++Builder/Windowsプログラミング
インテリマウス(InteliiPoint等)を使う。

インテリマウスのホイールを検知するには、Windows95の場合通常のメッセージハンドリングでは実現できません。
これは、メッセージの番号が環境によって動的に変化するためです。

インテリマウスのホイールイベントを取得するには、
unsigned int InteliiWheelMsg = RegisterWindowMessage("MSWHEEL_ROLLMSG");
で取得します。
処理部分を記述するために、WndProcをオーバライドします。
例)

//ヘッダ
class TForm1 : public TForm
{
...
private:
unsigned int IntelliWheelMsg;
protected:
virtual void __fastcall WndProc(TMessage* Message);
...
};

//Cソース
__fastcall TForm1::TForm1(TComponent* AOwner) : TForm(AOwner)
{
IntelliWheelMsg = RegisterWindowMessage("MSWHEEL_ROLLMSG");
}
void __fastcall TForm1::WndProc(TMessage* Message)
{
if (Message.Msg == IntelliWheelMsg)
{
//ここに処理を記述する。
//Msg.WParamHi key flags
//Msg.WParamLo wheel rotation (zDelta)
//Msg.LParamHi horizontal position of pointer
//Msg.LParamLo vertical position of pointer
}
TWinControl::WndProc(Message);
}

戻る [参照] WIN32API Referenceの WM_WHEEL