Mausradprobleme in Visual Basic 6

Veröffentlicht: 21. Jun 2004 | Aktualisiert: 15. Nov 2004

Von Mathias Schiffer

Auf dieser Seite

 Aus der Visual Basic Newsgroup microsoft.public.de.vb:
 IntelliPoint als Übersetzer
 Rudern Sie zurück!
 Noch immer Probleme?

Die Microsoft Newsgroups sind eine Quelle schier unerschöpflichen Wissens, das nahezu auf Knopfdruck abrufbar ist: Hunderte deutschsprachige Entwickler vom Einsteiger bis zum Profi treffen sich hier täglich virtuell, um Fragen zu stellen oder zu beantworten. Auch themennahe Probleme, Ansichten und Konzepte werden miteinander diskutiert. Sie kennen die Microsoft Newsgroups noch nicht? Detaillierte Information für Ihre Teilnahme finden Sie auf der Homepage der Microsoft Support Newsgroups. Diese Kolumne greift regelmäßig ein besonders interessantes oder häufig nachgefragtes Thema aus einer der Entwickler-Newsgroups auf und arbeitet es aus.

Aus der Visual Basic Newsgroup microsoft.public.de.vb:

Wie kriege ich die VB-IDE dazu, im Editorfenster das MS Mausrad zu unterstützen? Ist dies Bestandteil eines bestimmten ServicePacks?

Die Standardtreiber für Mäuse verhelfen dem Rad einer Maus dazu, beim Drehen des Rads durch den Anwender die Windows-Fensternachricht WM_MOUSEWHEEL auszulösen. Der Windows Explorer, die meisten Office-Anwendungen und der Internet Explorer "verstehen" diese Nachricht und können sie entsprechend umsetzen.

Der Code-Editor von Visual Basic hingegen stammt noch aus einer Zeit, in der das praktische Rädchen an einer Maus noch wenig verbreitet war. Doch auch mit späteren Service Packs erlernte Visual Basic 6.0 die neue Nachricht bedauerlicherweise nicht.

Möglicherweise werden Sie sich wundern, warum trotzdem einige Fenster von Visual Basic 6.0 (etwa das Projektexplorer-Fenster) die Nachrichten des Mausrads verstehen: Dies liegt daran, dass für diese Bereiche Standardfenster von Windows verwendet wurden (im Beispiel etwa ein Windows TreeView Control). Da die Standardfenster der neueren Windows-Versionen die Nachricht des Mausrads verstehen, reagieren sie automatisch wie gewünscht - selbst dann, wenn die beherbergende Anwendung nicht den blassesten Schimmer von Mausradnachrichten hat.

Um das Problem zu lösen, ist dafür zu sorgen, dass die "neue" Nachricht WM_MOUSEWHEEL für ältere Anwender und deren Fenster so umgesetzt wird, dass die Empfänger der Nachricht eine Scrollnachricht erhalten. Ein solcher "Übersetzer" würde etwa eine Abwärtsdrehung des Mausrads umsetzen in die altbekannte Nachricht WM_VSCROLL, die bei vertikalem Scrollen mithilfe einer Scrollbar auftritt.

 

IntelliPoint als Übersetzer

Microsoft hat schon früh zusätzlich zu den normalen Maustreibern für die ersten Mäuse mit Mausrädchen die Software "IntelliPoint" eingeführt und Mäusen mit erweiterten Möglichkeiten beigelegt. Mit ihrer Hilfe können Sie die Anzahl der Scrollzeilen pro Raddrehung, eine Beschleunigung für den Scrollvorgang und diverse weitere Einstellungen vornehmen. Und wenn Sie, wie der Autor, irgendwann in Zeiten der ersten Microsoft IntelliMouse maustechnisch aus der Konkurrenzecke übergesiedelt sind, dann wird Ihnen besonders die Einstellmöglichkeit der Aktion bei der Betätigung des Mausrads als mittlere Maustaste zusagen.

