私はDelphiを使用しています。クラスTControlで独自のラベルコンポーネントを作成しています。 プロパティ(キャプション、フォントなど)に従ってテキストをペイントする前に、コンポーネントの場所に何もないように、ペイントrectをクリアします。私はガラスのようにして、それの後ろにある他のコンポーネントが表示されるようにしたいのです。テキストをペイントします。ラベルの後ろに配置されている他のコンポーネントをペイントするにはどうしたらよいですか?以前に塗られたものをどのようにクリアすることが可能ですか?
1
A
答えて
4
これを行うには、何もする必要はありません。 :-)
透明なラベルのようなコンポーネントを作成する場合は、TGraphicControl基本クラスを使用するのが最適です。これは実際にペイントするキャンバス以上のものではありません。コンテンツを変更する必要があるときはいつでも、Invalidate
メソッドを呼び出してコントロールを再描画します。これにより、オーバーライドできるPaint
メソッドが呼び出されます。すべての塗り直しで、コントラストは透明で透明になりますが、Paint
メソッドでは描画する部分を除きます。
0
背景ペイントを無効にして無効にしない限り、何もする必要はありません。それはあなたが行くベースクラスに依存します。
Canvas.Brush.Style:=bsSolid;
Canvas.Brush.Color:=self.Color; //If you have a public color property
Canvas.FillRect(ClientRect);
また、TControlCanvasで読み上げる必要があります(Paint()メソッドで)。このトピックを詳しく扱うウェブサイトは次のとおりです:http://www.delphidabbler.com/tips/75
関連する問題
- 1. Android - 別のアプリを変更することは可能ですか?もしそうなら、どのように?
- 2. fontawesomeアイコンの色を塗ることは可能ですか?
- 3. NSStringの値の後に名前が付けられたオブジェクトを作成することは可能ですか?
- 4. カスタムコントロールで新しいものを描画する前に描画したものをすべてクリアするにはどうすればよいですか?
- 5. 以前の夜間ビルドをダウンロードすることは可能ですか?
- 6. jQueryでは、どのようにして以前に追加しなかったコンテンツをもう一度追加することができますか?
- 7. アンドロイド/ windows phone/symbianでも以下のことが可能ですか?
- 8. mathematicaでこのダイナミックプロットはどのように可能ですか?
- 9. top.window.nameのようなものを使用することは可能ですか
- 10. 以前に割り当てられたリストをクリアするとC#辞書の値がクリアされます。なぜですか?
- 11. このgoogledrive.comフィッシングはどのように可能ですか?
- 12. は、それが(Rで?)簡単に、以前に計算された統計から箱ひげ図をプロットすることは可能です
- 13. Firefox5以上の拡張可能なテキストエリア機能をブロックするにはどうすればよいですか?
- 14. このJavaScript Cookieをクリアするにはどうすればよいですか?
- 15. がどのようにこのようなものが可能であるオブジェクトのメンバ変数
- 16. どのように機能が常に可換性でないことを示すことができます
- 17. これはどのような継承が可能です
- 18. jQueryは `$(window).width()`を変更できますか?このようなものが可能であるように
- 19. これは、このツリービューを何回も塗りつぶしている可能性がありますか?
- 20. asp.netでブラウザが閉じたときにセッションをクリアすることは可能ですか?
- 21. bxsliderどのようにカルーセルのようなサムネイルを作ることが可能ですか?
- 22. ことが可能どのようにブックマークやDisableControls
- 23. どのように以前のフォームフィールドから値を取得できますか?
- 24. SP /機能を専用のものにすることは可能ですか?
- 25. eclipseプラグインの名前変更オプションをどこからでも(つまり、ファイルメニューとコンテキストメニューから)無効にするにはどうすればよいですか?
- 26. C++ 11の前にクラス以外のコピー可能*と*非可動
- 27. 抽象クラスにキャスト...これはどのように可能ですか?
- 28. 誰もがどこからでもPerlスクリプトを実行可能にする方法はありますか?
- 29. この表と機能の名前はどのようにしたらいいですか?
- 30. OpenErpとDynamics Ax:OpenErpはどのようにプログラム可能でカスタマイズ可能ですか?
チャールズ・ペッツォールドのWindowsプログラミングの精密な研究は読んでいますか?あなたは確かにそこに答えを見つけるでしょう。 –