Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bildschirmlupe - Bereich unter Formular ermitteln (https://www.delphipraxis.net/126586-bildschirmlupe-bereich-unter-formular-ermitteln.html)

Garfield 1. Jan 2009 11:06

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von turboPASCAL
Nein, auch wenn wenn man die die Lupe nicht bewegt wird diese aktualisiert. Es hann sich ja in der Zwischenzeti etwas im Hintergrund, also unter der Lupe ändern.

Bei mir anscheinend nicht. Die Lupe stand eine Weile über VirtualVCR und es hat sich nichts geändert.

Zitat:

Zitat von turboPASCAL
Zitat:

ganz so ist es nicht. Der Hintergrund des Formulars wird vor dem Screenshot transparent geschaltet und darin scheint das Problem zu bestehen.
Hui, das flackert schön. ;)

Mit der jetzigen Einstellung flackers bei mir nicht. Allerdings darf man nicht über den Desktoprand hinaus.

Zitat:

Zitat von turboPASCAL
Aber nicht vom gesamten Screen oder ? Das ist/wäre Resourcenverschwendung.

:gruebel:
Delphi-Quellcode:
    dcDesktop := GetWindowDC(hDesktop);

stahli 1. Jan 2009 11:18

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Bei den AlphaControls ist auch eine (sehr gut funktionierende) Lupe dabei.

Garfield 1. Jan 2009 11:50

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von turboPASCAL
Aber nicht vom gesamten Screen oder ? Das ist/wäre Resourcenverschwendung.

Mit
Delphi-Quellcode:
dcForm := GetWindowDC(Form1.Handle);
funktioniert es nicht, da ist das Bild schwarz.

Mit
Delphi-Quellcode:
hForm := GetForegroundWindow;
dcForm := GetWindowDC(hForm);
kann man das aktive Formular capturen.

