
MFCでbitmapを背景にしてstaticテキストを透過させる方法
VisualStadio2005
MFC
ダイアログベースでプログラムを作成しています。
bitmapをPictureControlで配置し、その上にStaticControlを配置して
画像の上に文字が表示されるようにしたいのですが、
Staticの背景を透過させて、下の画像を表示されることができません。
OnCtlColor()でstaticにSetBkMode(TRANSPARENT)を設定すると、
Dialog自体の色が出てきてしまいます。
どうかご教示お願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>TABオーダ変更(StaticCtrl>PictureCtrl)とすると、
>Bitmap上にStaticテキストが表示されます。
>テキストの周りの白色(Staticの背景)を透明にしたかったので、
>OnCtlColorでSetBkMode( TRANSPARENT )を設定したのですが、
>テキスト周りの色がDialogの背景色になってしまいます。
書いたコードでやってもTABオーダ変えるだけでも
同じ結果になるんじゃないですか? ってことを言いたかっただけです
手元の環境でちゃんと確認してみました
結果ちょっと嘘かいてました(Textのみを自前で表示では実現できませんでした)
こちらで実行した状況としては以下のようになります
DialogにはBitmap表示用のコントロールとしてフレームコントロールを配置
BitMap読み込みイベントとしてボタンコントロール配置
ボタンイベントにてBitmapを読み込み再表示かけた所(PAINTイベント発生させた)
普通に表示できました(VC6で確認 添付テスト画像)
起動時の画面とBitmap読み込み表示後の画面です
(12344 と赤丸と Bitmapを 自前で表示している形となります)

No.1
- 回答日時:
>OnCtlColor()でstaticにSetBkMode(TRANSPARENT)を設定すると、
>Dialog自体の色が出てきてしまいます。
わざわざプログラムコード書かなくても
TABオーダ変更するだけでこうなるのではないかと思います
でもってコントロール配置のパターンではご希望のことはできなかったような気がします
PAINTイベントで TextOut するという方法ではだめでしょうか?
この回答への補足
ご回答ありがとうございます。
TABオーダ変更(StaticCtrl>PictureCtrl)とすると、
Bitmap上にStaticテキストが表示されます。
テキストの周りの白色(Staticの背景)を透明にしたかったので、
OnCtlColorでSetBkMode( TRANSPARENT )を設定したのですが、
テキスト周りの色がDialogの背景色になってしまいます。
>PAINTイベントで TextOut するという方法ではだめでしょうか?
OnPaintでTextOut()を試してみましたが、
Pictureコントロール描画前にOnPaintが実行されるようで、
TextOutで描画した文字にPictureが載るようになってしました。
Pictureコントロールを使わずに、
CBitmapのインスタンスにリソースをLoadBitmap()して、
OnPaintで描画してみましたが現象が変わりません。
StaticにSetBkMode( TRANSPARENT )を設定する方法では、
Dialogの背景色以外をすべて透過してしまうため、
Bitmap上に文字を置くということができないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) ペイントで切り抜いた画像の背景を透明に 2 2022/09/15 10:20
- Photoshop(フォトショップ) フォトショップで切り抜いた画像を透明にするには 3 2022/09/15 11:50
- Windows 10 zoomで自分の顔の背景 3 2023/06/07 22:34
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- Photoshop(フォトショップ) 【至急】 ウェブサイトやアプリとかでよく見かける、添付画像のように背景にあるものをぼかしつつ透過する 2 2023/07/17 10:57
- 画像編集・動画編集・音楽編集 ドイツの選手が、中国代表のユニフォームを着ている画像を作りたいのですが 1 2023/07/28 09:46
- 画像編集・動画編集・音楽編集 動画の不要な部分を透過出来るフリーソフトありませんか? 3 2023/06/08 09:31
- Photoshop(フォトショップ) photoshopについて このサイトにあるような方法を背景透過している画像にやると、雷を纏ったよう 1 2022/06/17 18:51
- Photoshop(フォトショップ) フォトショップで背景をくり抜く方法 2 2022/05/14 12:39
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
このQ&Aを見た人はこんなQ&Aも見ています
-
ダイアログの一部を半透明化する C++(MFC)
C言語・C++・C#
-
ボタンの表示の色、フォントを変更したい
C言語・C++・C#
-
MFC ポップアップメニューのチェック表示について
C言語・C++・C#
-
-
4
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
5
画面を強制的に再描画させる方法
C言語・C++・C#
-
6
ビットマップ(bmp)形式で背景を透過にできる?
画像編集・動画編集・音楽編集
-
7
MFCダイアログボックスを最前面に表示
C言語・C++・C#
-
8
リソースエディタでスタティックテキストの文字サイズの変更
C言語・C++・C#
-
9
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
10
MFCでコンボボックスを選択不可状態にしたい
C言語・C++・C#
-
11
MFCで画像を表示させているのですが、透過表示する方法がわかりません。
C言語・C++・C#
-
12
VC++ スタティックテクスト(Static Text)をダイアログ生成時に動的に変更したい
C言語・C++・C#
-
13
Visual Studioでのbmpファイルの背景透明化
C言語・C++・C#
-
14
ダイアログボックスで指定したサイズどおり表示されない
C言語・C++・C#
-
15
CFileDialogの最初のディレクトリ設定
C言語・C++・C#
-
16
ボタンのオーナードローについて
C言語・C++・C#
-
17
VC++で文字列から任意の文字を削除するにはどうしたらいいですか?
C言語・C++・C#
-
18
MFCでOnPaintのタイミング
C言語・C++・C#
-
19
ボタン上にビットマップ、アイコンを貼り付ける方法
C言語・C++・C#
-
20
SetDlgItemTextの使い方について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelテキストボックスのTab順...
-
ACCESS VBA でのテキスト表示
-
デザインモードを解除すると消...
-
ユーザーフォームを表示中にシ...
-
VBA(エクセル)で自動的にボタン...
-
worksheetFunctionクラスのVloo...
-
VBAがブレークモードになっ...
-
ユーザーフォームに別シートか...
-
VBA シートのボタン名を変更し...
-
どう増強すべきか
-
VBAで多数のプログラムを一つの...
-
ExcelVBAのユーザーフォームの...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 438になった時の...
-
エクセルのVBAの標準モジュール...
-
【C#/Java?】try-catchでcatch...
-
Excel VBA セルの名前があるか...
-
パソコンへの「Dropbox...
-
キンドルでの購入が親にバレな...
-
chr関数の呼び出しで「プロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
Wordテキストコントロールが未...
-
エクセルの画像にツールチップ...
-
ユーザーフォームに日付を表示...
-
C# TEXTが空白であるLABELは何...
-
エクセル入力規制リスト行数
-
MSFlexGrid
-
コンボボックスの高さを変更し...
-
ACCESS2010 ActiveXコントロー...
-
Enabled=Falseのテキストボック...
-
VB6でLabelの最前面にText Box...
-
ADOのCursorLocationプロパティ
-
DataGridViewで行の展開みたい...
-
checkbox付きListViewで デフ...
-
VB2005 コードでのコントロー...
-
チェックボックスの文字色の変え方
-
VB6でPNGファイルを扱うには?
-
PictureBoxの背景色変更(VB.NET)
-
VB.NETで縦書表示をしたいので...
-
MFCでbitmapを背景にしてstatic...
おすすめ情報