• 検索結果がありません。

印刷

N/A
N/A
Protected

Academic year: 2021

シェア "印刷"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

■ Visual Basic 6.0 との相違点 ■

Visual Basic 6.0 では、Form コントロール、又は、PictureBox コントロールに描画する場合は、グラ フィックスの各種メソッドとプロパティを使用する。Visual Basic 6.0 のグラフィックスは、Windows のグラフィックデバイスインターフェイス(GDI)の API に基づいて居る。

Visual Basic 2005 のグラフィックスは、GDI+ API にカプセル化された System.Drawing 名前空間に 依って提供される。GDI+は Visual Basic 6.0 のグラフィックス機能に基づいて拡張されて居るが、メ ソッドに互換性は無い。

■ 概念の違い

Visual Basic 6.0 では、グラフィックスメソッドは、Form オブジェクトと PictureBox コントロール丈 に適用される。

Visual Basic 2005 では、グラフィックスメソッドは、フォームに加えて、PictureBox、Panel、GroupBox 等、Paint イベントをサポートする任意のコントロールに適用される。亦、グラフィックスメソッドは、 ListView、TreeView、Button コントロール等、OwnerDraw プロパティをサポートする任意のコント ロールにも適用される。 AutoRedraw プロパティ Visual Basic 6.0 のグラフィックスメソッドは、任意のイベントプロシージャから呼び出す事が出来る。 グラフィックスメソッドが、Paint 以外のイベントから呼び出された場合は、グラフィックスを永続化 する為にAutoRedraw プロパティが使用される。

Visual Basic 2005 では、グラフィックスメソッドは、Paint イベントプロシージャ而巳から呼び出され る。但し、オーナー描画コントロールの場合、様々な Draw イベントプロシージャ(DrawItem、 DrawSubItem 等)からも呼び出される。Paint イベントと Draw イベントで自動的にグラフィックス が永続化されるので、AutoRedraw プロパティは不要に成り、サポートされなく成った。

ClipControls プロパティ

Visual Basic 6.0 では、フォームやコントロールの描画を制御する為に、ClipControls プロパティを使 用する。此のプロパティを True に設定すると、其れ迄見えて居なかった領域而巳が再描画され、理論 上はパフォーマンスが向上する。

ClipControls プロパティに相当する物は、Visual Basic 2005 には無い。GDI+に依るパフォーマンス 向上と、最新のビデオアダプタの使用で、此のプロパティの必要は無く成った。

DrawMode プロパティ

Visual Basic 6.0 では、パターンを別のパターンの上に描画する時に DrawMode プロパティに依ってグ ラフィックスオブジェクトの色が制御される。此のプロパティが効力を持つのは、モノクロディスプレ イか解像度の低い(256 色以下)ディスプレイ丈で有る。

(2)

DrawMode プロパティに相当する物は、Visual Basic 2005 に無い。現在のディスプレイでは不要に成 った。

DrawStyle プロパティ

Visual Basic 6.0 では、Line メソッドを使用して描画する線の外観を制御する為に、DrawStyle プロパ ティを使用する。DrawWidth プロパティが 1 より大きい値に設定されて居る場合、DrawStyle プロパ ティは無効に成り、線は常に実線に成る。

Visual Basic 2005 では、DrawLine メソッドの 1 つで使用される System.Drawing.Pen クラスの DashStyle プロパティを設定する事で、線の外観を制御する。線の幅は、此のプロパティに影響されな い。

DrawWidth プロパティ

Visual Basic 6.0 では、DrawWidth プロパティで線のピクセル幅が決定される。通常、DrawWidth プ ロパティは、グラフィックスメソッドを実行する前に設定する。

Visual Basic 2005 では、System.Drawing.Pen コントロールの Pen.Width プロパティで線の幅が決定 される。Pen の作成時に Width プロパティをパラメータと仕て設定するか、Pen の作成後に Pen.Width を設定出来る。Pen.Width プロパティを指定しない場合、既定は 1 ピクセルで有る。