taaktaak 1. Jan 2009 16:23

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Interessant, aber für mich bleibt die Kernfrage:
Was macht VISTA(+AERO) anders? Hier muss es ja einen grundlegenden Unterschied geben? Der ist für mich noch nicht erkennbar :(

Namenloser 1. Jan 2009 16:27

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von Garfield
Es gibt auch einen dynamischen Modus mit DDraw Overlay.

Unter Vista funktioniert das mit DDraw aber nicht

Zitat:

Zitat von Garfield
Funktioniert bei mir unter XP tadellos.

Ja, unter XP. Aber nicht unter Vista, und das ist ja das Problem.

Zu den Artefakten in meinem Programm: Wie gesagt, es ist ein Kompromiss. Meiner Meinung immer noch besser, als wenn der gezeigte Ausschnitt gar nicht aktuell ist.

Zitat:

Zitat von taaktaak
Interessanr, aber für mich bleibt die Kernfrage:
Was macht VISTA(+AERO) anders? Hier muss es ja einen grundlegenden Unterschied geben? Der ist für mich noch nicht erkennbar :(

Unter Vista gibt es halt den neuen Fenstermanager. Meine Vermutung ist, dass unter XP Layered Windows auf Screenshots nicht sichtbar waren, weil der Fenstermanager mit (halb-)transparente Fenster eben nicht "richtig" umgehen konnte, d.h. erst die normalen Fenster gezeichnet wurden, und am Ende heimlich die Layered Windows "dazugemogelt" wurden. Warum die dann nicht auf dem Desktop-Canvas sind, weiß ich nicht, aber es wird wohl irgendwelche internen Gründe gehabt haben.

Wie auch immer, jedenfalls war die Möglichkeit des Auslesens der Pixel unter dem Fenster, eindeutig ein Bug, der durch einen Workaround entstanden zu sein scheint, und kein Feature. Deshalb ist es IMO auch prinzipiell richtig, dass das unter Vista nicht mehr funktioniert. Dass man verdeckte Bereiche unter Windows nicht auslesen kann (außer XP und vllt Win2k durch Ausnutzen eines Bigs), war schon immer ein Problem, und es ist ärgerlich, dass es dafür keine Möglichkeit zu geben scheint (zumindest keine mir bekannte). Soweit ich weiß, kann man mit einer WM_PRINT (?) Message zumindest unverdeckte Screenshots von einzelnen Fenstern machen - die geben aber leider nicht exakt das zurück, was auf dem Bildschirm sichtbar wäre (z.B. ohne Aero).

taaktaak 1. Jan 2009 16:55

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Interessant, vielen Dank für die Erklärung.
Dann funktionieren also die meisten Lupen aufgrund eines Bugs so gut - schon witzig.
Eine Lösung, das auch unter Aero hinzubekommen, ist dann vermutlich entweder gar nicht möglich oder nur von wirklichen Profis, die die Internas sehr gut kennen, realisierbar.

stahli 1. Jan 2009 19:14

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Die Lupe von den AlphaControls zeigt immer nur ein aktives Formular an.
Das ist etwas unerwartet, funktioniert aber insgesamt sehr gut.
Formularinhalte werden ständig aktualisiert.

Demo unter AlphaControls

Vielleicht kann das als Anregung helfen...

stahli

Sunlight7 1. Jan 2009 19:19

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
@NamenLozer:
Stimmt echt interessant, hab jetzt den QC gefunden und ich habe es auch mit dem Bug gemacht :stupid:


Heißt das jetzt, meins läuft unter Vista auch nicht?


Zitat:

Zitat von Garfield
Zitat:

Zitat von turboPASCAL
Nein, auch wenn wenn man die die Lupe nicht bewegt wird diese aktualisiert. Es hann sich ja in der Zwischenzeti etwas im Hintergrund, also unter der Lupe ändern.

Bei mir anscheinend nicht. Die Lupe stand eine Weile über VirtualVCR und es hat sich nichts geändert.

Bei mir, Win XP/SP2 aktuallisiert es auch nicht.

turboPASCAL 1. Jan 2009 19:26

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Bei mir, Win XP/SP2 aktuallisiert es auch nicht.
Bei mir, Win XP/SP2 schon. :gruebel:
Irgendwelche Themes laufen oder anderes Zeugs ?

Namenloser 1. Jan 2009 19:31

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von stahli
Die Lupe von den AlphaControls zeigt immer nur ein aktives Formular an.
Das ist etwas unerwartet, funktioniert aber insgesamt sehr gut.
Formularinhalte werden ständig aktualisiert.

Demo unter AlphaControls

Vielleicht kann das als Anregung helfen...

stahli

Wo ist diese Lupe denn? Ich find die da nirgens. :oops:

Sunlight7 1. Jan 2009 19:31

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
@turboPASCAL: Ich hab den klassischen Win9x Stiel ohne Extras oder anderes Zeugs :mrgreen:

Edit: Roter Kasten: Oberstes Zip und dann im Menü Open magn...
Edit²: Das kleine Lupelchen frisst 100% CPU :shock:

stahli 1. Jan 2009 20:01

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
@NamenLozer: Sorry, im Menü der MainDemo.

Namenloser 1. Jan 2009 20:15

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von stahli
@NamenLozer: Sorry, im Menü der MainDemo.

Interessant, das scheint das tatsächlich zu können. Leider ist der Source der Komponente (natürlich) nicht dabei :wink:.

stahli 1. Jan 2009 20:19

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Bei einer Lizenz mit Quellen schon ;-)

Ich kann das durchaus empfehlen :-)
Habe nur gute Erfahrungen gemacht.

Stahli

Garfield 1. Jan 2009 20:39

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Unter XP ist das Geflacker jetzt weg. Das Formular ist transparent und das Image wird periodisch aktualisiert. Vistatauglich wird es wohl trotzdem nicht sein!?

Nachtrag: Was mich stört, ist, dass das Formular nach dem Loslassen keinen negativen Wert für Top erlaubt und der Button zum Beenden benötigt wird.

taaktaak 1. Jan 2009 21:06

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Was mich stört, ist, dass das Formular nach dem Loslassen keinen negativen Wert für Top erlaubt und der Button zum Beenden benötigt wird.
Ein "wenig negativ" ja schon, der Bereich der unsichtbaren Form-Caption verschwindet ja am oberen Rand. Der Button wäre bei Einsatz eines Popups oder einer Tastaturauswertung (Escape o.ä.) verzichtbar, dann würde nix mehr flackern und die Optik tatsächlich besser.

Garfield 1. Jan 2009 23:56

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Das müsste man noch ausprobieren.

Für die Lösung des Aeroproblems bietet jemand bis 600 USD: http://www.rentacoder.com/RentACoder...uestId=1035019

taaktaak 2. Jan 2009 01:27

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Das ist ja äußerst interessant!
Allerdings dürften dann unsere Chancen auf eine kostenlose Lösung innerhalb der DP eher schlecht stehen. Obwohl, hier im Forum gibt es ja bestimmt auch einen ganze Reihe von Spezialisten, denen ich das zutrauen würde.

EWeiss 2. Jan 2009 07:21

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm keine ahnung ob es unter Vista läuft.
Schließen der Lupe einfach mit der Maus in die obere linke Screen ecke fahren.

gruss Emil

