Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Bildschirm-Lupe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
24.09.2004, 01:31 Uhr
~Sky
Gast


hi,
wie kann ich mit visual c++ eine bildschirmlupe erstellen, ich will ein fenster, welches sich unter dem mauszeiger befindet, welches den darunterliegenden inhalt doppelt oder 4mal so groß darstellt, das fesnter muss sich bei mausbewegung natürlich mitbewegen.

ich weis das es so was schon gibt, ich wills aber halt nun mal selber machen, sonst lern man ja nix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.09.2004, 01:38 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Mal davon abgesehen das ich nicht genau weiss wie du dir das mit dem fenster vorstellst wo das erscheinen soll in dem das gezoomt werden soll...
das ist schon nen recht schwieriges unterfangen... hoffe du bist mittlerweile recht sattelfest im proggen an sonsten würds ne schier unlösbare aufgabe für dich...

anfangen würde ich mit sowas erstmal zu versuchen eine bild zu zoomen und anzeigen zu lassen...
wenn das funktioniert dann kannst du versuche herauszufinden wo dein mousezeiger gerade rumkaspert und dann einen entsprechende umgebung um den moueszeiger zu zoomen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.09.2004, 01:44 Uhr
~Sky
Gast


das fesbter soll genau dort erscheinen wo der mauszeiger ist, also drumherum so ca 5cm, mein problem ist nun, wie bewege ich ein fenster zusammen mit der maus, welches keine titelzeile enthält und welches ohne anzuklicken dem mauszeiger folgt.
und wie zoome ich, irgendwie mi dem device context müssts gehen, bildschirm auslesen doppelt so groß machen und in das fesnter zurückschreiben, nur weis ich den code dazu nicht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.09.2004, 01:57 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also entweder fängst du immer das ereignis ONMouseMOve oder so ähnlich ab das immer ausgelöst wird wenn du die mouse bewegst oder du lässt im hintergrund nen thread laufen der immer die aktuelle mouseposition mit der neuen vergleicht und dann entsprechend neu zeichnet...

und "den code dazu" wird dir hier vermutlich keiner posten. mal davon abgesehen das immer viele wege nach rom führen ist das am ende ganze ecke code den man dazu machen müsste und der ist mal nicht eben in 5 minuten aus den hut zu zaubern (jedenfalls ich kann das nicht ich müsste da auch erst mindestens zwei drei stunden dran basteln bis das halbwegs läuft)


an sonsten würde ich mich noch mit den befehlen screen2client, client2screen, CWndRgn GetCurPos vertraut machen...


Bearbeitung:

ach so vielleicht hast du ja glück und es gibt ein ähnliches projekt dazu unter codeproject oder codeguru... wenn es das geben sollte bin ich mir sicher das mike den link dazu kennt...


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 24.09.2004 um 02:03 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.09.2004, 03:32 Uhr
~Sky
Gast


hi,
wie bekomm ich das hin, die mausposition ausserhalb eines fensters abzufragen
MouseMove rargiert nur innerhalb des eigenen fensters
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.09.2004, 04:23 Uhr
~Sky
Gast


also das mit dem zoomen geht schon, flimmert halt noch etwas, aber fvilleicht find ich noch raus an was es liegt, jetz muss ich nur noch das fenster bewegem umd die mauskoordinaten auf dem gesamten bildschirm abfangen, hab aber keine ahnung wie ich die koordinaten ausserhalb meines fensters erfassen kann
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
24.09.2004, 07:30 Uhr
Tommix



Hallo,
Du könntest mir SetCapture die MouseEvents auf Dein Fenster ziehen. Dann übernimmst Du aber auch die Verantwortung, sie bei Bedarf an die anderen Fenster weiterzugeben.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
24.09.2004, 09:51 Uhr
~Sky
Gast


hi,
1.) SetCapture misst aber nur die koordinaten, solange im fenster eine taste gedrückt und gehalten wurde, ich möchte aber nur die maus bewegen, und nicht eine taste zuvor drücken.
2.) wie kann ich das fenster zusammen mit der maus bewegen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
24.09.2004, 10:19 Uhr
~mike
Gast


Hi!
Ich würde die Bildschirmkoordinaten des Mauszeigers abfragen. Dazu das Zitat aus dem Codeguru Artikel:

Zitat:

Generally the sample demonstrates different ways to obtain or create proper DC and use BitBlt - StretchBlt functions.

It is another ZoomIn demo application created with doc-view architecture. CView derived class experienced minimum changes from AppWizard generated one.

CImageWnd window covers CView derived class window. CImageWnd contains a copy (mirror) of CView derived class window bitmap to draw. CImageWnd window becomes transparent when magnifying glass is inactive and draws a "lens" over the bitmap when active. The "lens" is a small zoom window. Magnifying Glass doesn't depend on a view contents. It is easy to modify CMgnView::OnDraw or CMgnView::OnEraseBkgnd and Magnifying Glass still will work with another contents.



Also du machst das Window transparent und bewegst es dann

mfg

Dieser Post wurde am 24.09.2004 um 10:20 Uhr von mike editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
24.09.2004, 10:55 Uhr
~Sky
Gast


gut, aber wie mach ich es transparent, und wie bewege ich es ohne titelzeile, es soll ja der maus auch ohne normales draggen folgen, also ohne die maustaste zu halten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: