Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
描画についての質問です。
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10492#CommentId21737
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
たかくん
 (社会人)
投稿日時
2011/10/8 09:59:03
こんにちは、下記のコードを見てください。(一部抜粋)
DrawScreen()の中のPut(g)メソッドの内容はDrawImage()です。
ペイントイベントでDrawScreen(e.Graphics)とした時は横縦で28枚のカードが描画されます。
でもDrawScreen(g)の場合Card(3,1)と半枚分までしか描画されないのです。
何故こうなるのでしょうか?
'グローバル変数
Private g as Graphics=Me.Creategraphics
Private Sub MainGUI_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
DrawScreen(g)
End Sub
''' <summary>
''' カードの描画
''' </summary>
''' <param name="g"></param>
''' <remarks></remarks>
Private Sub DrawScreen(ByRef g As Graphics)
For y As Integer = 0 To CardY
For x As Integer = 0 To CardX
If Card(y, x).Number <> MindGame.NothingCard Then
Card(y, x).Put(g)
End If
Next
Next
End Sub
''' <summary>
''' カードを表示する。
''' 画像の設定がされてなければ
''' 実行されない。
''' </summary>
''' <remarks></remarks>
Public Sub Put(ByRef g As Graphics)
Dim rect As Rectangle
rect.Location = Location
rect.Size = Size
If Design IsNot Nothing And rect <> Nothing Then
g.DrawImage(Design, rect)
Else
MessageBox.Show("位置とサイズと画像情報を設定してください。", _
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
End Sub