ボタンを消すと、その後ろが真っ白になってしまう、色を設定したい。 – プログラミング – Home

ボタンを消すと、その後ろが真っ白になっ...
 
通知
すべてクリア

ボタンを消すと、その後ろが真っ白になってしまう、色を設定したい。


竹千代
 竹千代
(@竹千代)
ゲスト
結合: 20年前
投稿: 3
Topic starter  

自作のボタンをDestroy()で消すと、その後ろが真っ白になってしまいます。
バックに色を設定していても真っ白になってしまいます。
なにか、方法は、ないのでしょうか?


引用解決済
トピックタグ
KING・王
 KING・王
(@KING・王)
ゲスト
結合: 20年前
投稿: 122
 

MFCの使用の有無や、そのボタンが消される前にダイアログ上あったのか、MDIなどのクライ
アントウィンドウ上にあったのか、
ツールバー上にあったのか、など不明点がやまずみなので、このままでは回答のしようがないよ
うな気がしますが。

取りあえず、単純に再描画がされていないだけでは?

回答になっていませんが、とりあえずもう少し詳しい環境や、できればソースコードの添付な
ど、
情報の提供をしないと、回答がえられませんよ。


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

>自作のボタン
って何?
普通 ボタンコントロールを使うんじゃないの
>バックに色を設定していても
って何のコントロールに対して指定してんの?

「竹千代」の開発・実行環境はどうなの
OSは?
バージョンは?
コンパイラの種類は?
サービスパック、PTF、パッチ はどこまで、何の種類まで当ててあるの?

>発言される前に「使用上の注意」を必ずお読み下さい。
って読まなかったの
まさか マルチポスト なんてしてないよね

何でもありで書き込む人結構いるので不透明な質問はやめましょう

どう聞いていいのか分からなければ、ソースコード載せて見てください


返信引用
竹千代
 竹千代
(@竹千代)
ゲスト
結合: 20年前
投稿: 3
Topic starter  

失礼しました。
OSは、XP。
コンパイラは、VC++6.0.
自前のボタンをCBitmapbuttonクラスをつかって作成しています。

ソースは、ボタン作成は以下のとおりで、
CClientDC pDC(this) ;

int ix,iy ;
ix = 900 ;
iy = 560 ;
bitmapButton[0].Create(_T(_),

WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW ,
CRect(ix,iy, ix+79, iy+124),
this,
ID_SO_START);
VERIFY(bitmapButton[0].LoadBitmaps(戻るU,戻るD));

戻るをクリックすれば、デストロイ実行するようにしてあります。

bitmapButton[0].DestroyWindow() ;
pDC.FillRect(CRect(0,0,width,height), &CBrush(RGB(0x80,0,0))) ;

:
:
バックグランドも書いているのですが、ボタンのあと(白くなってしまう)が残りま
す。


返信引用
Y太
 Y太
(@Y太)
ゲスト
結合: 20年前
投稿: 1
 

> pDC.FillRect(CRect(0,0,width,height), &CBrush(RGB(0x80,0,0)));
この部分のCRECTの値がおかしいのではないでしょうか?


返信引用
竹千代
 竹千代
(@竹千代)
ゲスト
結合: 20年前
投稿: 3
Topic starter  

KING・王殿、wood 殿、Y太 殿、レスポンスありがとうございます。
まだ、解決は、していませんが、一部、私自身の間違いにきずきました。
ボタンは、クリエイトされるときにビューにかかれるのではないということなので、
デストロイしたときに消えるのでは、ないと思われます。
フレームワークなので、どのタイミングで消されるのかは、わかりませんが、
とにかく、タイミングの問題であるようです。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました