VC++ Visual Studio 2010:ボタンに画像を透過させることができました (・ω・)ノ [プログラミング]
ボタンをこんなふうにグラデーションさせたのは(  ̄っ  ̄)ム
おまけに、マウスオーバーするとキレイなマリンブルーに変わってくれて...
―> |
おかげで、このバックグラウンドを活かしながら画像を載せようと(透過)することに、どれだけ試行錯誤し、調べたことかっ!
...はっきりいって疲れました orz
しかし、やっと透過ボタンを作成することができたので 思いっきりシェアします。
この方法がベストがどうかは分かりませんが、透過ボタンで苦労しているアナタの助けになれば幸いです。
(・ω・)ノ
今回わたしが作成したのは、いたってシンプルなものです。
ダイアログに数個のボタンを並べて、コンテンツイメージが表示されたボタンを押すとそれに沿った処理を起動するというもの。
- ボタンのプロパティ設定
リソースビューから対象のダイアログを開き、プロパティのプロパティを以下のように設定
表示-Bitmap:True
また、例として以下の内容で作業します。
その他-ID:IDC_BUTTON1
表示-Caption:Button1 - イベント(=関数)の追加
プロパティの管理イベントを以下の様に設定
BN_CLICKED:OnBnClickedButton1 - 変数の追加
ボタンを右クリックし、変数の追加を選択(メンバー変数の追加ウィザード)より
>ここまでが環境設定。
■リソースの準備
ボタンに透過するための画像(.PNG)ファイルを用意します。
当初 私は、BMPファイルで試行錯誤(手元に初級者向けの本しかなかったこともあり、ネットで検索、サンプル or アレンジ の繰り返し)していたのですが まったくうまく行かず、また、それらしい示唆があっても私のスキルでは難しくて...
(ο´・ д・)??
しかし、やり方次第では BMP ファイルでもできるのかもしれません。
その辺りは、手練れのプログラマーさんにお願いしたいと思いマス (^^;;;;
検索ワードは知れているのですが、とにかくネットで “VC++ ボタン 透過” とか “VC++ ボタン 画像透過” などで調べた結果、やっとたどり着いたのがこのページでした。
透過(アルファ)ボタンMFCライブラリの詳細情報 : Vector ソフトを探す!
(あと ココも参考になると思いマス Program Tips - 物置本館 )
このライブラリを DL し、圧縮ファイルを解凍すると AlphaSample というフォルダが作られます。
さらにその配下の 同じく AlphaSample にある プロジェクトファイル AlphaSample.sln をダブルクリックして Visual Studio を起動、ビルド すると OKとなりますが...
AlphaSample (root)
+-AlphaSample
+-AlphaSample.sln
実行すると
で終了します ( ̄◇ ̄;)エッ ...
どうやら アクアボタン用 の pngファイル が無いらしい。
で、
AlphaSample (root)
+-AlphaSample
+-AlphaSample
+-AlphaSample.cpp
の、
BOOL CAlphaSampleDlg::OnInitDialog()
にある
if( FALSE == m_cBtn4.LoadBitmap(...
の if ブロック を コメントアウトして下さい。
こんな画面が出現します (・ω・)ノ
前置きが長いデスね ( ノ゚Д゚)
では、ボタンに画像を透過させる方法の答えを
AlphaSample (root)
+-AlphaSample
+-AlphaSample
+-AlphaSample.cpp
の、
BOOL CAlphaButton::LoadBitmap(UINT nIDResource,LPCTSTR pResourceType)
が、その答えです。
とりあえず、ここでブログにアップしておきます。
たぶん、ここにたどり着いたアナタは、上記のコトだけで理解できてしまうのではないかと思いマスが、あとでまた 続きを書きますね。
(^ω^)ノ
コメント 0