form durchsichtig machen
-
Hi,
siehe hier: http://people.freenet.de/triplexxx/HTML/Codes/WAtransp.htm
-
Oder Du arbeitest mit HRegion und der WINAPI - müsste dann auch auf älteren Systemen laufen. Das Ganze ist aber dann sehr aufwändig. Suche am besten mal im Forum.
Gruss
-
AlphaBlend blendet die gesamte Form aus und Transparent funktioniert nicht.
Wie kann man machen das nur der Hintergrund von Form1 durchsichtig ist (Rahmen + Komponenten werden angezeigt)?
-
Wie bereits vor drei Jahren geschrieben: Transparent.
Warum sollte das nicht funktionieren? Eine ein wenig genauere Beschreibung.
-
Transparent=true gibt es bei Form1 nicht.
Rostfrei[] schrieb:
Mit Transparent kannst Du bestimmte Farben der Form durchsichtig machen
Also habe ich TransparentColor auf true gesetzt und TransparentColorValue auf den Hintergrund von Form1. Das hatte aber keine Wirkung gezeigt.
-
Setz mal Color und TransparentColor des Forms auf zB clGreen...
-
Das funktioniert! Komisch dass es so geht aber nicht mit clBtnFace...
Aber jetzt sich Stellen ohne Komponenten "Löcher". Wenn man jetzt in die Mitte klickt wird das Fenster dahinter geöffnet. Aber das Ereigniss FormClick wird nicht aktiviert.
Wie kann man das verhindern?
-
Ich denke, dass das grundsätzlich nicht mit Systemfarben geht...
Und was das Klicken angeht: Das geht dann wohl nur noch mit einem globalen Mouse-Hook. Oder frag mal im Win-API-Forum. Innerhalb der VCL wäre mir jedenfalls nichts bekannt.
Gruß
KK
-
Im FAQ gibts da ja ein Thema dazu. http://www.c-plusplus.net/forum/viewtopic-var-t-is-39184.html
Aber dort stehen Schritte die es gar nicht gibt. Bei den ersten hab ich schon die richtige Version gefunden aber bei Projekt->Erstellen komm ich nicht weiter.
-
"Komme nicht weiter" ist keine aussagekräftige Problembeschreibung.
Ausserdem haben Probleme beim Erstellen des Mousehooks nichts mit der Durchsichtigkeit einer Form zu tun. Faustregel: Ein Thema pro Thread, ein Thread pro Thema.
-
Jansen schrieb:
"Komme nicht weiter" ist keine aussagekräftige Problembeschreibung.
Im Menü Projekt gibt es keinen Punkt Erstellen
-
Du meinst diesen Satz?
Kompiliert das Ganze über Projekt->Erstellen im BCB-Menu.
Ja mei, du wirst doch wissen, wie man ein Projekt kompiliert!?
-
Ja, den Satz meine ich. Das kompilieren ist nicht das Problem aber da steht auch man soll die Datei als .lib speichern und da find ich keine Möglichkeit.
-
Die LIB wird beim Kompilieren automatisch erstellt, wenn man, wie beschrieben, die Linker-Option "Import-Bibliothek erstellen" anwählt.
-
OK. Im dem Beipiel kommt für die Zeilen
extern "C" __declspec(dllexport) __stdcall void SetHook(HWND); extern "C" __declspec(dllexport) __stdcall void RemoveHook(void); extern "C" __declspec(dllexport) __stdcall MOUSEHOOKSTRUCT GetMouseData(void);
je ein Fehler
[Linker Fehler] Unresolved external 'GetMouseData' referenced from P:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\DATEIEN\MOUSEHOOK_.OBJ
[Linker Fehler] Unresolved external 'SetHook' referenced from P:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\DATEIEN\MOUSEHOOK_.OBJ
[Linker Fehler] Unresolved external 'RemoveHook' referenced from P:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\DATEIEN\MOUSEHOOK_.OBJ
-
Du hast die LIB nicht dem Projekt hinzugefügt!?
-
Ja.
-
Weiß denn niemand woran das liegt?