Image プロパティ

Visual Basic 6.0 では、フォームや PictureBox コントロールの Image プロパティは、ビットマップの ハンドルを返す。此のハンドルは、Picture プロパティに割り当てたり、Windows API の呼び出し時に 値と仕て渡したり出来る。

Visual Basic 2005 では、ビットマップにハンドルは無く成った。ビットマップ其の物を Bitmap 型の オブジェクトと仕て渡す。Bitmap コントロールは、PictureBox コントロールの Image プロパティに 割り当てる事が出来るが、Windows API の呼び出し時に渡す事は出来ない。

Line メソッド

Visual Basic 6.0 では、Line メソッドは、左上と下部の座標とオプションの引数 B を指定して、四角形 を描画する為に使用する。FillColor プロパティは純色で四角形を塗り潰すのに使用し、FillStyle プロ パティはクロスハッチパターンで四角形を塗り潰すのに使用する。

Visual Basic 2005 では、DrawRectangles メソッドは四角形の境界線を描画するのに使用し、 FillRectangle メソッドは四角形を塗り潰すのに使用する。FillRectangle は、Brush オブジェクトをパ ラメータと仕て受け取る。FillColor プロパティは SolidBrush に置き換えられ、FillStyle プロパティは HatchBrush クラスのメンバに置き換えられた。

Point メソッド

Visual Basic 6.0 では、フォームや PictureBox コントロールの Point メソッドは、指定の場所に有るピ クセルのカラー値を取得するのに使用する。Point メソッドは、画像の無いフォームやコントロールで も使用出来るが、殆どの場合は、Picture プロパティに割り当てられたビットマップのカラーを取得す る為に使用される。

Visual Basic 2005 では、Point メソッドは無く成った。ビットマップからカラー値を取得するには、 M:System.Drawing.Bitmap.GetPixel(System.Int32,System.Int32) メソッドを使用する。フォームや

(3)

コントロールに画像が無い場合は、BackColor プロパティを使用出来る。 Print メソッド

Visual Basic 6.0 では、Print メソッドは、フォームや PictureBox コントロールにテキストを表示する のに使用する。テキストの表示に使うフォントは、フォームやコントロールのFont プロパティで決定 され、色はForeColor プロパティで決定される。Print メソッドには、テキストの配置を決めたり、テ キストを縦方向に表示したりする機能は無い。

Visual Basic 2005 では、テキストの表示に DrawString メソッドを使用する。フォントは Font オブジ ェクトに依って決定され、色はBrush オブジェクトに依って決定される。孰れのオブジェクトも、パラ メータと仕てDrawString メソッドに渡す。DrawString メソッドには、X と Y と謂うパラメータも有

り、此等を使ってテキストの開始位置を指定出来る。亦、オプションの Format パラメータに

StringFormat オブジェクトを渡して、テキストを縦方向に表示する事も出来る。 PSet メソッド

Visual Basic 6.0 では、PSet メソッドは、フォーム上や PictureBox コントロール上のピクセルの色を 変更するのに使用する。DrawWidth プロパティが 1 より大きい値に設定されて居る場合は、PSet メソ ッドは塗り潰された円を描画する。省略されたForeColor を使用する場合は、省略可能なパラメータを 使って色を指定する。

Visual Basic 2005 には、PSet メソッドに相当する物は無い。フォーム上や PictureBox コントロール 上の1 ピクセルの色を変更するには、DrawEllipse メソッドを使って高さと幅が 1 ピクセルの円を描画 する。DrawWidth が 1 より大きい場合に PSet と同等の機能を実現するには、FillEllipse メソッドを 使用する。

■ グラフィックスを扱うコードの変更

次のコード例では、Visual Basic 6.0 と Visual Basic 2005 でのコーディング テクニックの違いを示す。 ※ Visual Basic 6.0 の既定の測定単位は twip だが、Visual Basic 2005 の測定単位はピクセルで有る。 単純な線の描画

