Laden...

Eine Lupe mit C#

Erstellt von KirKone vor 19 Jahren Letzter Beitrag vor 17 Jahren 32.899 Views
KirKone Themenstarter:in
45 Beiträge seit 2004
vor 19 Jahren
Eine Lupe mit C#

Hallo,

ich hab mal wieder bischen Zeit gefunden und an der Lupe weiter gebastelt:

Die Lupe kann jetzt über ein Contextmenu beendet werden.
Ein Notify Icon wurde hinzugefügt.
Die Lupe kann ausgeblendet werden indem man den Mauspfeil schnell hin und her schüttelt ( rechts, links, rechts ).
etwas weniger Speicher wird benötigt.

Schaut es euch am Besten selber an.

cu

KirK

Update:
der Bug mit der Transparents ist behoben.

Update:
einige kleinigkeiten behoben.
Strg + Shift + < = Lupe ein- und ausblenden
Strg + Shift + Y = Lupe wird geparkt
bei geparkter Lupe mit links drauf klicken und die Lupe folgt wieder dem Mauspfeil
das gleiche mit rechts aber gedrückt lassen und dann die Maus bewegen -> Größe ändert sich

viel Spass damit

Bugs bitte melden

}{4/3 |=|.[||

P
939 Beiträge seit 2003
vor 19 Jahren

Geiles Teil 😁 👍

X
2.051 Beiträge seit 2004
vor 19 Jahren

ich schließe mich Pulpapex an!

zu deinem eigentlichen Problem: http://www.codeproject.com/csharp/GlobalSystemHook.asp sollte dich weiter bringen

C
202 Beiträge seit 2004
vor 19 Jahren

Hi,

wie bewerkstelligt man denn so eine Lupe? 🤔

Mfg
Andi

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 19 Jahren
Eine Lupe mit C#

hallo,

danke an Xqgene, dass hilft mir erstmal weiter.

@Capi:
ich werde den Code von dem Programm kommentieren und veröffentlichen. Leider fehlts gerade ein wenig an zeit.

cu

KirK

}{4/3 |=|.[||

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 19 Jahren
Neue Version

hi,

ich hab eine neue Version der Lupe fertig.
Mehr Informationen im ersten Post.

cu

KirK

}{4/3 |=|.[||

X
2.051 Beiträge seit 2004
vor 19 Jahren

Original von KirKone
Die Lupe kann ausgeblendet werden indem man den Mauspfeil schnell hin und her schüttelt ( rechts, links, rechts )

wie kommt man bloß auf solche Ideen?! find ich toll die Tolle Lupe! 😁

1.985 Beiträge seit 2004
vor 19 Jahren

Morgen,

ich schließe mich den Vorrednern an. Die neue Version ist noch besser geworden. Gefällt mir echt gut die Lupe.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

X
36 Beiträge seit 2004
vor 19 Jahren

echt geiles teil!

mich wuerd der code mal interessieren, fals du ihn veroeffentlichen willst?!?!

H
704 Beiträge seit 2003
vor 19 Jahren

** Verschoben nach Projekte **

nettes Tools das 🙂

@Capi:
du kannst dir das Programm ja mit Anakrino/ildasm dekompilieren lassen 😁

[last.fm](http://www.last.fm/user/hauptmanAlpha/)
T
41 Beiträge seit 2004
vor 19 Jahren

Original von Xqgene
ich schließe mich Pulpapex an!

zu deinem eigentlichen Problem:
>
sollte dich weiter bringen

hallo.
ich hab mir die lupe auch schon runtergeladen. ich geh morgen gleich mal zu nem arbeitskollegen, der superschlecht sieht. vielleicht kann ermit dem tool ja was anfangen. =)

zu dem vorschlag von Xqgene:
ich hab genau die bibliothek ausprobiert aber einiges klappt beid er nicht so ganz. zB programmiere ich die anwendung hier mit dieser dll und alles funzt perfekt. installier (bzw kopier...bei was kleinem) ich die anwendung auf nem anderen rechner (keine angst...die dll lass ich natrürlich dabei) dann gehen manche globalhooks nicht mehr. aber wirklich nur ein paar. andere bleiben davon unberührt. ka was ich da machen soll. hast du mit der bibliothek schon mal was gemacht?

X
2.051 Beiträge seit 2004
vor 19 Jahren

Original von turndevil
... ka was ich da machen soll. hast du mit der bibliothek schon mal was gemacht?

http://www.genne-develop.com/index.shtml?shortcut

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 19 Jahren

hallo,

danke erstmal für das Lob.

Wenn ihr die Lupe testet und euch was auffällt was nicht so ist wie es sein sollte oder wie ihr es gerne hättet könnt ihr das ja gerne posten (aber nicht so viel mit einem Mal meckern, sonst verlier ich noch die Lust am basteln). 😁 😁

Zu der Sache mit den Global System Hooks:
Ich fang die Events direkt mit der Windows API. Das macht die Sache nicht unbedingt einfacher aber dafür funktioniert es.

Sobald ich den Quellcode ein wenig ausgemistet habe schenke ich euch diesen. 😁
Dann machen wir da ein Gemeinschaftsprojekt draus, erstellen die perfekte Lupe und reißen die Weltherrschaft an uns. 8)

Soweit erstmal, bis demnächst.
KirK

}{4/3 |=|.[||

X
2.051 Beiträge seit 2004
vor 19 Jahren

Original von KirKone
...und reißen die Weltherrschaft an uns. 8)

ich bin dabei! 8)

P
939 Beiträge seit 2003
vor 19 Jahren

Mir ist schon ne Kleinigkeit aufgefallen.

Wenn die Lupe gestartet wird, ist das Fenster halb transparent. Einmal im Tray minimiert und wieder hergestellt und das Fenster ist nicht mehr transparent.

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 19 Jahren

hallo,

das kommt davon wenn man unübersichtlichen Quellcode schreibt. 🤔

@Xqgene:
ich hab gerade auf deiner Seite was von InvertRect gelesen, feine Sache. Das werden ich am WE gleich mal testen.

p.s:
mir reicht eigentlich die Herrschaft über japan, den Rest der Welt lasse ich dir.

}{4/3 |=|.[||

X
2.051 Beiträge seit 2004
vor 19 Jahren

Es wäre perfekt, wenn du noch den Mauscurcor "lupen" 8o würdest.

F
16 Beiträge seit 2005
vor 19 Jahren

Wirkliches cooles Teil. Respekt 😄.

Mit freundlichen Grüßen
Frederic Schneider

D
15 Beiträge seit 2004
vor 19 Jahren

zwei vorschläge:

  • beenden mit [esc]
  • scrollrad -> vergrösserung umstellen

ansonsten 8) teil

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 19 Jahren

Hallo alle zusammen,

zu dem Mauszeiger:
ich bin gerade dabei so etwas in der Art zu machen. Dazu habe ich was interessantes auf deiner Webseite gefunden (InvertRect). Funktioniert auch schon, aber ich hab dabei noch ein kleines Problem was den Rand des Bildschirmes betrifft.

Zu den anderen Vorschlägen:
Meine Grundidee war eine Lupe zu bauen, die ganz ohne Tastatur zu bedienen ist und zwar aus folgendem Grund:
Ich habe einen Rechner, der nur an einem Fernseher angeschlossen ist. Um den Rechner vom Sofa aus bedienen zu können ist das meiste etwas zu klein. Da man da aber meistens nur die Maus zur Hand hat, wollte ich auf Tastaturbefehle weitestgehend verzichten.
Außerdem soll die Lupe das normale Bedienen des Rechners nicht beeinflussen. Will heißen, dass das Mausrad tabu ist.

Bis zum nächsten Update.

KirK

}{4/3 |=|.[||

F
16 Beiträge seit 2005
vor 19 Jahren

Original von KirKone
Außerdem soll die Lupe das normale Bedienen des Rechners nicht beeinflussen. Will heißen, dass das Mausrad tabu ist.

Als Zusatzfeature würde ich selbiges aber trotzdem nicht ausschließen. Zumindest ist Feedback und Wünsche zu diesem Thema vorhanden, so wäre es als Zusatzfeature durchaus rentabel - meiner Meinung nach.

Mit freundlichen Grüßen
Frederic Schneider

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 19 Jahren

Hallo,

@frederics

Du hast natürlich Recht, aber leider bin ich noch nicht soweit dass mein Programm globale Tastatureingaben verarbeiten kann. Ich werde dieses Feature demnächst integrieren schließlich sollte es immer mehrere Wege geben ein Programm zu beenden. Außerdem ist mir aufgefallen, dass sich das Programm mit einem Touchpad nur schlecht bis gar nicht bedienen lässt.

Ich werde euch auf dem Laufenden halten was sich so ergibt.

Bis denne
KirK

}{4/3 |=|.[||

D
15 Beiträge seit 2004
vor 19 Jahren

vielleicht auch nen zoom mit beiden maustasten gedrückt..? 😁

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren
endlich mal was neues

Hallo,

nach langer Zeit gibt es endlich mal wieder was zu sagen:

ich habe ein wenig weiter gebaut und ein par neue Sachen ergänzt.

  • Man kann jetzt die Lupe mit STRG + Shift + < ein- und ausblenden.
  • mit STRG + Shift + Y kann man die Lupe „parken“, will heißen: die Lupe bleibt an der stelle stehen aber das Bild folgt noch den Mauspfeil. Sehr praktisch wenn man einen längeren Text lesen möchte.
  • jetzt werden auch transparente Fenster (z.B: Tooltipps auf der Taskleiste) angezeigt.

Bei dem letzten Punkt habe ich gerade ein Problem:
Da die Lupe selbst ein transparentes Programm ist wird diese natürlich mit gezeichnet.
Jetzt suche ich nach einer Möglichkeit dem Bildschirm zu capturen ohne eben diese Lupe.
Ich habe schon versucht das Programm auf Visible = false zu setzen bevor das Bild gemacht wird und danach zurück, aber daraus resultiert ein wildes geflimmer L

Also wenn hier jemand ist, der sich mit der API und Window Handling auskennt und mir weiterhelfen kann würde ich mich freuen.

Ich hoffe euch bald wieder was Neues erzählen zu können.

Bis dann

KirK

}{4/3 |=|.[||

18 Beiträge seit 2004
vor 18 Jahren

Oh Mann! Das Teil ist Wunderbar.. Mit Abstand die beste Bildschirmlupe die ich bisher verwendet habe!! 8o 👍

Bekommen wir vielleicht bei Gelegenheit den Source zu sehen? Es würde mich brennend interessieren, wie du das mit dem "Bei-schneller-Maus-Links-Rechts-bewegung-Lupe-ausblenden" gemacht hast.. =)

Gruß Wacky

Eventuelle Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren
News!!

neu Version ist da!

den quelltext gibts beim nächsten Update 🙂

}{4/3 |=|.[||

M
109 Beiträge seit 2005
vor 18 Jahren

8o 8o wo bleibt der source code??? lächz

1.271 Beiträge seit 2005
vor 18 Jahren

Ich habs mir jetzt erst runtergeladen, aber muss sagen:
Das ist ein GENIALES Programm!! Großes Lob an den Entwickler.
Der Source-Code interissiert mich aber auch brennend 😁

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren
Achtung!

da habt ihr!

zu dem angekündigten Update bin ich nicht gekommen aber dafür könnt ihr ja jetzt sorgen =)

Freue mich über jede Rückmeldung.

Kommentare sind leider nicht so meine Stärke X(

bin mal gespannt wie sich das so weiterentwickelt.

}{4/3 |=|.[||

A
57 Beiträge seit 2005
vor 18 Jahren

Hallo KirKone,

RESPEKT !!! nettes Tool.

Zum "Weg-Schütteln": wäre vielleicht schön wenn man eine art Schwellwert für die Toleranz der vertikalen Bewegung einstellen könnte. Bei der Bedienung mit einem Touchpad ist es nicht so einfach schnell nur horizontal zu "schütteln".

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren

hi,

das werde ich machen.

leider bin ich gerade etwas knapp an Freizeit, daher kann das ein wenig dauern.

schön das es dir gefällt.

cu

kirk

}{4/3 |=|.[||

1.271 Beiträge seit 2005
vor 18 Jahren

Die MUSS einem einfach gefallen 😁
Da ich im Moment etwas mit GDI+ programmier, brauch ich deine Lupe ständig um das Gezeichnete aus der Nähe zu betrachten.

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren

hallo,

da denkt man an nix schlimmes, da kommt das grosse Microsoft und baut sowas:

guggst du hier

aber gut zu wissen, dass die das auf die selbe Art machen müssen (Die haben das selbe Problem bei Layered Windows).

bis dahin,

cu

kirk

}{4/3 |=|.[||

1.985 Beiträge seit 2004
vor 18 Jahren

Hi KirKon,

schreibt doch MS eine nette Mail, ob sie nicht Deine Lupe lizenzieren wollen 🙂. Dann können Sie die in der Maussoftware integrieren!

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren

hi,

iss ne gute idee, das werde ich mal machen.

da bin ich ja mal auf die neu intellipoint version gespannt 😛

cu

kirk

}{4/3 |=|.[||

23 Beiträge seit 2005
vor 18 Jahren

Was für ein geiles Programm!!!

habe auch noch nen paar Tipps:

  • Die Mausposition einstellbar machen (oben links, oben rechts, unten links, unten rechts, mitte)

  • Falls in der Mitte, dann die Maus mit zoomen (optional)

  • den vergrößerten Bildschirmbereich rendern, damit es weicher wird (stärke einstellbar)

  • Lupenform wahlweise rund oder eckig

  • Glas-Effekt mit leichten reflexionen (optional)

  • krümmung an den Rändern (optional)

  • Kollisionserkennung mit dem Bildschirmrand, entsprechende Spezialeffekte mit Sound oder wackelndem Bildschirm 😉 (scherz, aber wäre doch geil!!)

  • eventuell ja Skins verwenden, um einen Rand und vielleicht noch einen Stiel / Griff zu entwerfen, Schatteneffekte abhängig vom Zoom-Grad (Lupe näher ran / weiter weg)

  • Effekte wie Invertieren, Aufhellen etc. sind manchmal praktisch!!

  • automatisch aktivieren, wenn man kleine Kreisbewegungen mit der maus macht (auf patente aufpassen, hab schon vieles in der richtung gehört was angeblich patentiert sein soll)


öhm... ja... wärend ich gerade so schreibe kam diese Fehlermeldung:

Titel des Errors: MagniMan.exe - Common Language Runtime Debuggin Services

Application has generated an exception that could not be handled.

Process id=0xffc (4092), Thread id=0x9e4 (2532).

Click OK to terminate the application. Click CANCEL to debug the application.

Die Meldung kam, als ich die Maus langsam horizontal hin und her bewegt hab und immer schneller wurde. wollte gucken ab wann die aus geht. ist allerdings die erste version die ich hier downloaden konnte (erste seite des threads)

👍

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren

Hallo,

danke für die Rückmeldung.

zu deinen Vorschlägen:

  1. da bin ich gerade dabei das einzubauen.
  2. da ist mir nicht ganz klar wie ich den echten Maus cursor "verstecken" soll. Wenn jemand weis wie man nen selbstgezeichneten Cursor bauen kann bitte melden.
  3. beschreib mal wie du das meinst, machbar iss das bestimmt. Hilfe erwünscht
  4. und 8. ja
  5. und 6. keine Ahnung wie ich das anstellen soll.
  6. machbar, dauert aber
  7. HILFE!
  8. hab ich auch schon nachgedacht darüber, es wird kommen. Nur wie genau wies ich noch nicht.

So, noch ein par Sachen zum aktuellen Stand:

ich habs geschafft, dass man wenn man zb in Paint die Lupe feststellt kann man einfach durch diese hindurch malen. Will heisen: wenn man auf die Lupe klickt wird nicht die Lupe getroffen sondern das Programm dahinter.

sobald ich die letzten Fehler gefunden hab gibts ne neue Version.

ich hoffe auf mehr Feedback.

bis denne

KirK

}{4/3 |=|.[||

S
14 Beiträge seit 2005
vor 18 Jahren

Zu schade, dass dieses Projekt eingeschlafen ist... Hab's jetzt erst entdeckt und muss sagen - nicht schlecht und seeehr praktisch.

Naja... vielleicht macht ja mal jemand weiter daran, der Code ist ja jetzt verfügbar... Ich würds ja machen, aber ich glaub, sowas krieg ich noch nicht hin (Ach wär ich doch schon ausgelernt 🙁 ).

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren
Eingeschlafen???

ich bin hell wach!! 😛

leider ist ein Vorrankommen zur Zeit nich möglich. der Grund hierfür sollte sich in der konsequenten Abwesenheit von Freizeit zu finden sein. sobald ich wieder ein spührbares Übermaß an Zeit mein eigen nennen kann werde ich die Entwicklung an diesem Projekt fortsetzen.

Auch hier nochmals der Aufruf: Wer mir in irgendeiner Form helfen kann soll sich bitte melden!

bis dahin

KirK

Eine Lupe sie zu finden...

}{4/3 |=|.[||

B
59 Beiträge seit 2005
vor 18 Jahren

Sehr nett!

Eines ist mir aufgefallen: Das Ausbleden der Lupe (beim schütteln) funktioniert nicht bei geparkter Lupe - ist verständlich aber vielleicht kommt man da spontan nicht drauf...

Gruss

"Apparently, 1 in 5 people in the world are Chinese. And there are 5 people in my family, so it must be one of them. It's either my mum or my dad......or maybe my older brother John. Or my younger brother Ho-Cha-Chu. But I'm pretty sure it's John."
KirKone Themenstarter:in
45 Beiträge seit 2004
vor 18 Jahren

hi,

iss mir so noch garnicht aufgefallen.
Ich werde es mit in die ToDo Liste aufnehmen.

ich hoffe euch bald wieder eine neue Version zukommen zu lassen.

bis dahin

KirK

}{4/3 |=|.[||

C
79 Beiträge seit 2006
vor 17 Jahren

omg.. wahnsinns programm! nur leider verstehe ich den halben Code nicht! gg
naja.. trotzdem enorm gelungen!

KirKone Themenstarter:in
45 Beiträge seit 2004
vor 17 Jahren

hallo,

schön dass es dir gefällt.

ich schreib das Ding gerade nochmal neu mit .net 2.0.
mal sehen was dabei rauskommt.

cu

KirK

}{4/3 |=|.[||

C
79 Beiträge seit 2006
vor 17 Jahren

wie lange hast du da dran gebraucht?? ich lerne c# derzeit zwar nur in der schule.. jedoch sind so viele dinge welche du hier verwendest nie vorgekommen!wo hast du das alles gelernt?

mfg

X
63 Beiträge seit 2007
vor 17 Jahren

Original von Christi4n
omg.. wahnsinns programm! nur leider verstehe ich den halben Code nicht! gg
naja.. trotzdem enorm gelungen!

Ja zuerst habe ich ihn auch nicht verstanden!!! aber nach lesen des ganzen codes verstand ich wie es funtioniert jetzt versuche ich selbst eine lupe zu programmieren!!

Mfg X-gamer

C
79 Beiträge seit 2006
vor 17 Jahren

Ich habe mich jetzt umgestellt! Lern in der Schule nichtmehr C# sondern lerne es mir nurmehr selbst.. durch probieren, Bücher und dieses Forum und mittlerweile habe ich es zusammengebracht, diese Lupe selbst zu schreiben, zwar nicht so gut aber naja.. was nicht ist kann ja noch werden 😁

p.s.: @kirk.. ich verwende das Teil fast jeden Tag in der Schule G für so ein komisches Spiel^^