turboPASCAL 2. Jan 2009 08:27

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Sie funktioniert, teilweise. ;) Nach ein paar Scekunden schiesst sich das Programm ohne eine Fehlermeldung.
Den Desktophintergrund wird mit dem Prg. nicht angezeigt.

Wie arbeitet denn das Teil ?

EWeiss 2. Jan 2009 08:36

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von turboPASCAL
Sie funktioniert, teilweise. ;) Nach ein paar Scekunden schiesst sich das Programm ohne eine Fehlermeldung.
Den Desktophintergrund wird mit dem Prg. nicht angezeigt.

Wie arbeitet denn das Teil ?

Bei mir wird alles angezeigt incl. Desktop auf XP/SP2.
Hmm glaube aber du hast Vista.

Arbeiten tut es mit Standard API's

CreateRoundRectRgn
DeleteObject
GetCursorPos
GetModuleHandle
GetProcAddress
GetWindowDC
ReleaseDC
SetWindowPos
SetWindowRgn
StretchBlt

und einen Timer.. 50ms geht aber auch in realzeit also 1ms
mit 0% CPU auslastung.

Hab das Teil mal als Plugin (VB) für meinen Mediaplayer geschrieben.
Der Source !! VB

Hab keine lust das jetzt zu übersetzen dürfte aber nicht schwer sein da es nu um API
und Koordinaten geht.

Delphi-Quellcode:
Option Explicit

#Const Rounded = True                   'False = wird als Rechteck angezeigt
Private Const Magnify      As Long = 5  'Magnify Faktor
Private Const ViewSize     As Long = 40 'Größe des Areals zu Magnify (in pixel)

Private Const ViewSize2     As Long = ViewSize \ 2
Private Const DestSize     As Long = ViewSize * Magnify
Private Const DestCenter   As Long = DestSize \ 2
Private Const CrossCenter  As Long = DestCenter + Magnify \ 2 + (Magnify And 1)

Private Const Border       As Long = 1
Private ScrXMax            As Long
Private ScrYMax            As Long

Private Type tPoint
    x  As Long
    y  As Long
End Type

Private CursorPos          As tPoint
Private PrevPos            As tPoint
Private Cnt                As Long
Private xPos               As Long
Private yPos               As Long

Private Const hWndDesktop  As Long = 0
Private hDCDesktop         As Long
Private hRgn               As Long
Private Const HWND_TOPMOST As Long = -1
Private Const SWP_NOSIZE   As Long = 1
Private Const SWP_NOMOVE   As Long = 2

Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As tPoint) As Long
Private Declare Function GetModuleHandle Lib "kernel32.dll" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32.dll" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hDC As Long) As Long
Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function StretchBlt Lib "gdi32" (ByVal hDstDC As Long, ByVal xDst As Long, ByVal yDst As Long, ByVal nDstWidth As Long, ByVal nDtsHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long

Private Sub Form_Load()

    If App.PrevInstance Then
        Beep 333, 100
        Beep 222, 222
        Unload Me
      Else
        SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
        hDCDesktop = GetWindowDC(hWndDesktop)
        Width = ScaleX(DestSize + Border + Border, vbPixels, vbTwips)
        Height = Width
        Show
        tmrRefresh_Timer

#If Rounded Then '------------------------------------------------------------------
        xPos = ScaleWidth
        hRgn = CreateRoundRectRgn(2, 2, xPos, xPos, xPos, xPos)
        SetWindowRgn hwnd, hRgn, True
#End If '---------------------------------------------------------------------------

        With Screen
            ScrXMax = ScaleX(.Width, vbTwips, vbPixels) - ViewSize
            ScrYMax = ScaleY(.Height, vbTwips, vbPixels) - ViewSize
        End With
        App.TaskVisible = False

    End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

    If hDCDesktop Then
        ReleaseDC hWndDesktop, hDCDesktop
    End If
    If hRgn Then
        DeleteObject hRgn
    End If

End Sub

Private Sub tmrRefresh_Timer()

    GetCursorPos CursorPos
    With CursorPos
        If .x <> PrevPos.x Or .y <> PrevPos.y Or Cnt = 0 Then
            PrevPos = CursorPos
            If .x = 0 And .y = 0 Then
                Unload Me
              Else
                xPos = ScaleX(.x + ViewSize2, vbPixels, vbTwips)
                yPos = ScaleY(.y + ViewSize2, vbPixels, vbTwips)
                If xPos + Width > Screen.Width Then
                    xPos = Screen.Width - Width
                End If
                If yPos + Height > Screen.Height Then
                    yPos = Screen.Height - Height
                End If
                If xPos = Screen.Width - Width And yPos = Screen.Height - Height Then
                    xPos = ScaleX(.x - ViewSize2, vbPixels, vbTwips) - Width
                    yPos = ScaleY(.y - ViewSize2, vbPixels, vbTwips) - Height
                End If
                Move xPos, yPos
                xPos = .x - ViewSize2
                yPos = .y - ViewSize2
                Cls
                StretchBlt hDC, Border, Border, DestSize, DestSize, hDCDesktop, xPos, yPos, ViewSize, ViewSize, vbSrcCopy
                Line (CrossCenter, CrossCenter - 7)-(CrossCenter, CrossCenter + 8), vbRed
                Line (CrossCenter - 7, CrossCenter)-(CrossCenter + 8, CrossCenter), vbRed

#If Rounded Then '------------------------------------------------------------------
                DrawWidth = 2
                DrawMode = vbCopyPen
                Circle (DestCenter - 1, DestCenter - 1), DestCenter - 2, vbBlack
                DrawWidth = 1
                DrawMode = vbMergePenNot
#End If '---------------------------------------------------------------------------

            End If
        End If
        Cnt = (Cnt + 1) Mod 16
    End With

End Sub
Bei Magnify 1 und Viewsize 80 wird alles unterhalb der Form angezeigt im Oroginal Maßstab.
vbPixels := 15
mit Cls wird der Hintergrund gelöscht und dann mit StretchBlt neu gezeichnet.

Das andere ist selbsterklärend.

gruss Emil

turboPASCAL 2. Jan 2009 09:53

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Hmm glaube aber du hast Vista.
Ja, warum hab ich hdas denn nicht hingeschrieben. :gruebel: Man wird wohl vergesslich.

Zitat:

Hab keine lust das jetzt zu übersetzen
Nö, warum auch. Man(n) kanns ja lesen.

EWeiss 2. Jan 2009 10:02

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Man wird wohl vergesslich.
Du sagst es ;)
Mein Gehirn arbeitet nicht mehr so richtig..
Hab wohl Alsheimer.

