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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
MFCで画像を表示させているのですが、透過表示する方法がわかりません。
C言語・C++・C#
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
MFCでOnPaintのタイミング
C言語・C++・C#
-
-
4
VC++でコントロールの境界線を描画する方法
C言語・C++・C#
-
5
CStaticコントロールの静的イメージ描画
C言語・C++・C#
-
6
ビットマップ(bmp)形式で背景を透過にできる?
画像編集・動画編集・音楽編集
-
7
ボタンの表示の色、フォントを変更したい
C言語・C++・C#
-
8
VC++にてボタン等のサイズ取得
C言語・C++・C#
-
9
リソースエディタでスタティックテキストの文字サイズの変更
C言語・C++・C#
-
10
Visual Studioでのbmpファイルの背景透明化
C言語・C++・C#
-
11
エディットコントロールの色の変更方法
C言語・C++・C#
-
12
コンボボックスの高さを変更したい。
C言語・C++・C#
-
13
テキストボックスからフォーカス外す
C言語・C++・C#
-
14
ボタンの配置を変更したい
C言語・C++・C#
-
15
OnPaintとOnDraw関数の違いについて
C言語・C++・C#
-
16
エディットボックスのフォントを変えたい
C言語・C++・C#
-
17
VC++のコンボボックスの各項目の背景色と文字色を変える方法
C言語・C++・C#
-
18
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
19
アイコンをボタンに貼り付け
C言語・C++・C#
-
20
ダイアログ属性の変更
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
DataGridViewで行の展開みたい...
-
VB.NETで縦書表示をしたいので...
-
MFCでbitmapを背景にしてstatic...
-
エクセル入力規制リスト行数
-
Enabled=Falseのテキストボック...
-
VBからエクセルのテキストボ...
-
VB2005 コードでのコントロー...
-
デザインモードを解除すると消...
-
lbl.Caption の意味
-
エクセルの画像にツールチップ...
-
VB6でLabelの最前面にText Box...
-
Wordテキストコントロールが未...
-
コンボボックスの高さを変更し...
-
WORD □ レ点(その2)
-
Excelのワークシートでのコンボ...
-
ADOのCursorLocationプロパティ
-
C#でユーザコントロールのプロ...
-
ユーザーフォームに日付を表示...
-
データベースから情報の取得・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
エクセルの画像にツールチップ...
-
ADOのCursorLocationプロパティ
-
Wordテキストコントロールが未...
-
ACCESS2010 ActiveXコントロー...
-
VBからエクセルのテキストボ...
-
C# TEXTが空白であるLABELは何...
-
VB.NETで縦書表示をしたいので...
-
チェックボックスの文字色の変え方
-
DataGridViewで行の展開みたい...
-
ユーザーフォームに日付を表示...
-
コンボボックスの高さを変更し...
-
C# アプリ終了時に設定を記憶...
-
デザインモードを解除すると消...
-
VB6でLabelの最前面にText Box...
-
Enabled=Falseのテキストボック...
-
MSFlexGrid
-
PictureBoxの背景色変更(VB.NET)
-
checkbox付きListViewで デフ...
-
エクセル入力規制リスト行数
おすすめ情報