知り合いに聞かれたことなのですが、
VB5.0の開発環境のあるPCについて、
Windows2000からWindowsXPにOSを入れ替えたそうです。
そうしたところ、
VBのダイアログボックスだけがバージョンアップされてしまった、
ということで、
それだけ元のバージョンに戻すのはどうしたらよいでしょうか?
ちなみにVB6.0にコンバージョンするとなると、
割と手がかかりそうなので、
ひとまずはVB5.0のままでいくようです。
VB5.0のランタイムをインストールするとか、
どうにかしてocxを入れ替えたらよいのかな?
と思うのですが、
最適な対処法がよくわかりません。
ご存知の方がいらっしゃったら、よいと思われる対処法を教えてください。
No.1
- 回答日時:
VB5自体 WinXPでの動作保証がありませんがその点は大丈夫なのでしょうか?
http://www.microsoft.com/japan/msdn/vstudio/supp …
まぁ Win2000でも動作保障していないようですけど ・・・
OS付属のコントロールだと不具合が出そうですが・・・
具体的にどのようなコントロールなのでしょう
ご回答ありがとうございます。
コントロールはコモンダイアログでした。
動作保障していないためか、対処は無理そうです…。
参考URL、ありがとうございました。
No.2
- 回答日時:
OSのAPIを使用してダイアログを使用しているからではないでしょうか?
いっそ外観すべてをXPスタイルにしてみてはどうでしょうか?
マニフェストファイルを作るだけですのでさほど難しくはないはずです。
http://hanatyan.sakura.ne.jp/index.html
を参考になさってみてください。
OCXはSystemのフォルダに追加すればたいていは動くと思いますが、保障はできません。
ご回答ありがとうございました。
外観についてではなく、開発時に使用できない
ということだったようです。
参考URLなど、ありがとうございます。
勉強になりました。
No.3
- 回答日時:
作成したプログラムのフォームの、アイコンやタイトル、最大化/最小化ボタンが表示される部分、およびウィンドウの枠がXPのウィンドウと同じ外見になってしまっている。
フォームの中身(ボタンなど)は以前と変わっていない、という事を言いたいのでしょうか?
もし上記で合っているとすると、最終的に得たい結果によって何をするかが異なります。
1)ウィンドウ枠のみではなく、中身もXP仕様に変更したい。
2さんの言うように、マニフェストファイルを作る事で対応できます。
http://support.microsoft.com/kb/309366/ja
リンクはVB6の例ですが、VB5でも若干の修正で対応できます。
2)Win2000の頃と同様な、開発環境画面に戻したい。(実行環境はどうでもいい)
XPのヴィジュアルスタイルを無効にします(Windowsクラシックを選択します)
3)開発環境、実行環境とも、Win2000の頃と同様な画面に戻したい。
不可能です。
あえて言えば、フォームのBorderStyleをなしに設定して、ウィンドウ操作系の機能をすべて自作することで、ごまかす方法が考えられますが。
これはフォームの外枠(タイトルバーなどの部分)はOSが管理し、描画している領域だからです。
OS寄りの用語で言うと、ウィンドウ領域と言われることが多いですかね(ノンクライアント領域と言われることもあるようですね)。
ボタンなどを配置する領域は、クライアント領域と言います。(form1.InnerWidth,Form1.InnerHeightなどで取得できる、フォーム内部の事です)
質問の意図を外していたら、申し訳ない。
ご回答ありがとうございます。
質問を受けた知り合いに詳しく確認したところ、
VB5.0にてプログラムを製造しようとしたときに、
コモンダイアログがフォームに貼り付けられない
という現象だったようです。
(そこでバージョンを確認したところ6.0になっていたらしいです。)
ocxはレジストリに登録してあるから変更は難しそう、
とのことで、
動作保障もされていないししょうがないか、
という話になっております。
質問がアバウトでわかりにくく、すみませんでした。
外観に関する問題ではありませんでしたが、
マニフェストファイルのことを知らなかったので、
大変勉強になりました。
ありがとうございました。
No.4ベストアンサー
- 回答日時:
コモンダイアログですか、ダイアログと書いていたのでてっきりフォームの意味ではないかと思いました。
そのプラグラムのプロジェクト(VBP)を開いて、VBのメニュー、[プロジェクト]内から[コンポーネント]を選択します。
インストールされているコンポーネントの一覧から、
[Microsoft Common Dialog Control]を探します。
おそらく現在
[Microsoft Common Dialog Control 5.0]
[Microsoft Common Dialog Control 6.0]
と二つ並んでいて、6.0の方にチェックが入っている状態ではないかと思います。
6.0はVB6のためのコンポーネントで、それを指定したため開発ライセンスがないという事で、使用を拒否されているということだと思います。
VB6を購入、インストールしていないのに、なぜVB6のコンポーネントがインストールされているかと言えば、フリーソフト(とは限りませんが)などでVB6で開発したアプリケーションをインストールした際に一緒にインストールしたためでしょうね。(もしくは、XPには最初から一部のVB6コンポーネントが登録されているのかも知れません)
インストールはされていても、開発ライセンスがないために、リストには表示されるが開発作業に使用できない状態、なのにそれを使用しようとしているということでしょう。
たぶん[Microsoft Common Dialog Control 5.0]に変更することで解決です。
とはいえ、これって仕事で作成しているプログラムじゃないですよね?趣味であっても、完成したプログラムを公開・配布を考えているなら、少々怖いですね。
もし、CommonDialog6.0で開発できていたと仮定すると、開発ライセンスがない=配布ライセンスもない=公開・配布する際には違法配布になってしまう。
同じような事が、他のDLLやOCXで発生しているかも知れません。
ご回答ありがとうございます。
確かXPに最初から登録されていたんだと思います。
対処法を教えてみますね。
このプログラムですが、
知人自身が業務上の事務処理に使用しています。
販売、公開、配布などをすることはありません。
念のため、ライセンスについての注意もしておこうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Microsoft ASP ASP.NETや.NET、C#とかVBとか 2 2022/05/16 21:16
- Visual Basic(VBA) VBでExcelの表形式の様なデザインを作りDBと連携させる。 4 2023/02/28 11:39
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- 物理学 2物体の単振動 1 2023/08/17 20:27
- 工学 非対称三相交流について 2 2022/07/06 00:36
- 物理学 Va=1/4πε × (q1/a + q2/b + q3/c) Vc=1/4πε × (q1+q2+ 2 2023/04/16 14:08
- Visual Basic(VBA) VBプロジェクトでのフォルダ構成について 1 2023/07/22 03:49
- 物理学 物理 この問題はどう解けばいいのか教えて欲しいです。A側の運動量保存則は MaV₁a+mv=MaV₂ 1 2022/06/22 18:05
- 物理学 黄色マーカVbと書いてあるのですがVaの間違いですかね? また左の項ですと、積分範囲∫(r1→a)で 1 2023/06/21 15:29
- 工学 電気回路について質問があります。 テブナン関連の問題なのですが、青線ないの意味がよくわかりません。な 4 2023/01/17 16:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[VB.net] ExcelへのQRコード出...
-
ListViewで文字化けしてしまい...
-
発行元:不明???
-
次のクラスは登録されていませ...
-
wininet.dllとwsock32.dllについて
-
DAO3.6とACCESSの関係
-
Access2000のランタイムを...
-
VB6(SP5)+OO4OでCreateObjectが...
-
ビルドした.exeファイルは.NE...
-
Microsoft Visual C++ 2008
-
VBAでArrayListを使う為の「msc...
-
Excel 12.0とExcel 10.0両方を...
-
vba 時間の引き算 例えば 15:00...
-
VBで実行中のEXEファイルの情報...
-
「読み込み違反」が起きたとき...
-
Visual Studio 「AnyCpu」について
-
VBAにて指定したセルをプルダウ...
-
VBAでOutlookを終了させたい Ex...
-
意味不明の実行時エラーで困っ...
-
アウトルックが起動しているか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6(SP5)+OO4OでCreateObjectが...
-
VBAでArrayListを使う為の「msc...
-
VB.NETでSPREADの設定方法
-
[VB.net] ExcelへのQRコード出...
-
ビルドした.exeファイルは.NE...
-
う~ん…。
-
VB.NET で作られたソフト...
-
VB6.0で作成したexeファイルが...
-
VB6で作成したアプリを配布する...
-
VB.NET(2017)で インストーラを...
-
発行元:不明???
-
Excelがインストールされてない...
-
accessがインストールされてい...
-
Product Codeの変更法は?
-
VB6のアプリケーションの配布
-
Windows7にVC++がインストール...
-
Visual Studio 2005は64ビットO...
-
スプレッドシート(ようなもの...
-
6.0から2005へのアップグレード
-
インストール不要アプリケーシ...
おすすめ情報