次のコードは、実行時にフォーム上に線を描画する方法を示す。Visual Basic 6.0 のコード例では、Line メソッドを使用し、パラメータと仕て線の開始位置と終了位置の X 座標と Y 座標を渡し、オプション の引数と仕て色を渡す。Visual Basic 2005 のコード例では、DrawLine メソッドを使用し、引数と仕て Pens オブジェクトと、開始位置と終了位置の X 座標と Y 座標を渡す。

Visual Basic 6.0

Private Sub Form_Paint( )

' Draw a solid black line 200 twips from the top of the form. Line (0, 200) - (ScaleWidth, 200), vbBlack

End Sub

Visual Basic 2005

Private Sub Form1_Paint(ByVal sender As Object, ByVal e _

(4)

' Draw a solid black line 25 pixels from the top of the form. e.Graphics.DrawLine(Pens.Black, 0, 25, Me.Width, 25) End Sub

点線の描画

次のコードは、実行時にフォーム上に点線を描画する方法を示す。Visual Basic 6.0 のコード例では、 DrawStyle プロパティを使用して線の外観を指定する。Visual Basic 2005 のコード例では、Pen オブ ジェクトを使用し、DashStyle プロパティを設定して外観を指定する。

Visual Basic 6.0

Private Sub Form_Paint( )

' Draw a dotted line 200 twips from the top of the form. Me.DrawStyle = vbDot

Line (0, 200) - (ScaleWidth, 200), vbBlack End Sub

Visual Basic 2005

Private Sub Form1_Paint1(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint ' Draw a dotted black line 25 pixels from the top of the form.

Dim LPen As New System.Drawing.Pen(System.Drawing.Color.Black) LPen.DashStyle = Drawing2D.DashStyle.Dot

e.Graphics.DrawLine(LPen, 0, 25, Me.Width, 25) End Sub

線の太さの制御

次のコードは、実行時にフォーム上に太さの異なる複数の線を描画する方法を示す。Visual Basic 6.0 のコード例では、DrawWidth プロパティを使用する。Visual Basic 2005 のコード例では、Pens オブ ジェクトのWidth プロパティを使用する。

Visual Basic 6.0

Private Sub Form_Paint( )

' Draw a line with a thickness of 1 pixel. DrawWidth = 1

Line (0, 200)-(ScaleWidth, 200), vbBlack ' Draw a line with a thickness of 5 pixels. DrawWidth = 5

Line (0, 400)-(ScaleWidth, 400), vbBlack ' Draw a line with a thickness of 10 pixels. DrawWidth = 10

Line (0, 600)-(ScaleWidth, 600), vbBlack End Sub

Visual Basic 2005

Private Sub Form1_Paint2(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

(5)

' Draw a line with a thickness of 1 pixel.

Dim TPen As New System.Drawing.Pen(System.Drawing.Color.Black, 1) e.Graphics.DrawLine(TPen, 0, 25, Me.Width, 25)

' Draw a line with a thickness of 5 pixels. TPen.Width = 5

e.Graphics.DrawLine(TPen, 0, 50, Me.Width, 50) ' Draw a line with a thickness of 10 pixels. TPen.Width = 10

e.Graphics.DrawLine(TPen, 0, 75, Me.Width, 75) End Sub

円の描画

次のコードは、実行時にフォーム上に円を描画する方法を示す。Visual Basic 6.0 のコード例では、Circle メソッドを使用し、引数と仕て円の中心点の X 座標と Y 座標と半径を渡し、オプションで色を渡す。 Visual Basic 2005 のコード例では、DrawEllipse メソッドを使用し、引数と仕て Pen オブジェクト、 外接する四角形の左上隅のX 座標と Y 座標、幅と高さを渡す。

Visual Basic 6.0

Private Sub Form_Paint( )

' Draw a 1000 twip diameter red circle Circle (500, 500), 500, vbRed

End Sub

Visual Basic 2005

Private Sub Form1_Paint3(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint ' Draw a 70 pixel diameter red circle.

e.Graphics.DrawEllipse(Pens.Red, 0, 0, 70, 70) End Sub

塗り潰された四角形の描画

次のコードでは、実行時に2 つの四角形をフォーム上に描画する。1 つの四角形は純色で塗り潰し、今 1 つの四角形はクロスハッチパターンで塗り潰す。Visual Basic 6.0 のコード例では、FillColor プロパ ティとFillStyle プロパティ、及び、Line メソッドを使用する。B パラメータを指定して Line メソッド を呼び出して、四角形を描画する。

Visual Basic 2005 の コ ー ド 例 で は 、 Graphics.Rectangle メ ソ ッ ド を 使 っ て 輪 郭 を 描 画 し 、 Graphics.FillRectangle メソッドに引数と仕て Brush オブジェクトを渡す。此の例では、SolidBrush コントロールとHatchBrush コントロールの両方を使用する。

Visual Basic 6.0

Private Sub Form_Paint( ) ' Draw a solid red rectangle. FillColor = vbRed

(6)

FillStyle = vbSolid

Line (10, 10)- (1000, 500), vbRed, B

' Draw a rectangle filled with a crosshatch pattern. FillColor = vbBlack

FillStyle = vbCross

Line (10, 500)- (1000, 1000), vbBlack, B End Sub

Visual Basic 2005

Private Sub Form1_Paint4(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint ' Draw a solid red rectangle.

Dim SBrush As New System.Drawing.SolidBrush _ (System.Drawing.Color.Red)

e.Graphics.DrawRectangle(Pens.Red, 2, 2, 70, 40) e.Graphics.FillRectangle(SBrush, 2, 2, 70, 40) ' Draw a rectangle filled with a crosshatch pattern.

Dim HBrush As New System.Drawing.Drawing2D.HatchBrush( _ System.Drawing.Drawing2D.HatchStyle.Cross, _ System.Drawing.Color.Black, System.Drawing.Color.Transparent) e.Graphics.DrawRectangle(Pens.Black, 2, 40, 70, 40) e.Graphics.FillRectangle(HBrush, 2, 40, 70, 40) End Sub フォーム上での画像の表示 次のコードは、グラフィックスメソッドを使って、実行時にフォーム上に画像を表示する方法を示す。 Visual Basic 6.0 のコード例では、PaintPicture メソッドを使用する。Visual Basic 2005 のコード例で は、DrawImage メソッドを使用する。

Visual Basic 6.0

Private Sub Form_Paint( ) ' Create a stdPicture object. Dim Pict1 As New stdPicture

Pict1 = LoadPicture("C:¥Windows¥Greenstone.bmp") PaintPicture Pict1, 0, 0

End Sub

Visual Basic 2005

Private Sub Form1_Paint5(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint ' Create a Bitmap object.

Dim Pict1 As New Bitmap("C:¥Windows¥Greenstone.bmp") e.Graphics.DrawImage(Pict1, 0, 0)

(7)

フォーム上でのテキストの表示

次のコードは、グラフィックスメソッドを使って、実行時にフォーム上にテキスト文字列を表示する方 法を示す。Visual Basic 6.0 のコード例では、Print メソッドを使用する。Visual Basic 2005 のコード 例では、DrawString メソッドを使用する。

Visual Basic 6.0

Private Sub Form_Paint( ) Me.Font.Size = 24 Me.Font.Bold = True Me.ForeColor = vbRed Print "Hello World!" End Sub

Visual Basic 2005

Private Sub Form1_Paint6(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim TextFont As New System.Drawing.Font("Arial", 24, FontStyle.Bold)

Dim TextBrush As New System.Drawing.SolidBrush(System.Drawing.Color.Red) e.Graphics.DrawString("Hello World!", TextFont, TextBrush, 10, 10)

TextFont.Dispose( ) TextBrush.Dispose( ) End Sub

文字列の高さと幅の確認

次のコードは、グラフィックスメソッドを使って、実行時にフォーム上の文字列のサイズを確認し、其 の周囲に四角形を描画する方法を示す。Visual Basic 6.0 のコード例では、TextHeight メソッドと TextWidth メソッドを使用する。Visual Basic 2005 のコード例では、MeasureString メソッドを使用 する。此のメソッドは、SizeF 構造体を返す。

Visual Basic 6.0

Private Sub Form_Paint( ) Me.Font.Size = 24 Me.Font.Bold = True Me.ForeColor = vbRed Print "Hello World!"

Line (0, 0)-(TextWidth("Hello World!"), TextHeight("Hello World!")), vbBlack, B End Sub

Visual Basic 2005

Private Sub Form1_Paint7(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint

Dim TextFont As New System.Drawing.Font("Arial", 24, FontStyle.Bold)

Dim TextBrush As New System.Drawing.SolidBrush(System.Drawing.Color.Red) e.Graphics.DrawString("Hello World!", TextFont, TextBrush, 10, 10)

(8)

TextSize = e.Graphics.MeasureString("Hello World!", TextFont)

e.Graphics.DrawRectangle(Pens.Black, 10, 10, TextSize.Width, TextSize.Height) TextFont.Dispose( )

TextBrush.Dispose( ) End Sub

単一のピクセルの描画

次のコードは、グラフィックスメソッドを使って、実行時にフォーム上の1 ピクセルの色を変更する方 法を示す。Visual Basic 6.0 のコード例では、PSet メソッドを使用する。Visual Basic 2005 のコード 例では、DrawEllipse メソッドを使用し、Height パラメータと Width パラメータを 1 に設定する。

Visual Basic 6.0

Private Sub Form_Paint( ) Me.DrawWidth = 1 PSet (1000, 1000), vbRed End Sub

Visual Basic 2005

Private Sub Form1_Paint8(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint e.Graphics.DrawEllipse(Pens.Red, 70, 70, 1, 1)

End Sub

単一ピクセルの色の確認

次のコードは、グラフィックスメソッドを使って、実行時にフォーム上の画像の指定した位置に有る 1 ピクセルの色を確認し、其の色で四角形を塗り潰して描画する方法を示す。Visual Basic 6.0 のコード 例では、Point メソッドを使ってカラー値を取得する。Visual Basic 2005 のコード例では、GetPixel メソッドを使用する。

Visual Basic 6.0

Private Sub Form_Paint( ) Dim PixelColor As Long

Picture1.Picture = LoadPicture("C:¥Windows¥Greenstone.bmp") PixelColor = Picture1.Point(10, 10) FillColor = PixelColor Line (0, 0)-(100, 500), PixelColor, B End Sub Visual Basic 2005

Private Sub Form1_Paint9(ByVal sender As Object, ByVal e As _ System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint Dim Pict1 As New Bitmap("C:¥Windows¥Greenstone.bmp") Picture1.Image = Pict1

Dim PixelColor As Color = Pict1.GetPixel(4, 4) Dim PixelBrush As New SolidBrush(PixelColor)

(9)

e.Graphics.FillRectangle(PixelBrush, 0, 0, 100, 100) End Sub

グラフィックスプロパティとメソッドの対応関係

次の表は、Visual Basic 6.0 のグラフィックスプロパティやメソッドと、Visual Basic 2005 で其等に相 当する物を示す。

Visual Basic 6.0 Visual Basic 2005 での同等物

AutoRedraw プロパティ 新規実装(グラフィックスを永続化するには、Paint イベントにグラフ ィックスメソッドを記述する) Circle メソッド DrawEllipse メソッド ClipControls プロパティ 新規実装(ClipControls プロパティは不要に成った) Cls メソッド Clear メソッド CurrentX プロパティ 各種グラフィックスメソッドのx パラメータ(例えば DrawRectangle (pen, x, y, width, height))

CurrentY プロパティ 各種グラフィックスメソッドのy パラメータ(例えば DrawRectangle (pen, x, y, width, height))

DrawMode プロパティ 新規実装(DrawMode プロパティは不要に成った) DrawStyle プロパティ DashStyle プロパティ DrawWidth プロパティ Width プロパティ FillColor プロパティ SolidBrush オブジェクト FillStyle プロパティ HatchBrush オブジェクト HasDC プロパティ 新規実装(GDI+では、デバイスコンテキストは不要に成った) HDC プロパティ 新規実装(GDI+では、デバイスコンテキストは不要に成った) Image プロパティ 新規実装 Line メソッド DrawLine メソッド PaintPicture メソッド DrawImage メソッド Point メソッド 直接対応する項目は無い(ビットマップには、Bitmap.GetPixel を使用 する。フォームやコントロールには、BackColor プロパティを使用する) Print メソッド DrawString メソッド

Pset メソッド DrawEllipse メソッド、FillEllipse メソッド TextHeight プロパティ MeasureString メソッド

TextWidth プロパティ ■ アップグレード

アプリケーションをVisual Basic 6.0 から Visual Basic 2005 にアップグレードすると、グラフィック スメソッドはアップグレードされず、警告がコードに挿入される。GDI と GDI+では大きな違いが有る ので、既存のグラフィックスコードは書き直す必要が有る。

(10)

■ 座標系 ■

Visual Basic 2005 では、フォームやコントロールの座標は、Visual Basic 6.0 とは異なる方法で表現さ れる。フォームのサイズ変更や移動の方法も異なる。

■ 概念の違い

Visual Basic 6.0 では、フォームやコントロールの座標は twip で表現される。Visual Basic 2005 では、 座標はピクセルで表現される。

Height プロパティと Width プロパティ

Visual Basic 6.0 では、Height プロパティと Width プロパティが、フォームやコントロールのサイズ 変更に使用される。Visual Basic 2005 では、Size プロパティを使って、高さと幅を一度に変更する事 も出来る。

Move メソッド

Visual Basic 6.0 では、フォームやコントロールの位置を実行時に変更する為に Move メソッドを使用 する。Visual Basic 2005 では、Move は SetBounds メソッドに置き換えられ、座標はピクセルで表現 される。

ScaleMode プロパティ

Visual Basic 6.0 では、ScaleMode プロパティを使って別の座標系を定義する事も出来る。Visual Basic 2005 では、サポートされる座標系はピクセル丈で有る。ScaleMode プロパティと其れと関連するプロ パティやメソッド(Scale、ScaleHeight、ScaleLeft、ScaleTop、ScaleWidth、ScaleX、ScaleY)は Visual Basic 2005 ではサポートされない。詳細に付いては、「ScaleMode がサポートされて居ない」 を参照され度い。

■ 座標を扱うコードの変更

次のコード例では、Visual Basic 6.0 と Visual Basic 2005 でのコーディングテクニックの違いを示す。 フォームのサイズ変更

実行時にフォームのサイズを変更する方法の例を次に示す。

Visual Basic 6.0

' Measurements are in twips. Me.Width = 8000

Me.Height = 6000

Visual Basic 2005

' Measurements are in pixels.

(11)

コントロールの移動

実行時にコントロールを移動する方法の例を次に示す。

Visual Basic 6.0

' Move and retain original size. CommandButton2.Move 2000, 1000 ' Move and resize to 1200 by 800 twips. CommandButton1.Move 0, 0, 1200, 800

Visual Basic 2005

' Move and retain original size.

Button2.SetBounds(20, 10, 0, 0, BoundsSpecified.X Or BoundsSpecified.Y) ' Move and resize to 120 by 80 pixels.

Button1.SetBounds(0, 0, 120, 80) ■ アックアップグレード

Visual Basic 6.0 アプリケーションを Visual Basic 2005 にアップグレードすると、フォームとコントロ ールのHeight プロパティと Width プロパティの値は自動的にピクセルに変換される。

元のアプリケーションで ScaleMode プロパティを使用して居た場合、アップグレードツールは、 ScaleMode プロパティのデザイン時設定が twip で有ると仮定する。其れ以外の場合は、正しく変換さ れない為、修正が必要で有る。詳細に付いては、「ScaleMode がサポートされて居ない」を参照され度 い。

(12)

■ ScaleMode がサポートされて居ない ■ ■ 概要

Visual Basic 6.0 では、ScaleMode プロパティを使用して、フォームや PictureBox コントロールの座 標系を既定スケールで有るtwip から変更出来た。 Visual Basic 2005 では複数の座標系はサポートされず、ピクセル丈がサポートされて居る。アップグ レードの時、座標系は自動的にtwip からピクセルに変換される。コードで ScaleMode プロパティを実 行時に設定して居る場合は、コンパイルエラーが発生する為、コードを変更する必要が有る。 ※ アップグレードツールは、ScaleModeプロパティのデザイン時設定が twip で有る事を仮定して居る。 其れ以外の場合は、正しく変換されない為、修正が必要で有る。 ■ 移行方法 先ず、ScaleMode プロパティを設定して居るコード行を削除する。 次に、ScaleMode プロパティに基づいたコードを見直し、必要に応じて計算を変更する。インチ単位の ScaleMode を使用していたプロシージャを変更する方法の例を次のコードに示す。 Visual Basic 6.0 Form1.ScaleMode = vbInches Text1.Move 2, 1 上のプロシージャは、テキスト ボックスをフォームの左上隅から右に 2 インチ、下に 1 インチ移動す る。アップグレードすると、下記のコードに変換される。 Visual Basic 2005

' After upgrade to Visual Basic 2005

'UPGRADE ISSUE: Constant vbInches was not upgraded.

'UPGRADE ISSUE: Form property Form1.ScaleMode is not supported. ' The next line must be removed in order to compile.

Form1.ScaleMode = vbInches

' Twips are converted to pixels, but the original inch values are used. Text1.SetBounds(VB6.TwipsToPixelsX(2), VB6.TwipsToPixelsX(1),...

アップグレードすると、此のプロシージャは、テキストボックスを右に2 ピクセル、下に 1 ピクセル移 動する。此れは目的の動作と異なるので、下記の様に訂正する。

Visual Basic 2005

' Modified Visual Basic 2005 code ' Removed the ScaleMode line.

' Convert the scale (1 inch = 1440 twips).

Text1.SetBounds(VB6.TwipsToPixelsX(2880), VB6.TwipsToPixelsX(1440),...

インチに1440 を掛けて twip をピクセルに変換する事に依り、元の Visual Basic 6.0 コードと同じ結果 が得られる。

参照

関連したドキュメント

クチャになった.各NFは複数のNF  ServiceのAPI を提供しNFの処理を行う.UDM(Unified  Data  Management) *11 を例にとれば,UDMがNF  Service

・座長のマイページから聴講者受付用の QR コードが取得できます。当日、対面の受付時に QR

Bluetooth® Low Energy プロトコルスタック GUI ツールは、Microsoft Visual Studio 2012 でビルドされた C++アプリケーションです。GUI

注)○のあるものを使用すること。

2.2.2.2.2 瓦礫類一時保管エリア 瓦礫類の線量評価は,次に示す条件で MCNP コードにより評価する。

瓦礫類の線量評価は,次に示す条件で MCNP コードにより評価する。 なお,保管エリアが満杯となった際には,実際の線源形状に近い形で

2.2.2.2.2 瓦礫類一時保管エリア 瓦礫類の線量評価は,次に示す条件で MCNP コードにより評価する。

[印刷]ボタンを押下すると、印刷設定画面が起動します。(「3.1.7 印刷」参照)