Viel wichtiger aber ist, dass IntelliPoint auch die Umsetzung der Nachricht WM_MOUSEWHEEL für ältere Anwendungsfenster übernimmt. Das heißt: Mit installierter IntelliPoint-Software sollte das Problem, im VB6-Codefenster nicht scrollen zu können, idealerweise bereits gelöst sein. Verzweifeln Sie jedoch nicht, wenn dem trotzdem nicht so ist…

Wie die meisten Softwarepakete hat sich auch die IntelliPoint-Software über die Zeit verändert. So wurden etwa mit neuen Versionen Listen von unterstützen Maustypen eingeführt, über die man für diese Mäuse jeweils besondere Tasten belegen kann. An anderen Stellen wurde Funktionalität entfernt.

Installieren Sie etwa die heute aktuellste Version von Microsoft IntelliPoint (Version 5.0), so bleibt Ihrer Visual Basic 6.0 Entwicklungsumgebung das Mausrad im Codefenster wieder vorenthalten. Ab Version 4.9 nämlich hat Microsoft die notwendige Funktionalität aus IntelliPoint wieder entfernt. Trotzdem wurde auch mit dem finalen Service Pack 6 für Visual Studio 6 die Funktionalität nicht ersatzweise in die betagte Entwicklungsumgebung verschoben - ein Schelm, wer Böses denkt.

 

Rudern Sie zurück!

Die Lösung des Problems scheint nun auf der Hand zu liegen: Um Visual Basic zur Zusammenarbeit mit dem Mausrad zu überreden, müssen Sie auf eine ältere Version der IntelliPoint-Software zurückgreifen. So erhalten Sie wieder die benötigte Funktionalität.

Von Microsoft erhalten Sie etwa bis heute die Version 4.12 der Software in deutscher und in englischer Version von der Microsoft Homepage für Maus- und Tastaturtreiber:

Allerdings offenbaren sich über diesen Weg zwei neue Probleme, die nicht verschwiegen bleiben sollen.

Das erste Problem ist offensichtlich: Eine ältere Version der Software unterstützt möglicherweise Ihr konkretes Mausprodukt in einem sehr speziellen Feature nicht. Hierfür müssen Sie leider abwägen, welche Funktionalität Ihnen wichtiger ist.

Das zweite Problem findet sich in Microsoft Windows Server 2003 - dem großen Bruder von Windows XP: Windows Server 2003 verweigert die Installation der IntelliPoint-Software (auch im Kompatibilitätsmodus). Unter diesem Betriebssystem können Sie den Tipp also nicht einsetzen.

Doch auch für Windows Server 2003 findet sich noch Abhilfe: Eine noch ältere Version von IntelliPoint, Version 3.2, weist die künstliche Installationsbremse nicht auf. Sie lässt sich - wenn auch nur unter Murren, das Sie ignorieren können - auch unter Windows Server 2003 installieren.

Natürlich gilt hierfür noch viel mehr, dass Sie auf spezifische Möglichkeiten Ihrer Maus möglicherweise verzichten müssen. Zusätzlich entsteht ein Beschaffungsproblem: Einen offiziellen Download für IntelliPoint 3.2 gibt es schon seit geraumer Zeit nicht mehr.

 

Noch immer Probleme?

Sollte selbst die Version 4.12 von IntelliPoint Ihr Problem noch nicht gelöst haben oder Ihr Problem trotz installierter Version 4.12 zu einem späteren Zeitpunkt wieder auftreten, so können Sie einen weiteren Lösungsschritt unternehmen:
Im folgenden Artikel in der englischsprachigen Microsoft Kowledge Base können Sie ein AddIn für die Visual Basic 6.0 Entwicklungsumgebung herunterladen. Es kümmert sich um den letzten Feinschliff. Bitte beachten Sie die Installationsanweisungen auf der Artikelseite:

Beachten Sie bitte, dass auch mit Verwendung des AddIns die Installation der Version 4.12 von IntelliPoint notwendig ist!