オーナードロー、丸角ボタンの作成方法 – プログラミング – Home

オーナードロー、丸角ボタンの作成方法
 
通知
すべてクリア

[解決済] オーナードロー、丸角ボタンの作成方法


えとぉ
 えとぉ
(@えとぉ)
ゲスト
結合: 17年前
投稿: 4
Topic starter  

WinXP SP2
VC2005 SP1
MFC

オーナードローを使用し、
色を変更したボタンの作成を行いました。

作成方法としては、以下のページを参考にさせて頂いています。
http://homepage3.nifty.com/mitui707/VisualC/VCod_colorbtn.html/

色の変更はできたのですが、
ボタンの角が、直角のものができてしまいます。

XPのような、丸角ボタンを作成するには、
どうすればいいのでしょうか?

よろしくお願いします。


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

Draw3DRect を使っていれば、長方形になるのは当然ですね。
XP のボタンと全く同じ見た目にしたいのであれば、DrawThemeBackGround とか
DrawThemeEdge といった関数が使えます。
が、カスタマイズした角丸ボタンとなると…
RoundRect が角丸四角形を描くのに使えますが、3D っぽくはならないので、そこは自力
で 3D っぽい見た目に描く必要があるでしょう。


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

オーナードロウと言うのは基本的にそのコントロールの描画を
全てプログラマ側で用意してやるので組込み済みの動作は止めてね
という意味で設定するわけですから、何から何まで自分でやら無いといけません。
そういう意味ではシャノンさんが言われているように自分でXPの標準ボタンっぽく
見えるように頑張って描画するしか無いと思います。
まあ、色を変えてしまうのですから思い切ってボタンの外観も変えてしまうと言うのも
一つの方法だとは思いますね。
本来はその為のオーナードロウですし。
標準のXPのボタンと多少違っていても御愛嬌と言うところかと。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

ビットマップボタンでは無理なんですか?
赤色の3Dのビットマップファイルを作って読込めばいいんですよね。


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 21年前
投稿: 33
 

「コントロールの形」を非矩形にしたいなら CWnd::SetWindowRgn() でウィンドウリー
ジョンを設定します。


返信引用
えとぉ
 えとぉ
(@えとぉ)
ゲスト
結合: 17年前
投稿: 4
Topic starter  

みなさん、回答ありがとうございます。

ご意見を参考に検討しましたが、
納期がギリギリな為、
愛嬌と言う方向でいこうと思っています。

ただし、時間ができたときに、
上記を参考にさせていただき、チャレンジしてみようと思っています。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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