gruss Emil

Garfield 2. Jan 2009 10:17

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Hallo, ein gesundes neues ...

Leider vergrößert die Lupe das, was unter der Maus und nicht unterm "Lupenglas" ist.

EWeiss 2. Jan 2009 15:46

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von Garfield
Hallo, ein gesundes neues ...

Leider vergrößert die Lupe das, was unter der Maus und nicht unterm "Lupenglas" ist.

Ist doch nur ne frage wie man die position der Maus zum mittelpunkt der Lupe berechnet.

gruss Emil

Sunlight7 2. Jan 2009 16:01

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Für später dazu(ge)kommende:
Das ist gefragt: http://www.delphipraxis.net/internal...=981525#981525

Namenloser 2. Jan 2009 18:19

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von turboPASCAL
Sie funktioniert, teilweise. ;) Nach ein paar Scekunden schiesst sich das Programm ohne eine Fehlermeldung.
Den Desktophintergrund wird mit dem Prg. nicht angezeigt.

Wie arbeitet denn das Teil ?

Bei mir stürzt das Programm nicht ab. Die Arbeitsweise ist doch einfach: Er zeigt einfach nicht den Teil an, der unter der Lupe ist :roll:

[Edit]Sorry, hab irgendwie nicht gesehn, dass danach noch eine Seite kam :pale:[/Edit]

EWeiss 2. Jan 2009 18:42

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Er zeigt einfach nicht den Teil an, der unter der Lupe ist
Ist auch witzlos und nicht der sinn einer realen Lupe.
Schließlich möchte ich den Arbeitsbereich vergrößern auf dem ich zeige, das ist nun mal der
bereich auf dem die Maus zeigt.

Um den bereich unter meiner Form anzuzeigen braucht man keine Lupe da reicht
es wenn man die Form transparent macht.

Ich verweise einfach noch mal auf den Beitrag von Sunlight7
http://www.delphipraxis.net/internal...=982777#982777

gruss Emil

lbccaleb 2. Jan 2009 18:46

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Also bei mir klappt das Ding wunderbar, auch unter Vista...

Sunlight7 2. Jan 2009 18:58

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Könnte freundlicherweise wer einen Vista/Aero Bericht geben? http://www.delphipraxis.net/images/s...on_biggrin.gif

http://www.delphipraxis.net/download.php?id=36836 (Post #48)

Garfield 2. Jan 2009 19:04

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 2)
Noch zwei Versuche. Verschieben mit der Maus. Beenden mit Doppelklick.

Zitat:

Zitat von EWeiss
Ist auch witzlos und nicht der sinn einer realen Lupe.
Schließlich möchte ich den Arbeitsbereich vergrößern auf dem ich zeige, das ist nun mal der
bereich auf dem die Maus zeigt.

