例えば 20% 透明な TMemo または他の vcl コンポーネントを作成することは可能ですか? TButton や TEdit のような?
解決策をグーグルで検索しているときに、次のことがわかりました。
From Here、次に、フォーム (OnPaint) に画像を描画し、AlphaBlend をオンに設定すると、この効果を達成できると思いましたが、フォーム全体が透明な場合、主に必要な効果が得られず、メモの背後に背景画像がありません。 .
達成したい効果:(フォトショップで行われます)
これは可能ですか?もしそうなら、どのように?(私は完全な src コードを誰にも求めていません。記事や可能であれば小さな例、または方向性など、私が理解できる方法は何でも)
注意のためのthnx。
私は解決策を見つけ、画像の背景を持つフォームにアルファブレンドフォームを作成し、追加されたフォームにメモを追加してクライアントに合わせますが、これは最善の方法ではありませんが、うまくいきます:
procedure TForm1.Button1Click(Sender: TObject);
var
MM : TMyMemo; frm : TForm;
begin
frm := TForm.Create(Form1);
frm.BorderStyle := bsNone;
frm.AlphaBlend := true;
frm.AlphaBlendValue := 150;
frm.Left := Form1.Left + 90;
frm.Top := Form1.Top + 90;
frm.Width := 300;
frm.Height := 300;
frm.Position := poDesigned;
frm.Visible := true;
MM := TMyMemo.Create(frm);
MM.Parent := frm;
MM.BorderStyle := bsNone;
MM.ParentColor := False;
MM.Align := alClient;
MM.Color := clBlack;
MM.Font.Color := clWhite;
MM.Font.Name := 'Sylfaen';
MM.Font.Size := 11;
MM.Visible := True;
frme := True;
end;
しかし、別の問題があります。メモを押すと、背景フォームがフォーカスを失い、新しいフォームの親を Form1 に設定すると、上記の問題は解決されますが、透明効果はなくなります (ウィンドウはまだ透明ですが、bg ウィンドウが表示されずに見ることができます)背景)どうすればこの問題を解決できますか?