2012-08-04 10 views
6

半透明のフルスクリーンフォームがあり、このフォーム上でコンピュータを制御する必要があります。クリックスルー透明フォーム

実際には、空を観察するためにコンピュータに赤いスクリーンフィルタが必要ですが、赤色のプレキシガラスのようなものは使用したくありません。

私はWindows API(モニタ構成機能)を試しました http://msdn.microsoft.com/en-us/library/windows/desktop/dd692964(v=vs.85).aspx 私はできません。 私は赤いフィルターのような透明なフォームを作った(すべて赤と黒のトーンと思われる)が、自分のフォーム上でコンピュータを制御することはできません。誰も私を助けてくれますか?

答えて

13

新しいVCLプロジェクトを作成します。メインフォームのプロパティで、AlphaBlendFormStylefsStayOnTopに、WindowStatewsMaximizedに、AlphaBlendValue127に、trueに、clRedColorを設定し、次のコードを追加:

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 videoSample compiled EXESource

+0

ええ、私は知っています。 :-)あなたはPEBKACの問題について責任を負いません。 :D私は上記で追加したノイズをクリーンアップ。私はこれも数分で削除します。 –

関連する問題