Bei einer realen Lupe sieht man den vergrößerten Auschnitt in der Lupe und das Original wird von der Lupe verdeckt. Und so soll es hier sein.

Namenloser 2. Jan 2009 19:18

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von EWeiss
Zitat:

Er zeigt einfach nicht den Teil an, der unter der Lupe ist
Ist auch witzlos und nicht der sinn einer realen Lupe.
Schließlich möchte ich den Arbeitsbereich vergrößern auf dem ich zeige, das ist nun mal der
bereich auf dem die Maus zeigt.

Um den bereich unter meiner Form anzuzeigen braucht man keine Lupe da reicht
es wenn man die Form transparent macht.

Ich verweise einfach noch mal auf den Beitrag von Sunlight7
http://www.delphipraxis.net/internal...=982777#982777

gruss Emil

Reden wir aneinander vorbei? Eine echte Lupe zeigt das vergrößert an, was unter ihr ist. Und genau das will der Threadersteller erreichen. Deine Lupe liegt neben meiner Hand und vergrößert den bereich unter meinem Zeigefinger :mrgreen:.

Dein Programm funktioniert, ist aber nicht die Antwort auf die Frage.

@Sunlight7: Nicht mit Vista kompatibel.

@Garfield: dito.

turboPASCAL 2. Jan 2009 19:20

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
@Garfield, :mrgreen: Es lupt nicht. (mit Vista und akt. Aero) :P
Mann muss dann bzw. deswegen mit DirectX arbeiten siehe http://www.come.to/magnifier . Denn diese funktioniert.

Namenloser 2. Jan 2009 19:26

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von turboPASCAL
@Garfield, :mrgreen: Es lupt nicht. (mit Vista und akt. Aero) :P
Mann muss dann bzw. deswegen mit DirectX arbeiten siehe http://www.come.to/magnifier . Denn diese funktioniert.

Das arbeitet nicht mit DirectX.
Zitat:

Zitat von NamenLozer
Das verlinkte Tool macht nur beim Aufrufen der Lupe einen Screenshot, genauergesagt vor dem Aufrufen. Danach wird einfach ein fenster mit dem Screenshot StayOnTop gesetzt und eine Lupe drauf gemalt.

Zitat:

Zitat von NamenLozer
Zitat:

Zitat von Garfield
Es gibt auch einen dynamischen Modus mit DDraw Overlay.

Unter Vista funktioniert das mit DDraw aber nicht


Garfield 2. Jan 2009 19:46

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von turboPASCAL
@Garfield, :mrgreen: Es lupt nicht. (mit Vista und akt. Aero) :P

Das läuft bei mir unter XP bisher am besten. Als ich ein Popupmenue zum Beenden genommen hatte, wurde das auch vergrößert.

Zitat:

Zitat von turboPASCAL
Denn diese funktioniert.

Zitat:

Zitat von NamenLozer
Unter Vista funktioniert das mit DDraw aber nicht

Habt Ihr da unterschiedliche Erfahrungen gemacht? Vielleicht unterschiedliche Plugins verwendet?

Garfield 2. Jan 2009 23:01

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt habe ich die Trial von Server 2008 Standard installiert, aber da gibt es nur das klassische Design. Damit hat es funktioniert, aber ob es mit Aero geht...?

Namenloser 2. Jan 2009 23:36

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von Garfield
Jetzt habe ich die Trial von Server 2008 Standard installiert, aber da gibt es nur das klassische Design. Damit hat es funktioniert, aber ob es mit Aero geht...?

Leider nicht. Ich hab gestern auch schon gemerkt, dass es unter dem Basic und dem Classic-Skin noch funktioniert. Nur unter Aero funktioniert das nicht.

taaktaak 2. Jan 2009 23:51

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
tja, deswegen gibt's für die Lösung wohl auch 600 Dollar :cry:

Dbof 2. Jan 2009 23:55

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Ich weiß jetzt nicht, ob es zum Thema passt, aber bei den Alphas(http://www.alphaskins.com/sshots/a48.png) gibt es in der Skin-Demo auch eine runde Lupe. Oben rechts oder in der Menubar, um Sie zu öffnen... Vielleicht funktioniert die unter Vista?

http://www.alphaskins.com/ademos.php

Sunlight7 3. Jan 2009 00:30

Re: Bildschirmlupe - Bereich unter Formular ermitteln
 
Zitat:

Zitat von NamenLozer
@Sunlight7: Nicht mit Vista kompatibel.

Wie erwartet, aber danke fürs testen.


@Dbof: Das wurde weiter vorne schon angesprochen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz