| 
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2009/12/26 16:12
名前: 花ちゃん
 
************************************************************************************ カテゴリー:[その他コントロール][基本コード][描画・画像]                        *
 * キーワード:ちらつく,チラツク,チラツキ,Label,ラベル                    *
 ***********************************************************************************
 タイトル : 表示のちらつきが気になります。
 記 事 No : 13372
 投 稿 日 : 2009/01/26(Mon) 17:51
 元質問者 : シロ
 
 3桁の乱数を表示させた場合、数字の切り替わり時のちらつきが非常に気になります。
 ちらつかずに表示させる方法はありませんか?
 サンプルで抜き出したソースは下記の通りです。
 (label1とtimer1を置いただけのformです。)
 
 -----------------------------------------------------------------------------------
 記事No : 13375
 投稿日 : 2009/01/26(Mon) 19:50
 回答者 : 花ちゃん
 -----------------------------------------------------------------------------------
 乱数を表示させた場合はそれほど気になりませんでしたが、同じ数字を表示させた
 場合、1秒に1回位の割合で画面の表示が変(画面にみだれが走る?)になりますね。
 詳しくは知りませんが、VSYNC が原因のようです。
 
 Label の代わりに PictureBox を使用すれば、チラツキを抑える事ができます。
 
 下記コードを試して見て下さい。
 
 Option Explicit
 Private Sub Form_Load()
 Me.Move 0, 0, 9400, 8400
 With Label1
 .Move 100, 100, 9000, 3800
 .BackColor = vbWhite
 .FontSize = 200
 End With
 With Picture1
 .Move 100, 4000, 9000, 3800
 .BackColor = vbWhite
 .FontSize = 200
 .AutoRedraw = True
 .ScaleMode = vbCharacters
 .CurrentX = 1
 .CurrentY = 1
 End With
 Timer1.Interval = 100
 Timer1.Enabled = True
 End Sub
 
 Private Sub Timer1_Timer()
 Dim MyTime As String
 MyTime = Format$(Now, "nn:ss")
 Label1.Caption = MyTime
 Label1.Refresh
 Picture1.Cls
 Picture1.Print MyTime
 Picture1.Refresh
 End Sub
 
  |