tagCANDY CGI VBレスキュー(花ちゃん) - グラフ(画面)がチカチカ(チラツク)する(VB6.0) - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
グラフ(画面)がチカチカ(チラツク)する(VB6.0)
元に戻る スレッド一覧へ 記事閲覧
このページ内の検索ができます。(AND 検索や OR 検索のような複数のキーワードによる検索はできません。)

グラフ(画面)がチカチカ(チラツク)する(VB6.0) [No.30の個別表示]
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
日時: 2009/01/27 13:30
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[チャート][描画・画像][]                                            *
* キーワード:グラフ,描画,グラフィック,ちらつく,チラツク,画面,ちらつき          *
***********************************************************************************

-------------------------------------------------------------------------------
No.5275 Re:グラフがチカチカする〜  投稿者:NAO★ [2002/07/16(火)21:13分]
-------------------------------------------------------------------------------

>わがまま申し訳ないのですがDoEvents
>以外ではないでしょうか?

ゲームなんかでよく使われる手ですが
バックバッファで描画してそれをPicutureBoxにコピーするってのはどうでしょうか?

とりあえずクリップボード経由で描画するなら、こんな感じですか
' MSChartコントロールは見えない位置にでも隠してください。
Private Sub Timer1_Timer()
    MSChart1.Refresh 'サンプルなので単なる再描画
    MSChart1.EditCopy
    Picture1.PaintPicture Clipboard.GetData(2), _
        0, 0, MSChart1.Width, MSChart1.Height, _
        , , , , vbSrcCopy
End Sub


メンテ

Page: 1 |

グラフがちらつくんですけど(VB6.0)  (No.1の個別表示) [スレッド一覧へ]
日時: 2011/04/05 11:23
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[チャート][描画・画像][]                                            *
* キーワード:グラフ,描画,グラフィック,ちらつく,チラツク,画面,ちらつき          *
***********************************************************************************

----------------------------------------------------------------------------------
No.5410 Re: グラフがちらつくんですけど  投稿者:K.J.K. [2002/08/01(木)12:07分]
----------------------------------------------------------------------------------

とりあえず、DrawModeプロパティを変更してみたのでしょうか? これやRepaint
プロパティなどを上手く使えば、かなりチラツキは減らせると思うのですが。

で、手抜きでやるならこんな感じ。

Private Enum DVASPECT
    DVASPECT_CONTENT = 1
    DVASPECT_THUMBNAIL = 2
    DVASPECT_ICON = 4
    DVASPECT_DOCPRINT = 8
End Enum

Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Declare Function OleDraw Lib "ole32.dll" _
( ByVal pUnk As Object, ByVal dwAspect As DVASPECT, _
  ByVal hDCDraw As Long, lprcBounds As RECT ) As Long

'   コントロールがおいてあるFormのScaleModeは3-Pixelに
'   なっていると仮定しています。
'
'   また、picBackground As PictureBoxがあるとしています。
'   AutoRedraw = True, ScaleMode = 3, BorderStyle = 0
'   としています。
'
'   コントロールは、有効なモノのみを渡すとし、エラー処理は
'   省いてあります。

Public Function PictureFromControl(ctl As Object) As Picture

    Dim udtRect As RECT

    With udtRect
        .Left = 0
        .Top = 0
        .Right = ctl.Width - 1
        .Bottom = ctl.Height - 1
    End With

    With picBackground
        Call .Cls
        Call .Move(0, 0, ctl.Width, ctl.Height)
        Call OleDraw(ctl.Object, DVASPECT_CONTENT, .hDC, udtRect)
        Set PictureFromControl = .Image
    End With
End Function

メンテ

Page: 1 |

 投稿フォーム               スレッド一覧へ
題  名 スレッドをトップへソート
名  前
パスワード (記事メンテ時に使用)
投稿キー (投稿時 投稿キー を入力してください)
コメント

   クッキー保存   
スレッド一覧へ