2012-08-04 12 views
6

Ich habe eine halbtransparente Vollbildform und ich brauche meinen Computer über dieses Formular zu steuern.Klicken Sie sich durch das transparente Formular

Momentan brauchen wir einen roten Bildschirmfilter am Computer, um den Himmel zu beobachten, aber wir wollen nicht so etwas wie rotes Plexiglas verwenden.

Ich versuchte Windows-APIs (Monitor-Konfigurationsfunktionen) http://msdn.microsoft.com/en-us/library/windows/desktop/dd692964(v=vs.85).aspx aber ich kann es nicht tun. Ich habe transparente Form wie roter Filter (alles scheint rote und schwarze Töne), aber ich kann Computer über mein Formular nicht steuern. Helfen Sie mir dabei?

Antwort

13

Erstellen Sie ein neues VCL-Projekt. In den Eigenschaften der Hauptform, eingestellt Color zu clRed, AlphaBlend zu true, AlphaBlendValue zu 127, WindowState zu wsMaximized, FormStyle zu fsStayOnTop und den folgenden Code:

type 
    TForm1 = class(TForm) 
    private 
    protected 
    procedure CreateParams(var Params: TCreateParams); override; 

... 

procedure TForm1.CreateParams(var Params: TCreateParams); 
begin 
    inherited; 
    Params.ExStyle := Params.ExStyle or WS_EX_LAYERED or WS_EX_TRANSPARENT; 
end; 

(Sample video, Sample compiled EXE, Source)

+0

Ja, ich weiß. :-) Sie sind nicht verantwortlich für PEBKAC-Probleme. : D Rauschen aufräumen Ich habe oben hinzugefügt. Ich werde das auch in ein paar Minuten löschen. –

Verwandte Themen