
今、WindowsXP上のVB6プログラムを、Windows7上のVB2010プログラムへ変換作業をしています
手順は
1.VB2008Expressのアップグレードウィザードを使って、一度VB2008版を造りました
その時に、フォームサイズを変えるステートメントが次のように変わりました
Imports VB = Microsoft.VisualBasic
・
Me.Width = 16000 → VB6.TwipsToPixelsX(16000)
Me.Height = 12250 → VB6.TwipsToPixelsY(12250)
2.次にWindows7上のVB2010で上記プログラムを読み込むと.
VB6.TwipsToPixelsX(16000) のところに波型のアンダーラインが引かれ
これは「旧形式です」のメッセージが出ました
そこで、Microsoftのフォームページ(http://go.microsoft.com/fwlin/?linkid=160862')を参考に
下記のように修正しました
Imports Microsoft.VisualBasic.Compatibility.VB6
・
Me.Width = Support.TwipsToPixelsX(16000)
Me.Height = Support.TwipsToPixelsY(12250)
と修正しましたが波型アンダーラインは消えませんでした
そこで質問ですが
この波型アンダーラインは無視して良いのか、
それともまだ使い方が間違っているのか分かりません
そこのところご教授願えれば幸いです
No.1ベストアンサー
- 回答日時:
VB6.0 では、ScaleMode(座標系の単位)は、twip 単位で、.NET 系は、pixel 単位です。
従って、Me.Width = 16000 の 16000 をtwip → pixel に変換してやればいいだけの事です。
元々Form のサイズの設定部分のコードなので、開発環境でデザイン時に Form のサイズを設定して
貴方が求めるサイズに書き換えてやるべきかと思います。
(元々サイズを直にコードで指定しているのだから)
twip → pixel に単位変換するには、簡易的には、一般的な環境では、16000 / 15 で求める事が
できます。
正確には、環境を考慮して係数を求めて変換する必要があります。
>そこで質問ですが
> この波型アンダーラインは無視して良いのか、
の件ですが、エラーメッセージの通りで、使用できますが、暫定的な方法なので、どうするかは
貴方が決める事かと思います。
VB6.0 のコードを VB2008等へ移行する場合は、アップグレードウィザードで全面的に変換すると、
一般的なコードは問題ないのですが、グラフィックや印刷関係等多くの部分で変換しきれないものが
多くでてきて、中には上記のように中間言語のような扱いで変換される場合があり、お勧めできません
後々の事を考えたら、変換結果等を参考に一から書き直す事が一番かと思います。
(変換結果のプロジェクトは、使用しないで、新規に作成したプロジェクトで作成の事)
VB6.0 のコードを VB.NET 系に移行するには下記等が参考になるかと。
Visual Basic 6.0 ユーザーのための Visual Basic .NET 移行ガイド
http://msdn.microsoft.com/ja-jp/library/dd314356 …
ご丁寧な回答、本当にありがとうございます
ちょっとアップグレードウィザードに頼りすぎてたかも知れません
もう一度初心に戻ってやり直します
それを気づかしてくれた事を本当に感謝します
これからもよろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
VS 2008(VB.NET)
Visual Basic(VBA)
-
VB6からの移行したいけど、VB.NETのコントロール配列は?
Visual Basic(VBA)
-
-
4
CloseとDisposeの違い
Visual Basic(VBA)
-
5
VBの「As String * 128」とは?
Visual Basic(VBA)
-
6
VB.NET でのLaod/unLoad について
Visual Basic(VBA)
-
7
VBの画面サイズについて
Visual Basic(VBA)
-
8
VisualBasic6からVB2005に移行に難儀しています。
Visual Basic(VBA)
-
9
VB6とVB.NETでNullの扱いが違う?
Visual Basic(VBA)
-
10
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
11
VB.NETにて、構造体へデータをセットするにはどうすればよいですか?
Visual Basic(VBA)
-
12
VB6から.NETへアップグレード時について
Visual Basic(VBA)
-
13
VB.NETでMSComm が追加できず?
Microsoft ASP
-
14
FriendとPublicの違い。。。
Visual Basic(VBA)
-
15
初期フォーカスについて
Visual Basic(VBA)
-
16
Shapeコントロールの.NET移行方法
Visual Basic(VBA)
-
17
OracleDataReaderについて…
Visual Basic(VBA)
-
18
VB6.0のIsNull関数に相当するもの
Visual Basic(VBA)
-
19
Visual Basic 2010を使ってRS-232Cとの通信をした
Visual Basic(VBA)
-
20
VB.NETでActiveX(OCXファイル)作成
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB 6 を VS 2012に変換するには?
-
Mac 乗数の入力方法
-
COMP-3
-
中国語が文字コード変換で、一...
-
VB6からVB2010への変換について
-
ハフ変換の原理をわかりやすく...
-
文字コードの変換
-
緯度、経度の 10進法と 60進法...
-
アセンブラ言語の数字を数値に...
-
.sb3のファイルを.sb2に変換す...
-
シフト演算の結果の型
-
家電製品の電力周波数を変える機械
-
Macターミナルで実行中のプログ...
-
TCP/IP通信時のサーバーからの受信
-
Excel(VBA)でSetTimer関数を使...
-
AIXでのプロセス使用メモリの最...
-
C# シリアル通信でデータ受信...
-
FOM出版の公認テキスト&問題集...
-
メッセージボックスのボタン名変更
-
powershell を使いカレントディ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
逆コンパイルと逆アセンブルの...
-
エクセルVBAの自動変換機能?
-
10進数をBCDに変換する方法
-
VB6からVB2010への変換について
-
緯度、経度の 10進法と 60進法...
-
分を時間に変換するプログラム
-
C#で漢字→ローマ字を変換
-
なぜ通信には16進数文字列が使...
-
vb.netの型変換について
-
正規表現でルビを小書きに変換...
-
マンセル⇔XYZ,RGB変換式或いは...
-
C#で漢数字をアラビア数字に変...
-
VB6から.NETへアップグレード時...
-
php
-
VB 6 を VS 2012に変換するには?
-
3のつく数字と3の倍数のみを表...
-
C++からCへのソース変換について
-
エクセルのvbaで検索ボタンを作る
-
tex 郵便記号のだしかた
おすすめ情報