tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
Label での表示時のちらつきについて(VB6.0) ( No.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



 [スレッド一覧へ] [親スレッドへ]