tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
グラフがちらつくんですけど(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




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