ab.com コミュニティ
https://www.activebasic.com/forum/

マニフェストを埋め込むとボタンが…
https://www.activebasic.com/forum/viewtopic.php?t=4585
ページ 11

作成者:  オハツ [ 2016年8月28日(日) 10:15 ]
記事の件名:  マニフェストを埋め込むとボタンが…

マニフェストを埋め込んだらボタンが凹状態に出来無く成りました。
SendDlgItemMessage(hMainWnd, CommandButton1, BM_SETSTATE, 1, 0) 'ボタンが凹状態

それと、テキスト色も変更出来なく成りました。
SetBkMode(hDC, OPAQUE)
SetBkColor(hDC, bc)
SetTextColor(hDC, tc)

よろしくお願い致します。

作成者:  たかせ [ 2016年8月29日(月) 15:24 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

確認ですが
●ABのバージョンはAB5CP5ですか?
●WindowsのバージョンはXp,Vista,7,8.1,10のどれでしょうか?

①マニフェストを埋め込んだらボタンが凹状態に出来なくなった件
Windows 7で確認したところ確かに外見上は凹状態になっていませんでした。
詳細はわかりませんがこれはおそらくWindowsの仕様だと思います。
なので不都合がなければマニフェストをはずすことをおすすめします。

②テキスト色も変更出来なくなった件
テキスト色は文字色、文字背景色のどれでしょうか?
文字色を変更する処理の部分ソースコード記載お願いします。
ちなみに私場合マニフェスト関係なくテキスト色の変更出来ています。

よろしくお願いします。

作成者:  オハツ [ 2016年8月30日(火) 11:14 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

たかせ様

ありがとう御座います。

●ABのバージョンは、AB4.24.00 です。
●Windowsのバージョンは、Xp Home Edition service pack 3 です。

SetBkMode(hDC, OPAQUE)
SetBkColor(hDC, bc) -------- バックグランド カラー
SetTextColor(hDC, tc) --------テキスト カラー


よろしくお願い致します。

作成者:  オハツ [ 2016年8月30日(火) 11:35 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

すみません。

カラーの変更、出来ていました。

EnableWindow()関数で、ウインドウを無効に出来ません。

よろしくお願い致します。

作成者:  たかせ [ 2016年8月30日(火) 12:09 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

Windows 7(32Bit)にてEnableWindow関数を実装してるWindows Xpで開発したプログラムを動かして確認しました。
Xp/7(おそらく8.1/10も)共に挙動は同じです。
●AB4.24でコンパイルしたプログラムはマニフェスト埋め込みなし
●AB5コンパイルしたプログラムはマニフェスト埋め込みあり
いずれもEnableWindow関数で、ウインドウを無効することができました。
そこでできればEnableWindow()関数の記載部分をお願いします。
ちなみに無効にするときはEnableWindow(GetDlgItem(hMainWnd,EDITBOX),0)となります。
ところでAB4.24にはマニフェスト埋め込み機能がないので何かツールを使って埋め込まれたのでしょうか?
よろしくお願いします。

作成者:  オハツ [ 2016年8月30日(火) 14:29 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

たせ様

ありがとう御座います。

グループボックスだけが、
EnableWindow(GetDlgItem(hMainWnd,GroupBox1),0)
変更出来きません。

マニフェストは、AB5で埋め込みました。

よろしくお願い致します。

作成者:  たかせ [ 2016年8月30日(火) 21:14 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

試してみたら、確かにグループボックスを無効にしても表示が薄くなるだけで効果ありませんでした。
そこで以下の方法で無効にできました。
たとえばGroupBox1のグループ内にラジオボタンRadioButton1とRadioButton2があるとして無効にしたいときは、

EnableWindow(GetDlgItem(hMainWnd,GroupBox1),0)に

EnableWindow(GetDlgItem(hMainWnd,RadioButton1),0)
EnableWindow(GetDlgItem(hMainWnd,RadioButton2),0)を追加します。

ご確認願います。
よろしくお願いします。

作成者:  オハツ [ 2016年8月30日(火) 22:01 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

たかせ様

お名前が「たせ」に、成ってしまい失礼致しました。

編集出来ないのですね。

作成者:  オハツ [ 2016年8月30日(火) 22:54 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

たかせ様

ありがとう御座います。

>表示が薄くなるだけで...
無効にした時、表示が薄く成りましたか?

ラジオボタンを追加しても変化ありませんでした。

よろしくお願い致します。

作成者:  オハツ [ 2016年8月30日(火) 23:03 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

やはりグループボックスのキャプションのカラーが、青色のままで変更出来きなせん。

作成者:  たかせ [ 2016年8月31日(水) 21:45 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

>ラジオボタンを追加しても変化ありませんでした。
グループボックスにあるラジオボタンをすべて無効することです。

例としてグループボックスに3個のラジオボタンがある場合
EnableWindow(GetDlgItem(hMainWnd,GroupBox1),0)
EnableWindow(GetDlgItem(hMainWnd,RadioButton1),0)
EnableWindow(GetDlgItem(hMainWnd,RadioButton2),0)
EnableWindow(GetDlgItem(hMainWnd,RadioButton3),0)

>やはりグループボックスのキャプションのカラーが、青色のままで変更出来きなせん。
確認したところマニフェストを埋め込むとテキストカラーがなぜか変更できないようです。
やはりWindowsの仕様でしょうか
そこでグループボックスのキャプション部分にスタティックテキストを重ねてこのテキストカラーを変更をすることができました。
よろしくお願いします。

作成者:  オハツ [ 2016年8月31日(水) 22:45 ]
記事の件名:  Re: マニフェストを埋め込むとボタンが…

たかせ様

ありがとう御座いました。

Windowsの仕様じゃ、仕方が無いですね。

スタティックテキストを重ねてこのテキストカラーを変更をする方法でやってみます。

又、よろしくお願い致します。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/