|
||
解説: フォームに貼り付けた画像だけを残して、それ以外の部分を見えなくしてみます。こうすることで、画像以外の場所が透明化したように見えます。やっていることは簡単で、Form の BorderStyle プロパティにフォームの境界の体裁と動作を指定してやるだけです。 使用例: Form の BorderStyle プロパティを操作して、画像だけを残して他を消します。 コンポーネントは、 Image, PopupMenu, Button を適当な大きさで配置します。 PopupMenu1 には、Close というメニューを作って、Form の PopupMenu プロパティに割り当てておきます。 Image1 に表示する画像は、適当な名前(サンプルでは"test.bmp")でアプリケーションと同じフォルダに用意しておいてください。 コーディングは、Button の OnClick で、BorderStyle プロパティを bsNone に設定して、Image1 をフォームいっぱいに広げ、画像を読み込んでいます。Botton1 は隠しています。 このままではフォームが閉じられないので、PopupMenu の OnClick で Close メソッドを実行しています(このイベントは忘れずに用意しておいてください)。 //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // Form1 に貼り付けた Bitmap を残して、それ以外の部分を見えなくする。 // (Bitmap 以外の場所を透明化したように見えます) BorderStyle = bsNone; //サイズ変更不可。可視境界線なし Image1->Stretch = true; Image1->Align = alClient; Image1->Picture->Bitmap->LoadFromFile("test.bmp"); Button1->Visible = false; } //------------------------------------------------------------------- void __fastcall TForm1:::Close1Click(TObject *Sender) { Close(); } //------------------------------------------------------------------- |