Ê×Ò³ Ê«´Ê ×Öµä °å±¨ ¾ä×Ó ÃûÑÔ ÓÑ´ð ÀøÖ¾ ѧУ ÍøÕ¾µØÍ¼
µ±Ç°Î»ÖÃ: Ê×Ò³ > ½Ì³ÌƵµÀ > ¿ª·¢ÓïÑÔ > VB >

ΪʲôAutoRedrawΪtrueʱ£¬bitblt»­²»ÉϽâ¾ö·½°¸

2012-01-26 
ΪʲôAutoRedrawΪtrueʱ£¬bitblt»­²»ÉÏPrivate Sub Command1_Click()Picture2.AutoRedraw TrueBitBlt P

ΪʲôAutoRedrawΪtrueʱ£¬bitblt»­²»ÉÏ
Private Sub Command1_Click()
  Picture2.AutoRedraw = True
  BitBlt Picture2.hdc, 0, 0, Picture1.Width, Picture1.Height, Picture1.hdc, 0, 0, SRCCOPY
  Picture2.AutoRedraw = False
End Sub

ÕæÊÇÆæ¹Ö°¡£¬ÒÔǰû·¢ÏÖ

È¥µô Picture2.AutoRedraw = True È´ÄÜ»­³öÀ´

[½â¾ö°ì·¨]
AutoRedraw = True ºó²ÉÓÃË«»º³å»æÍ¼£¬²»µ÷Óà VB µÄ»æÍ¼·½·¨¾Í²»»áˢе½½çÃæ¡£
¼ÓÉÏÓà Refresh Ç¿ÖÆË¢ÐÂÊÔÊÔ

VB code
BitBlt Picture2.hdc, 0, 0, Picture1.Width, Picture1.Height, Picture1.hdc, 0, 0, SRCCOPY Picture2.Refresh
[½â¾ö°ì·¨]
1.Èç¹ûÄãÒªÓà SrcCopy ÔòÐè¼ÓÉϳ£Á¿Ðû¸æ Const SRCCOPY = &HCC0020
Ö±½ÓʹÓÃVbSrcCopy¼´¿É.

2.BitbltÀ´Ô´Èç¹ûΪ²»¿É¼û(ÔÚ´°ÌåÍâ»ò±»ÕÚ¸Ç),±ØÐ轫AutoRedrawÉèΪTrue

3.BitBltÕâ¸öAPIʹÓõÄ×ù±êÓëͼƬ³ß´ç¶¼ÊÇÓÃÏóËØµÄ,Èç¹ûÄãµÄPicture1»òPicture2µÄScaleModeûÓÐÉ趨Ϊ3 ÔòÄã±ØÐ轫×ù±êÓëͼƬ³ß´ç¶¼Òª³ýÉÏ15(Screen.TwipsPerPixelX »òScreen.TwipsPerPixelY)


Private Sub Command1_Click()
Picture2.AutoRedraw = True
BitBlt Picture2.hDC, 0, 0, 250, 350, Picture1.hDC, 0, 0, vbSrcCopy
Picture2.Refresh
SavePicture Picture2.Image, AppDisk & "tt.bmp"
MsgBox "±£´æÍê³É!"
End Sub

ÈȵãÅÅÐÐ