掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
透けるパネル (ID:22125)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ちわっす。 ちゃんと調べて無いから絶対とはいえませんが、フォーム下に支配されてるコントロールはXPの半透明化はできないと思います。 また、コントロールを貼り付けるとその下のオブジェクトの再描画はされないはずです。 というわけで、パネルっぽく見えるTFormを貼り付けるという手はどうでしょうか? unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, AppEvnts; type TForm1 = class(TForm) Button1: TButton; ApplicationEvents1: TApplicationEvents; procedure Button1Click(Sender: TObject); procedure ApplicationEvents1Deactivate(Sender: TObject); procedure ApplicationEvents1Activate(Sender: TObject); private { Private 宣言 } steadyFocus:Boolean; procedure WMMove(var Msg:TMessage);message WM_MOVE; procedure WMNCActivate(var Msg: TWMNCActivate); message WM_NCACTIVATE; //test:TForm1; public { Public 宣言 } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Form2.BorderStyle:=bsNone; Form2.AlphaBlend:=True; Form2.AlphaBlendValue:=100; Form2.Color:=clRed; Form2.FormStyle:=fsStayOnTop; Form2.Show; end; procedure TForm1.WMMove(var Msg: TMessage); var pos:TPoint; begin if Form2<>nil then begin pos:=ClientToScreen(Point(0,0)); Form2.Left:=pos.X; Form2.Top :=pos.Y; end; end; procedure TForm1.WMNCActivate(var Msg: TWMNCActivate); begin Msg.Active := steadyFocus; inherited; end; procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject); begin steadyFocus:=False; SendMessage(Handle,WM_NCACTIVATE,0,0); end; procedure TForm1.ApplicationEvents1Activate(Sender: TObject); begin steadyFocus:=True; SendMessage(Handle,WM_NCACTIVATE,0,0); end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.