VB6にて作成したexeが200くらいあるのですが、当時NT4.0、Win95を対象に作成していたので問題がなかった(気づかなかった)のですが、WinXPで作成した画面を見るとラベルのところと背景のところの色などが統一できていないのに気づきました。WinXPでもクラシックスタイルにして色の設定を落とすと問題ないのですが、それもおかしいと思うので修正したいのですが、なにぶん数が多いので対象となるexeのみ抽出したいと思っています。が、その方法が分かりません。(地道な作業しかないのかもしれませんが・・・)もし何かよい手法やご存知の方がいらっしゃいましたらどうぞよろしくお願いします。
No.2ベストアンサー
- 回答日時:
.frmファイルを直接いじるという手もあります。
テキスト検索機能があるテキストエディタ(mifes等)にて
対象ファイル= *.frm
検索キー="BackColor"
を検索して、タグジャンプ→編集という手順が効率いいです。
この回答への補足
テキストフィールドタイプのプロパティだとラベル部分とフィールド部分があると思うのですが、どうやらプロパティを開いてキャプションのBackColorがおかしいようです。
(ラベルのほう)
この部分のみ抽出または判別する方法はないのでしょうか?
また、お教え頂いた方法で抽出したBackcolorはVBを直接開いた場合どこにソースがあるのでしょうか?*.frmのソースを直接検索しても「見つかりません」となるのですが。。。
どうぞよろしくお願いします。
回答ありがとうございます。
幸運にもmifesがインストールされていたので早速実行してみましたが、backcolorだと思った以上に検索されてしまうのですね。ただ、VBのファイルとかも一般のエディタで検索できる事が分かりました。
ありがとうございました。
やはり地道に修正していくしかないようですね・・・
No.4
- 回答日時:
ふたたび#1の者です。
>なにやらInputManとかいうOCXをインストールしているらしくそれにimMaskとかいうのがあって、それにはラベル部分とテキストを入力する部分が一緒になってて、VB開いた時の右側のプロパティの部分にはテキストを入力する部分のBackcolorしかなくて、画面上で右クリックするとキャプションというのがあってという感じだったのです。
おっしゃるとおり、InputMan(v5で試しました)にはCaption部分のBackColorがないですね。
しかし、画面のデザイン色を変更してウィンドウの背景色を変な色にしてみましたが、ちゃんとシステムカラーが設定されているようでした。
いったい、外部に公開されてないはずのCaption部分のBackColorをどうやって変更したのでしょう?
何も考えないで貼り付けて使っていれば大丈夫なはずですが・・・。
考えられるのは、内部的なプロパティがコントロールのバグによりシステムカラーから個別色に変わってしまうと言うことが考えられます。
以前、同社製品のSpreadにありました。
その時は、力業でfrxをバイナリエディタで解析して修正しましたが・・・。
コントロールのバージョンはいくつでしょう?
またパッチはあたってますか?
この回答への補足
>いったい、外部に公開されてないはずのCaption部分のBackColorをどうやって変更したのでしょう?
おそらく普通に貼り付けて周りの色に合わせようと右クリックしてプロパティ→キャプション→backcolorで設定したのだと思います。(すいません。今は当時の開発者はいないので想像でしか分かりません)
>コントロールのバージョンはいくつでしょう?
コントロール?InputManのバージョンは6.0Jです。
>またパッチはあたってますか?
おそらくあたってないと思います。何処をみれば分かりますか?
マイナーな話ですいません。
1個1個開いていけば直せるのですが200以上のexe*数十個のプロパティを修正となると頭が痛くなります・・・
どうにかしてこの部分のみ抽出して修正する事ができないでしょうか?
No.3
- 回答日時:
# labelコントロール等のBackColorプロパティの話だと思ったのですが。
。。>テキストフィールドタイプのプロパティ
>ラベル部分
>フィールド部分
>プロパティを開いてキャプションのBackColor
すいません。全く意味が分かりません。
この回答への補足
すいません。文章能力がなくて・・・
># labelコントロール等のBackColorプロパティの話だと思ったのですが。。。
そうなんです。そのとおりなのです。
なにやらInputManとかいうOCXをインストールしているらしくそれにimMaskとかいうのがあって、それにはラベル部分とテキストを入力する部分が一緒になってて、VB開いた時の右側のプロパティの部分にはテキストを入力する部分のBackcolorしかなくて、画面上で右クリックするとキャプションというのがあってという感じだったのです。
標準のVBじゃなかったようです。
わざわざお手数かけてすいません。
もしInputManとかご存知でしたら教えて下さい。
No.1
- 回答日時:
システムカラーのvbButtonFaceを使用せず&HC0C0C0が指定されていたわけですね。
私の場合、これを回避するため、パブリックプロシージャを標準モジュールかクラスモジュールにForm_Load時に必ず呼び出される関数を作成し対処してます。
その関数では、Formの背景色や、ラベルやパネルなど強制的に背景色を設定してます。
ラベルやパネルなどはFormにいくつ存在するかわかりませんが For Each を使用すればいくつ存在していても一括して扱えますね。
すべてのFormのForm_Loadイベントにその関数をCallする部分を挿入しなければならない手間はありますが、プロパティーシートを開いて全ての画面の全てのコントロールを変更していくより遙かにましだと思います。
また、今後は、共通的な画面仕様を変更する場合一括して変更することが容易になりますので今後の保守性も向上します。
早速の回答ありがとうございます。なるほど一つ一つ開いてプロパティを修正しなくてもいい方法があるんですね。
ただ今回は指定しているところと指定してないところが半々?あるのでプロパティを修正する事になると思うのです。その際その判別方法はないかな~と思い質問させて頂きました。
このアドバイスは次回作成時に考慮したいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Illustrator(イラストレーター) Illustratorでオブジェクトの色が勝手に変わって困っています。 4 2022/09/04 18:47
- 数学 『4色問題③』 2 2022/11/14 00:31
- デスクトップパソコン windows11のシステム修復をしたい 3 2022/09/12 11:18
- 哲学 日本語の文法を考える 3 2022/06/23 10:05
- PowerPoint(パワーポイント) PowerPointの背景について 1 2023/03/12 15:22
- プリンタ・スキャナー Wordで作った宛名ラベルを印刷しようと思って、プリンターの上のところにある、手差しトレイ的なところ 3 2022/11/17 18:40
- 哲学 日本語のあたらしい文法を考えよう。 6 2022/06/25 17:41
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- Illustrator(イラストレーター) ワードに貼った画像のキャンバスと画像本体のサイズの調整 2 2022/05/19 18:31
- Excel(エクセル) エクセルの罫線が印刷できない 4 2023/02/04 10:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# アプリ終了時に設定を記憶...
-
デザインモードを解除すると消...
-
テキストボックス(VBA)でEnter...
-
C# TEXTが空白であるLABELは何...
-
VC++のコンボボックスの各項目...
-
VBのShapeコントロールを使用し...
-
Enabled=Falseのテキストボック...
-
ユーザーフォームに日付を表示...
-
Wordテキストコントロールが未...
-
コンボボックスの高さを変更し...
-
VB.NET ToolTipの表示条件について
-
ADOのCursorLocationプロパティ
-
VB6でLabelの最前面にText Box...
-
VB.NETで縦書表示をしたいので...
-
エクセルの画像にツールチップ...
-
Excel VBA テキストボックス...
-
VC++のエディットボックスの非表示
-
checkbox付きListViewで デフ...
-
DataGridViewで行の展開みたい...
-
VB6でPNGファイルを扱うには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
ADOのCursorLocationプロパティ
-
エクセルの画像にツールチップ...
-
Wordテキストコントロールが未...
-
VB.NETで縦書表示をしたいので...
-
VBからエクセルのテキストボ...
-
ACCESS2010 ActiveXコントロー...
-
チェックボックスの文字色の変え方
-
エクセル入力規制リスト行数
-
Enabled=Falseのテキストボック...
-
C# アプリ終了時に設定を記憶...
-
checkbox付きListViewで デフ...
-
DataGridViewで行の展開みたい...
-
MSFlexGridとDataGridの違いに...
-
コンボボックスの高さを変更し...
-
デザインモードを解除すると消...
-
VB6でLabelの最前面にText Box...
-
MSFlexGrid
-
PictureBoxの背景色変更(VB.NET)
-
VB.NET ToolTipの表示条件について
おすすめ情報