[C++] - Mousewheel Zoom?

GeileEier

Mitglied
hallo,
ich möchte in C++ ein kleines programm schreiben welches den inhalt vom "aktiven fenster" mithilfe des "maus-rad" heran zoomen kann...

nach langer google suche habe ich was gefunden...kann damit aber nicht viel anfangen... könnt ihr mir vieleicht helfen
hier mal das was ich in google gefunden haben.........

PHP:
//--------------------------------- code MouseWheel zoom feature -----------------------\
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta)
{
if(delta > 0)
{
zoom._xscale *= 1.1;
zoom._yscale *= 1.1;
}
else
{
if(mc_scale < zoom._xscale)
{
zoom._xscale*=0.9;
zoom._yscale*=0.9;
}
if(mc_scale >= zoom._xscale)
{
_global.container._x = mc_X;
_global.container._y = mc_Y;
}
}
}
Mouse.addListener(mouseListener);
//--------------------------------- end MouseWheel zoom code -----------------------\
 
Hallo,
könntest du das bitte etwas genauer beschreiben?
Willst du die Textgröße verändern oder einfach den Inhalt des Fensters wie mit einer Lupe zoomen? Oder die größe des Fensters verändern?

Achja, und dein Code den du geschickt hast ist JavaScript und kein C++.
 
hallo und danke für deine antwort....

ich möchte ein programm schreiben....
wenn ich es starte soll es den kompletten inhalt eines anderen AKTIVEN FENSTERS (z.b. firefox, ) mit dem maus-rad zoomen können... (wie mit einer lupe)

ist das in C++ möglich oder sollte ich eine andere sprache benutzen
 
Das wäre "theoretisch" machbar, aber sehr umständlich. Du könntest ein Screenshot des Fensters machen, dieses vergrößern(fenster größe entsprechend anpassen) und in das fenster zeichnen. Jetzt müsstest du alle nachrichten die an das Fenster gehen konvertieren(maus koordinaten anpassen), den repaint durch einen eigenen ersetzen...

Das ist sehr aufwendig. Ich würde das mit einer Dll injektion lösen:
du lädst eine .dll in den process des fensters und machst was ich oben beschrieben habe. Ich sage dir aber im Vorraus, das das sehr serh schwer wird.
-----------

Was mir da noch eingefallen ist:
Sobald du mit das mausrad über einem fenster drehst wird ein prozess der das überwacht einen anderen prozess starten: "zoom.exe 0x00342(fensterhandle)" welcher dann das betroffene Fenster mit einer SW_HIDE message ausblendet und ein neues erstellt in welches er den vergrößerten Inhalt direkt zeichnet. Alle mouseklick/keydown messages werden dann an das unsichtbare weitergeleitet.

Da gibt es mehrere Ansätze eventuell haben da Grafikkartenhersteller ja noch irgendwelche Schnittstellen dazu...
 
Zuletzt bearbeitet:
Zurück