Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Freeware] MagicMagnifier - eine Farbwahl-Lupe (https://www.delphipraxis.net/105690-%5Bfreeware%5D-magicmagnifier-eine-farbwahl-lupe.html)

patti 29. Dez 2007 20:42

Re: [Freeware] MagicMagnifier - eine Farbwahl-Lupe
 
Ich persönlich finde es mit Drag & Drop etwas umständlich, eine Farbe auszuwählen. Was ich gut finde, sind die vielen Extras, wie z.B. Farbverlauf-Farben, etc.

Ich werde noch einbisschen was in mein Programm einbauen, vielleicht wird dann die Bedienung dadurch auch etwas verbessert.

Habe anfangs eigentlich nicht vorgehabt, noch viel an dem Mini-Tool zu machen, sondern es "so wie es ist" mal vorzustellen (soll wirklich nur ein Mini-Tool sein, das man ab und zu mal braucht). Habe mir gedacht, dass es vielleicht jemand nützlich findet und seine Freude daran hat. Aber wie es ausschaut werde ich noch etwas daran weiter arbeiten ;-)

Patti

Die Muhkuh 29. Dez 2007 20:44

Re: [Freeware] MagicMagnifier - eine Farbwahl-Lupe
 
Hi,

mach doch das Drag & Drop als Alternative ;)

patti 29. Dez 2007 20:47

Re: [Freeware] MagicMagnifier - eine Farbwahl-Lupe
 
Ja, mal schauen. Werde ich vielleicht wirklich als Alternative mit einbauen.
Dank deiner Anregung mit MyColor bastle ich gerade an einer Ablage für mehrere Farben ;-)

Die Muhkuh 29. Dez 2007 20:49

Re: [Freeware] MagicMagnifier - eine Farbwahl-Lupe
 
Wenn Du die Lupe noch auf den zweiten Monitor bringst, wäre es nicht schlecht, weil das kann der von Opa Knack auch nicht und MyColor nutze ich fast täglich.

patti 29. Dez 2007 20:51

Re: [Freeware] MagicMagnifier - eine Farbwahl-Lupe
 
Ich muss ehrlich gestehen, dass ich mit zwei Monitoren nicht viel Erfahrung habe. Ich werde mich mal in das Thema einlesen und dann versuchen, das Tool Zwei-Monitor-Kompatibel zu machen ;-)

Namenloser 29. Dez 2007 21:18

Re: [Freeware] MagicMagnifier - eine Farbwahl-Lupe
 
Hi, ganz nettes Tool, auch wenn mir nicht ganz klar ist was es für nen Vorteil bietet :D
Was mich interessieren würde ist, wie du das Fenster selbst vom Ausschnit ausschließt.

Die Muhkuh 29. Dez 2007 21:20

Re: [Freeware] MagicMagnifier - eine Farbwahl-Lupe
 
Ich schätze mal, dass es sich um eine Komponente aus der JVCL handelt, deren Name mir gerade nicht einfällt.

TJvMagnifier oder sowas^^

patti 29. Dez 2007 21:26

Re: [Freeware] MagicMagnifier - eine Farbwahl-Lupe
 
Falsch geraten ;-)

Die Lupe und alles drum herum ist selber gemacht. Ich mache einen Screenshot und vergrößere dann daraus den entsprechenden Bereich. Dass das Fenster selber im Screenshot nicht sichtbar ist, ist ein wirklicher sehr netter Nebeneffekt von einer Procedure, die ich mir aus einigen Code-Schnipseln zusammengebaut habe (ich habe mir eine eigene Unit draus gemacht):

Delphi-Quellcode:
unit transwin;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

procedure MakeTransparent(AHandle : THandle; AValue : byte = 0; AColor : TColor = clfuchsia);

implementation

type
    TSetLayeredWindowAttributes = function ( 
    hwnd : HWND;
    crKey : TColor;
    bAlpha : byte;
    dwFlags : DWORD
    ): BOOL; stdcall;

const
  WS_EX_LAYERED = $80000;
  LWA_COLORKEY = 1;
  LWA_ALPHA = 3;

procedure MakeTransparent(AHandle : THandle; AValue : byte = 0; AColor : TColor = clfuchsia);
var
  Info: TOSVersionInfo;
  SetLayeredWindowAttributes: TSetLayeredWindowAttributes;
begin
  Info.dwOSVersionInfoSize := SizeOf(Info);
  GetVersionEx(Info);
  if (Info.dwPlatformId = VER_PLATFORM_WIN32_NT) and
    (Info.dwMajorVersion >= 5) then
  begin
    SetLayeredWindowAttributes := GetProcAddress(GetModulehandle(user32),'SetLayeredWindowAttributes');
    if Assigned(SetLayeredWindowAttributes) then
    begin
      SetWindowLong(AHandle, GWL_EXSTYLE, GetWindowLong(AHandle, GWL_EXSTYLE) or WS_EX_LAYERED);
      SetLayeredWindowAttributes(AHandle, ColorToRGB(AColor),AValue, LWA_ALPHA);
    end;
  end;
end;

end.
Bei der Procedure MakeTransparent kann ein Wert von 0-255 für die Transparenz und eine Farbe, die vollkommen transparent ist, angegeben werden. Es war ein glücklicher Zufall, dass das Fenster so nicht auf Screenshots zu sehen ist ;-)

Patti


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr.
Seite 2 von 2     12   

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