vb.net PictureBox为什么总是闪烁 [问题点数:50分,结帖人awei4755]

Bbs1
本版专家分:0
结帖率 100%
Bbs4
本版专家分:1775
Bbs5
本版专家分:2198
Bbs7
本版专家分:22942
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs7
本版专家分:14834
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs7
本版专家分:14834
vb.netpicturebox上画线.
在<em>picturebox</em>上画线,随时对所画的线改变颜色,还有怎么设置线的粗细啊!谢谢了
vb.net picturebox 显示图片问题
vb中rnPublic Sub showPicInGDIPlus(Path As String, picCtrl As PictureBox)rnrn Dim Status As Longrn Dim token As Longrn Dim typGPInput As GdiplusStartupInputrn Dim wkPic As PictureBoxrn Dim Rtn As Longrn Dim ImageMode rnrn Rtn = 0rn ImageMode = 1rn Set wkPic = picCtrlrn rn wkPic.AutoRedraw = Truern wkPic.ScaleMode = vbPixelsrn rn 'GDI+初期化rn typGPInput.GdiplusVersion = 1rn Status = GdiplusStartup(token, typGPInput)rn If Status <> 0 Thenrn Exit Subrn End Ifrnrn Dim img As Longrn Status = GdipLoadImageFromFile(StrPtr(Path), img)rn rn If Status = 0 Thenrn wkPic.Clsrn rn Dim G As Longrn Status = GdipCreateFromHDC(wkPic.hdc, G)rn rn If Status = 0 Thenrn rn Dim mode As InterpolationModern mode = ImageModern Status = GdipSetInterpolationMode(G, mode)rn If Status <> 0 Thenrn 'Graphics解放rn Call GdipDeleteGraphics(G)rn '描画rn Call GdipDisposeImage(img)rn 'GDI+後始末処理実施rn Call GdiplusShutdown(token)rn Exit Subrn End Ifrnrn '描画rn Status = GdipDrawImageRectI(G, img, 0, 0, wkPic.ScaleWidth, wkPic.ScaleHeight)rn If Status <> 0 Thenrn '描画用Graphics解放rn Call GdipDeleteGraphics(G)rn '描画rn Call GdipDisposeImage(img)rn 'GDI+後始末処理実施rn Call GdiplusShutdown(token)rn Exit Subrn End Ifrnrn '描画用Graphics解放rn Call GdipDeleteGraphics(G)rn rn End Ifrn wkPic.Refreshrn rn '描画rn Call GdipDisposeImage(img)rn End Ifrnrn 'GDI+後始末処理実施rn Call GdiplusShutdown(token)rnrn On Error GoTo 0rn Exit Subrn rnEnd Subrn-------------------------------------------------------------------------------------------------------------------------------------------------rn以上为vb版本,显示图片没有问题rn以下为升级后的<em>vb.net</em>版本(简约版本)rn-------------------------------------------------------------------------------------------------------------------------------------------------rnPublic Sub showPicInGDIPlus(ByRef Path As String, ByRef picCtrl As System.Windows.Forms.PictureBox)rnrn Dim Status As Integerrn Dim wkPic As System.Windows.Forms.PictureBoxrn Dim ImageMode As Integerrnrn wkPic = picCtrlrnrnrn Dim img As System.Drawing.Imagern Dim imgFile_Flg As Booleanrn On Error GoTo Error_imgFilern img = System.Drawing.Image.FromFile(Path)rn img = wkPic.Imagern imgFile_Flg = Truernrn If imgFile_Flg = True Thenrn Status = 0rn PictureBox1.h()rn Elsern Status = 1rn End Ifrnrn Dim G As Graphicsrn Dim mode As InterpolationModern If Status = 0 Thenrn With wkPicrn If Not (.Image Is Nothing) Thenrn .Image.Dispose()rn .Image = Nothingrn End Ifrn End Withrnrn Dim bmp As Bitmap = New Bitmap(wkPic.ClientSize.Width, wkPic.ClientSize.Height)rn G = Graphics.FromImage(bmp)rn If Status = 0 Thenrnrn mode = ImageModern G.InterpolationMode = modern If Status <> 0 Thenrn '描画用Graphics解放rn G.Dispose() rn '描画rn img.Dispose()rn 'GDI+後始末処理実施rn Exit Subrn End Ifrnrn G.DrawImage(img, New Point(0, 0))rn If Status <> 0 Thenrn '描画用Graphics解放rn G.Dispose() rn '描画rn img.Dispose()rn 'GDI+後始末処理実施rn Exit Subrn End Ifrnrn '描画用Graphics解放rn G.Dispose() rnrn End Ifrn wkPic.Refresh()rnrn '描画rn img.Dispose()rn End Ifrnrn On Error GoTo 0rn Exit SubrnError_imgFile:rn imgFile_Flg = Falsern MsgBox(imgFile_Flg)rn Exit Subrn End Subrnrn Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Clickrn Call showPicInGDIPlus("C:\" & TextBox1.Text & ".jpg", PictureBox1)rn End SubrnEnd Classrn---------------------------------------------------------------------------------------------------------rn升级后虽然不报错,可是点了Button1,没有任何反应rnrn求解
vb.net picturebox 透明问题
vb2008中<em>picturebox</em>的backcolor设置为transparent不能显示透明的背景,所以编了一下的的程序rn我想实现程序运行时,<em>picturebox</em>的背景为透明。rn程序如下,但是背景没有变成透明,请给为朋友指点^^rnPublic Class Form1rnrn Public Declare Function SetWindowRgn Lib "user32" Alias "SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Longrn Public Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Longrn Public Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Longrn Declare Function CombineRgn Lib "gdi32" Alias "CreateRectRgn" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Longrn Declare Function DeleteObject Lib "gdi32" Alias "DeleteObject" (ByVal hObject As Long) As Longrn Public Declare Function GetDC Lib "user32 " (ByVal hwnd As Integer) As Integerrn Declare Function GetWindow Lib "user32 " (ByVal hwnd As Long, ByVal wCmd As Long) As Longrnrn Public Const RGN_OR = 2rnrnrnrnrn Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Loadrnrn Dim HWD As Longrn Dim HDC As Longrn HWD = GetWindow(Me.Handle, 2)rn HDC = GetDC(PictureBox1.Handle)rn SetWindowRgn(HWD, PicProc(HDC, &HFFFFFF&, 858, 324), True)rnrnrn End Subrnrnrnrn Public Function PicProc(ByVal nClient As Long, ByVal TransparentColor As Long, ByVal lngClientW As Long, ByVal lngClientH As Long) As Longrn Dim lngX&, lngY&, lngStarX&rn Dim lngRgnResultHdc&, lngRgnHdc&rn Dim blnStarCreate As Booleanrnrn blnStarCreate = Truernrn For lngY = 0 To lngClientH - 1rn For lngX = 1 To lngClientW - 1rnrn lngStarX = lngXrnrn If GetPixel(nClient, lngX, lngY) <> TransparentColor Thenrnrnrn lngRgnHdc = CreateRectRgn(lngStarX, lngY, lngX + 1, lngY + 1)rnrn If blnStarCreate Thenrn lngRgnResultHdc = lngRgnHdc : blnStarCreate = Falsern Elsern CombineRgn(lngRgnResultHdc, lngRgnResultHdc, lngRgnHdc, RGN_OR)rn DeleteObject(lngRgnHdc)rn End Ifrn End Ifrn Nextrnrn Nextrnrn PicProc = lngRgnResultHdcrnrn End FunctionrnrnEnd Class
C#panel总是白色闪烁
Form1里面有个panel1rnpanle1中有个panel2rnrn有个timer控件无限的重新绘制panel2rnrn在Form1中设置了页面的双缓冲。rnrn但是还是会<em>闪烁</em>rnrn在timer控件中使用rnrn this.panel2.Invalidate();rn this.panel2.Refresh();rnrn<em>闪烁</em>的更厉害了。。rnrn怎么解决啊?
背景图片的问题 --- 总是闪烁
rn背景描述:rn主对话框M,有好十几个子对话框A/B/C等(父窗口都设成M,样式选中child)rn在M上,有一背景图片rnrn问题:rn在我重新排列子对话框时,M的背景<em>总是</em>要显示一下,以致于能看见背景<em>闪烁</em>,不知道怎么办啊?rn原来是每次都把不需要显示的子窗口隐藏,需要显示的显示出来,这样会出现<em>闪烁</em>,于是我想把所有窗口一直显示,只是需要显示的窗口显示,不需要显示的窗口我移出屏幕,本来是想这样只是移动窗口应该不会有问题,结果还是一样<em>闪烁</em>,天啊,怎么办啊?
VB.net实现闪烁效果
如何用VB.net实现霓红灯<em>闪烁</em>效果?
datagridview 总是不停的闪烁
我的WINFORM里没有设置任何刷新datagridview的地方,也没有进行重绘什么的rn但是datagridview<em>总是</em>一点点的<em>闪烁</em>,占用CPU很高,关掉datagridview就好了呢
C#/vb.netpicturebox中的画图
C#/<em>vb.net</em> 在<em>picturebox</em>中的画图函数button_click 可以触发,form load不可触发nnn```n Dim MyFormGraphic As Graphics = FormPic.CreateGraphicsn Dim BlackPen As New Pen(Brushes.Black, 2) '线宽为2 n Dim x As Integern Dim y As Integern Dim width As Integer = Piewidthn Dim height As Integer = Pieheightn x = (PicBoxWidth - width) / 2 '目前没用n y = (PicBoxHeight - height) / 2 '计算距离轴起点纵坐标n Dim StrF As New StringFormat()n StrF.FormatFlags = StringFormatFlags.DirectionVerticaln MyFormGraphic.DrawString("( 范 围 Km )", New Font("Verdana", 10), Brushes.Blue, 10, 180, StrF)n For i = 0 To 10 Step 2n '画距离标尺 上半轴n Dim startb As New PointF(40, y + height / 2 - i * PicR / 10 - 10)n MyFormGraphic.DrawString(Convert.ToString(i * PerDis + DisMin), New Font("Verdana", 10), Brushes.Blue, startb)n '画距离刻度n Dim start2b As New PointF(80, y + i * PicR / 10)n Dim end2b As New PointF(89, y + i * PicR / 10)n MyFormGraphic.DrawLine(BlackPen, start2b, end2b) '画长刻度n Dim start2bb As New PointF(84, y + i * PicR / 10 + PicR / 10)n Dim end2bb As New PointF(89, y + i * PicR / 10 + PicR / 10)n MyFormGraphic.DrawLine(BlackPen, start2bb, end2bb) '画短刻度n Next in```n这是什么原因n
vb.netpicturebox 里的图片的变换
如果想变换同一个<em>picturebox</em>里的图片,怎么做。
VB.net制作背景透明的PictureBox控件
VB.net中,如何实现PictureBox控件的背景透明?即,如果两个PictureBox控件重叠,通过PictureBox1中图像透明的部分,可以看到下面PictureBox2控件中的图像。rn是不是必须自定义一个控件啊?rn如果要自定义的话,应该如何做?rnrn我在网上搜到一些资料,如MSDN中的。如下:rn默认情况下,控件不支持透明背景色。但是,通过使用构造函数中的 Control.SetStyle 方法,可以让控件拥有不透明、透明或半透明的背景色。SetStyle 方法是 Control 类的用于为控件设置特定的样式首选项的方法,并可用来启用或禁用对透明背景色的支持。rn使控件拥有透明背景色 ,在控件的代码编辑器中找到构造函数。 在构造函数中调用窗体的 SetStyle。 rnSetStyle(ControlStyles.SupportsTransparentBackColor, True)rn这将使控件能够支持透明背景色。 rn在步骤 1 中添加的代码行下再添加下面的代码行。这将把控件的 BackColor 设置为 Transparent。 rnMe.BackColor = Color.Transparentrnrn我看不上太懂。所谓的“在控件的代码编辑器中找到构造函数”是不是指Form1中的InitializeComponent()啊?rn我按照上面说的,在 Private Sub InitializeComponent()中的'PictureBox部分添加代码:rnSetStyle(ControlStyles.SupportsTransparentBackColor, True)rnMe.BackColor = Color.Transparent rn结果每次都报错。错误信息->“找不到方法Form.Windows.Forms.Form.SetStyle()”rn这究竟是怎么回事啊?到底该如何解决?rn
Vb.net 2个picturebox的问题
我的窗体上有2个<em>picturebox</em>: pic1和pic2rnrn我想实现rn当我对pic1操作的话,比如图片的更换,直接影响到pic2也就是说 可以在pic2看到pic1的效果 rnrn谢谢
vb.netpicturebox使用的问题
我在<em>vb.net</em>添加了<em>picturebox</em>控件,并在控件上通过代码绘制了图形,我想要通过鼠标对该控件进行缩放和平移,这样的操作要如何实现呢?
vb.net读取picturebox所有像素
rnvb6 可以用 getbits 速度还可以rnrn<em>vb.net</em> 用什么方法读取所有像素速度快呢
程序画面总是闪烁怎么办
做一个二维数值计算,坐标对应像素位置,数值对应像素颜色,不断变化rn这样我用settimer控制时间进行显示的时候,画面<em>闪烁</em>的非常厉害。rn有没有其他进行定时显示的办法,不<em>闪烁</em>的rnrn如果用一个for循环显示的话,一会儿就进行完了,根本看不清画面,伤脑筋。rnrnPS;使用CreateCompatibleDC和CreateCompatibleBitmap是不是不用delectobject()rn啊,会不会内存泄漏rnrnrn我是希望能够像动画一样显示的流畅一些
同时显示图片,和画线,总是闪烁
在对话框中,想使用背景图,同时在背景图上画坐标线,同时曲线每个20秒变化一次rnvoid CDemoRouteAnalysisDlg::OnPaint()rnrn rn //CDialog::OnPaint();rn CPaintDC dc(this); rn rn CRect rt;rn GetClientRect(rt);rn CDC *pDC = &dc;//GetDC(); rn CBitmap BmpMem; //背景,前景,内存位图 rn CDC MemDC; //背景设备,前景设备,内存设备 rn rn //创建与显示设备兼容的位图 rn //BmpMem.CreateCompatibleBitmap(pDC, rt.Width(), rt.Height()); rn BmpMem.LoadBitmap(IDB_BITMAP_BACK);rn rn BITMAP bm;rnrn BmpMem.GetBitmap(&bm);//得到rnrn //创建与显示设备兼容的设备 rn MemDC.CreateCompatibleDC(&dc); rn CBitmap* pOldBitmap = MemDC.SelectObject(&BmpMem);rn OnEraseBkgnd(&MemDC);rn DrawXY(rt,pDC);rn // DrawDrive(rt,pDC);rn dc.StretchBlt(0,0,rt.Width() ,rt.Height(),&MemDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);rnrn //只一次性的向显示设备显示位图,不会出现闪屏 rn // dc.BitBlt(0, 0, rt.Width(), rt.Height(), &MemDC,0, 0, SRCCOPY); rnrn //MemDC.Selectrn //MemDC.SelectObject(pOldBitmap); rn //释放资源 rn MemDC.DeleteDC();rn BmpMem.DeleteObject();rnrnrnrn
c# treeview的显示,总是闪烁??
c# treeview的显示,<em>总是</em><em>闪烁</em>??
c#关于picturebox闪烁和效率问题
大虾们好,我想问一个问题 ,我现在希望<em>picturebox</em>在我时钟中断(200ms)的时候 每次都更新图片 (我利用的是双缓冲,在时钟中断的时候将内存中的图片显示在显示器上),但是我发现<em>picturebox</em> 不能自动清除原来的内容,这样就有很多以前图片的遗留下来的效果。我试图清空<em>picturebox</em>,在网上查到可以用this.Picturebox1.Image=null; 我试了一下 发现可以是可以 但是<em>闪烁</em>的太厉害了(因为我是放在时钟中断里面) 请问一下 大家有什么好办法吗??谢谢啦 rnrnrnps:用了 this.Picturebox.Image.Dispose(),后this.Picturebox1.Image=null,仍然没有解决<em>闪烁</em>的问题;而且,我直接在form上画还是<em>闪烁</em>的很厉害rnrn帮帮忙啊~~~很急~~~谢谢~~~
C#.net picturebox动画效果,刷新图像的闪烁问题解决方法
在.net的控件上用timer控制刷新图像,可以形成动画效果,但是有个问题就是会<em>闪烁</em>。比如<em>picturebox</em>控件名字是picshow,我们要刷新picshow的图像,一般是怎么做呢?一般是用Graphics对象的clear来清除,然后将要画的东西一点点画上去。这样的方法中间存在一个clear过程,导致会有一瞬间的<em>闪烁</em>。一个简单的解决方法是不用clear:先创建位图,然后将要画的东西画到位图上,最后
如何解决picturebox图片闪烁问题?
如题
Form动态添加PictureBox,图片闪烁问题
c#应用程序,在Form中动态添加几个PictureBox,设置背景透明,图片大小100*100,运行程序,能看出图片是一张一张加载的。rn切换窗口到别的程序再切回来(其他什么操作都没有),图片也是一张一张的加上的。rnrn求解决方案,拜谢啦~~~~
为什么我制作生成的Flash文件总是闪烁不停?急
界面只有一个图片,和几个button而已,小弟是新手
请问一下为什么这个APPLET总是闪烁??谢谢
是一个转盘程序,在转的时候<em>总是</em>要<em>闪烁</em>。。rn先上代码,解释在后面,谢谢!!rnrnrn[code=Java]import java.applet.*;rnimport java.awt.*;rnimport java.util.*;rnimport java.awt.event.ActionEvent;rnimport java.awt.event.ActionListener;rnimport java.awt.geom.Rectangle2D;rnimport java.awt.image.BufferedImage;rnimport java.awt.image.CropImageFilter;rnimport java.awt.image.FilteredImageSource;rnimport java.awt.image.ImageProducer;rnrnrnpublic class test extends Applet implements Runnable,ActionListenerrn rn private Image img;rn private Image[] arr;rn private Image background;rn private Image offscreen;rn private BufferedImage bi;rn private MediaTracker mt;rn private Thread animation;rnrn rn private int y;rn private int iWheela,iWheelb,iWheelc;rn private int iCounta,iCountb,iCountc;rn private boolean bStopa,bStopb,bStopc;rn private int iResulta,iResultb,iResultc;rn private boolean bFirst;rn private Random rand;rnrn rn private Panel panel;rn private Button button,up,down;rn private TextField t1,t2;rn private int score,debt;rn rn public void init()rn rn setSize(600,300);rn iWheela=iWheelb=iWheelc=0;rn iCounta=iCountb=iCountc=7;rn bStopa=bStopb=bStopc=false;rn bFirst=true;rn score=20;rn debt=0;rn rand=new Random();rn bi=new BufferedImage(75,105,BufferedImage.TYPE_INT_RGB);rn rn mt=new MediaTracker(this);rn arr=new Image[30];rn img=getImage(getCodeBase(),"wheel.gif");rn mt.addImage(img, 0);rn tryrn mt.waitForID(0);rn catch(InterruptedException e)rnrn background=getImage(getCodeBase(),"background.jpg");rn mt.addImage(background, 0);rn tryrn mt.waitForID(0);rn catch(InterruptedException e)rn rn rn offscreen=this.getGraphicsConfiguration().createCompatibleVolatileImage(getSize().width, getSize().height);rn rn for(int i=0;i0 && debt0)rn rn score++;rn debt--;rn t1.setText(""+score);rn t2.setText(""+debt);rn rn rn rn rn rn public void calculate()rn rn if(iResulta==iResultb && iResulta==iResultc)rn rn score+=debt*3;rn debt=0;rn t1.setText(""+score);rn t2.setText(""+debt);rn rn rn else if(iResulta==iResultb || iResulta==iResultc || iResultb==iResultc)rn rn score+=debt*2;rn debt=0;rn t1.setText(""+score);rn t2.setText(""+debt);rn rn elsern rn debt=0;rn t1.setText(""+score);rn t2.setText(""+debt);rn rn rn rn rnrn[/code]rnrn看过图形编程的书,说要避免<em>闪烁</em>可以使用后背缓冲,可是在这个APPLET里面我使用了啊,就是那个offscreen的IMAGE,都是先在他上面画图,然后一次性画在窗口里面的。请哪位高人帮忙解决一下,谢谢了rnrn
请教高手,使用第三方组件为什么控件总是不停的闪烁
我用expressquantumgrid5.0做界面,主要使用的cxtextedit输入框比较多,<em>为什么</em>运行时老<em>闪烁</em>,我把属性挨个找了个遍,也没发现与其相关的属性
滚动字幕为什么闪烁?谁又不闪烁的?
滚动字幕<em>为什么</em>会<em>闪烁</em>?谁又不<em>闪烁</em>的?
页面为什么不停闪烁
从新闻页面点开一条新闻,该页面及新页面的标题栏就闪个不停,同样的javascript代码,有的有此情况,有的没有,就是同一条新闻也是有时有有时无,好像是随机的。rn不是因为代码循环语句引起的
计时器 为什么闪烁
实现 一个简单的计时器,程序如下。rnrnfind_zero函数是想让计时时候数值最高位以上的位不显示。rn但是运行时除了最高位,其它的位会<em>闪烁</em>。当去掉find_zero函数及相关语句时,可以正常计数。rn请教 低位的<em>闪烁</em>是怎么回事?rnrnrn#include rn#includern typedef unsigned char unit8;rn typedef unsigned int unit16;rn typedef unsigned long unit32;rnrnrn unit8 code p[]=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,rn num[]=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07;rn unit8 a[8]; rn static unit8 j=0;rnrnvoid timer1_init()rnrn TMOD|=0x10;rn TMOD&=0xdf;rn TH1=0xFC;rn TL1=0x67;rn TR1=1;rnrnrnvoid int_init()rnrn EA=1;rn ET1=1;rnrnrnrn find_zero()rnrn unit8 x; rn for(x=j+1;x<=7;x++)rn rn if (a[x]!=0)rn return 1; rn rn rn return 0;rnrnrnrnrnrefresh()rnrn rn if (find_zero())rn P1=num[7-j];rn else j++;rn return 0;rn rn switch(j)rn rn case 0:P2=p[a[0]];j++;break;rn case 1:P2=p[a[1]];j++;break;rn case 2:P2=p[a[2]];j++;break;rn case 3:P2=p[a[3]];j++;break;rn case 4:P2=p[a[4]];j++;break;rn case 5:P2=p[a[5]];j++;break;rn case 6:P2=p[a[6]];j++;break;rn case 7:P2=p[a[7]];j=0;break; rn rnrnrn rnrnrnrnmain()rnrn timer1_init();rn int_init();rn while(1);rnrnrnrnvoid interrupt_timer1() interrupt 3rnrn unit16 counter;rn rn static unit32 m=0;rn TF1=0;rn TH1=0xFC;rn TL1=0x67;rn counter++;rn if (counter==1000)rn rn counter=0;rn m++;rnrn a[0]=m%10; rn a[1]=m/10%10;rn a[2]=m/100%10;rn a[3]=m/1000%10;rn a[4]=m/10000%10;rn a[5]=m/100000%10;rn a[6]=m/1000000%10;rn a[7]=m/10000000%10;rn rn rn if (m==99999999)rn m=0;rn refresh();rn rn
为什么屏幕闪烁不停?
我的程序主画面显示正常,点击按钮后打开一个子窗口,子窗口中有一个TAB控件,TAB控件中含有4个tabpage。rnrn 这个程序在大部分机器上运行都正常,但是在个别机器上运行时出现打开子画面后整个电脑的桌面都<em>闪烁</em>,好像不停地再刷新的样子,这个问题十分头痛,一直处理不了。rnrn 另外出现这种现象的机器有XP、win2003,但是都是一键版的系统,怀疑精简系统出的问题,但是还有大部分的精简系统运行也是正常的,不知道是什么原因,请高手解答一下,万分感谢!给20分!
为什么会奇怪的闪烁?
这是一段代码,运行后点COMMAND1会产生动画UNLOAD效果,有一个奇怪的问题就是生成EXE文件后再点COMMAND 按钮会<em>闪烁</em>,如果将其它窗口全部最小化就没这个问题!rnrnPrivate Sub Command1_Click()rngotoval = Me.Height / 2rnFor gointo = 1 To gotovalrnDoEventsrnMe.Height = Me.Height - 10rnIf Me.Height <= 11 Then EndrnNext gointornEndrnEnd Sub
TreeView为什么闪烁
[code=C#]rn private void tvwCommand_MouseDown(object sender, MouseEventArgs e)rn rn //foreach (TreeNode nodeType in tvwCommand.Nodes)rn //rn // nodeType.BackColor = Color.White;rn // foreach (TreeNode nodeCommand in nodeType.Nodes)rn // rn // nodeCommand.BackColor = Color.White;rn // rn //rnrn //先使之前选中的节点背景色和控件的背景色相同rn if (tvwCommand.SelectedNode != null)rn rn tvwCommand.BeginUpdate();rn tvwCommand.SelectedNode.BackColor = tvwCommand.BackColor;rn tvwCommand.EndUpdate();rn rnrn //选中鼠标单击的节点,并将背景色设为红rn TreeNode node = tvwCommand.GetNodeAt(e.X, e.Y);rn if (node != null)rn rn tvwCommand.SelectedNode = node;rn tvwCommand.BeginUpdate();rn tvwCommand.SelectedNode.BackColor = Color.Red;rn tvwCommand.EndUpdate();rn rn rn[/code]
为什么我的闪烁解决不了
rn CDC memDC;rn CBitmap bm,*oldBmp;rn CRect rc = rcBoard;rn memDC.CreateCompatibleDC(pDC);rn bm.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height());rn oldBmp=memDC.SelectObject(&bm);rn ..............................rn............................rn pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memDC,0,0,SRCCOPY);rn memDC.SelectObject(oldBmp);rn memDC.DeleteDC();rn我使用上面的程序屏幕变花了!!!!!!!!rn望高人指点!!rn MY Email:gzh_buaa@263.netrn
显示器屏幕为什么闪烁
我的显示器屏幕在开机以后的一段时间一直<em>闪烁</em>(感觉屏幕上蒙了一层浅绿色),请问这是怎么回事?是不是显卡(GF4 440)的问题?
为什么屏幕会闪烁
两个窗体,当下面的代码执行时,屏幕会产生<em>闪烁</em>,请问是怎么回事,怎么解决?rnprivate sub command1_click()rnform1.hidernform2.showrnend subrn谢过
为什么总是 NO
rnrn rn rnrn
帮我看看代码,当我缩小或者放大图象以后,为什么总是闪烁,怎么能消除闪烁??????(icehill)
--------------------------------Move the picture------------------------------------------rnprocedure TForm_3011.Image1MouseDown(Sender: TObject; Button: TMouseButton;rn Shift: TShiftState; X, Y: Integer);rnbeginrn MouseDown.x:=x;rn MouseDown.y:=y;rn Capture:=true;rnend;rn--------------------------------Move the picture----------------------------------------rnprocedure TForm_3011.Image1MouseMove(Sender: TObject; Shift: TShiftState;rn X, Y: Integer);rnbeginrn if Capture thenrn beginrn so.HorzScrollBar.Position := so.HorzScrollBar.Position+trunc((X-MouseDown.x)/20);rn so.VertScrollBar.Position := so.VertScrollBar.Position+trunc((Y-MouseDown.y)/20);rn end;rnend;rn-------------------------------Move the picture-----------------------------------------rnprocedure TForm_3011.Image1MouseUp(Sender: TObject; Button: TMouseButton;rn Shift: TShiftState; X, Y: Integer);rnbeginrn if Capture thenrn beginrn Capture:=false;rn so.HorzScrollBar.Position := so.HorzScrollBar.Position+trunc((X-MouseDown.x)/20);rn so.VertScrollBar.Position := so.VertScrollBar.Position+trunc((Y-MouseDown.y)/20);rn end;rnend;rnrnprocedure TForm_3011.BitBtn1Click(Sender: TObject);//缩小图象rnbeginrn Image1.AutoSize:=false;rn Image1.Stretch:=true;rn Image1.Height:=trunc(Image1.Height*2/3);rn Image1.Width:=trunc(Image1.Width*2/3);rnend;rnrnprocedure TForm_3011.BitBtn2Click(Sender: TObject);//放大图象rnbeginrn Image1.AutoSize:=false;rn Image1.Stretch:=true;rn Image1.Height:=trunc(Image1.Height*3/2);rn Image1.Width:=trunc(Image1.Width*3/2);rnend;
Picturebox加载 控件后 总是看不全
按照传统方式 放2个<em>picturebox</em> 和滚动条rn但是即使滚动到最后还是看不全图片rn我实在是算的晕头转向了,谁有现成的rn告诉一下
vb.net 或C#在picturebox上画图问题
大家好,谁解决过类似问题,麻烦说个思路即可rnrn在现有的一张<em>picturebox</em>上,注意,这个<em>picturebox</em>上已经有内容了,无论是图片也好,bitmap也好,总之要保持不变rnrn然后当鼠标move到picturbox里时,保持<em>picturebox</em>上的图片不变,根据鼠标在<em>picturebox</em>中的相对坐标,在上面出现一个十字线,就类似在股票软件上鼠标移动到K线图上那样rnrn鼠标leave的时候,十字线消失rnrn整个过程<em>picturebox</em>内容不变rnrn我有一个方法能解决,但是跑起来非常卡,就是用两个函数,move事件调用A函数,画图+画线. leave事件调用B函数,只在<em>picturebox</em>上画图.这两个函数的差别就是查个画线函数.rnrn我不在paint事件中写代码的,因为太消耗资源,我这个图生成本身就比较消耗资源了.鼠标在上面的时候其实就是一直在调用A函数,已经反复的画图+画线,非常消耗资源,线走起来也比较卡.rnrn所以想请教大家有什么好方的方法实现这个功能呢,说个可以实现的思路即可!谢谢!
vb.net c# 在picturebox中用GDI画图问题
大家好,请教一个困惑很久的问题,我想在<em>vb.net</em>或者C# 的<em>picturebox</em>控件中画一个折线图,面临如下问题:rn1.坐标系转换rn2.像素与x轴数字个数的关联问题rn我不想使用ZedGraph或者MSChart解决此问题,从技术角度,还是想用GDI解决此问题rnrn代码我写了一部分,需求在里面用注释的形式写下,新建一个工程后,拖一个按钮,一个<em>picturebox</em>.按钮中代码如下:rn Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Clickrn Dim w As Integer = PictureBox1.Width '图像宽度 单位:像素rn Dim h As Integer = PictureBox1.Height '图像高度 单位:像素rn Dim mybitmap As Bitmap = New Bitmap(w, h)rn PictureBox1.Image = mybitmaprn Dim Graph As Graphics '定义画布rn Graph = Graphics.FromImage(PictureBox1.Image) '设置画布rn Graph.Clear(Color.Black)rnrn Dim arr(6) As Integer '定义一个7个数组成的数组rn arr(0) = 200rn arr(1) = 262rn arr(2) = 88 '最小值rn arr(3) = 422rn arr(4) = 219rn arr(5) = 333rn arr(6) = 526 '最大值rnrn '假设<em>picturebox</em>宽度是314,高度是212rn '问题1:重新建立我们熟悉的坐标系,左下角为(0,0),右上角为(7,526),7是表示数组个数rn '问题2:在此坐标系之上7个点连成一个折线图rn '问题3:难道真的要手动计算每个点的像素位置吗?或者说坐标,比如左边第一个点的X轴坐标就是w/7,这样获得的是一个小数啊rn '数据少的时候可以cint一下,误差还好.但是当arr这个数组的长度比较大的时候,比如9999,而<em>picturebox</em>的宽度比如是200的时候,误差也会越来越大rn '有什么方法可以将数组的长度和<em>picturebox</em>的像素比较方便的结合起来或者不用我们去理会,就像过去vb6时rn '可以使用 Picture2.Scale (x1, y1)-(x2, y2)一样比较方便的设置scale,而不用去考虑像素问题rnrn '我不想使用zedgraph或者mschart这些控件,我相信应该有解决方法,因为这些控件的底层不也是按照GDI的原理画出来的吗rn '谢谢大家!!!!!rnrnEnd Sub
VB.NET中关于PictureBox的问题求教!
怎样才可以将画在PictureBox控件大小以外的图象显示出来,是否只要将该控件的滚动条显示出,就能将多余的图象显示出了?若是的话,那又该如何设置其滚动条属性???
vb.net中panel 如何添加 picturebox
<em>vb.net</em>中panel 如何动态添加 <em>picturebox</em>,并且设置图片,并且根据指定的<em>picturebox</em>的单击及双击做出不同的响应?哪位高手帮个忙啊,急
vb.net中PictureBox随鼠标拖动
我想在一个背景图片上添加设备的功能, 是通过右键“添加设备”在Form上添加了PictrueBox(设备图片), 但是这个图片是可以随便移动到任意位置的! 并且下次运行程序这些添加的设备要全部都显示出来!rnrn请高人指点我怎么做! 最好是有源码Demo 先谢谢各位了
VB.Net关于PictureBox图片的旋转翻转.txt
VB.Net关于PictureBox图VB.Net关于PictureBox图片的旋转翻转.txt片的旋转翻转.txt
vb.netpicturebox的image赋值问题
窗口中定义了一个<em>picturebox</em>控件viewboxrn希望能直接在显示希望的图片。rn Dim original As Image = Bitmap.FromFile("C:\Image\test.jpg")rn rn ViewBox.Image = originalrnrn请高手指教以上代码有什么问题?image赋值有什么需要特殊处理的地方?rnPictureBox1.Image = System.Drawing.Image.FromFile(filename)rnPictureBox1.ImageLocation = filenamern之类的就不用说了,因为image对象还有其他处理。
vb.net 在Picturebox中建立坐标,画点和线
我是vb2008的初学者,我想在Picturebox中建立坐标,坐标,画点和线,请问怎么做啊?能否给出具体操作,不甚感激,谢谢.
VB.NET 如何判断PictureBox的图像为空
试过 PictureBox1.Images = Nothing 只可能设置值,但不能判断PictureBox的图像为空,如:If PictureBox1.Images = Nothing Then 就会报错,请赐教。
VB.NET的picturebox怎么实现透明背景阿?
VB.NET的<em>picturebox</em>怎么实现透明背景阿?我设置了PNG或者GIF图像,怎么<em>picturebox</em>的背景还是有阿?BackColor改成Transparent也不行,这是怎么回事???
求一段picturebox拖拽移动的vb.net代码
求一段<em>picturebox</em>拖拽移动的<em>vb.net</em>代码 最好详细说明怎么用
vb.netpicturebox控件保存连续帧动画
用<em>vb.net</em>的<em>picturebox</em>控件是否能保存连续帧的动画图片,rn或者要用什么方法?
关于vb.net picturebox显示下面控件的问题
在一个窗口上有两个空间,一个<em>picturebox</em>,一个button。<em>picturebox</em>的背景有一部分挡在button上面。rn但是当设置<em>picturebox</em>的backcolor为transparent以后,运行时button的那部分还是被挡住了,有什么方法可以看到下面的button?
如何在vb.net中自定义picturebox坐标
以前在vb6里,可以用picture1.scale(x1,y1)-(x2,y2)来自定义<em>picturebox</em>的坐标,但在.net中,好像这个方法已经不能再使用了,那应该如何自定义坐标呢?
怎样用lable控制picturebox的可见性? vb.net
现在有一个窗体 Form1 ,需要在这个窗体上添加 5 个图片, 我把这 5 张图片分别放到 5 个<em>picturebox</em>里了。同时,添加了 5 个label 。rn图片和lable 都是一数字1、2、3、4、5 命名,并且一一对应。rnrn我想实现的是:当鼠标点击 相应名称的 lable 是 ,对应的 图片可见。rnrn就像,形式和网页上的图片差不多。不过我要用[color=#FF0000]<em>vb.net</em>[/color]做rnrn哪位指点一下?rnrn
vb.net中如何关闭picturebox访问的文件
我用<em>picturebox</em>的loadfile方法设置image属性,现在我要关闭访问的文件,请问该怎么做?
vb.net中PictureBox中BorderStyle如何使用?
各位高手:我想在VB.NET中使用PictureBox,在窗口中正常显示凸和单击显示凹,请问可以使用rnrnBorderStyle实现吗?如果可以,如何编写程序?如果不能使用,怎么办?rn本人跪求解决该问题。rn环境:vs.net2003 +sqlce+sqlserver+windowsrn应用:smartclientrnrn(qfdy :主题:<em>vb.net</em>中PictureBox中BorderStyle如何使用)
VB.net PictureBox滚轮局部放大图片
本源码使用PictureBox控件实现图片的局部放大浏览功能,效果类似淘宝网站的图片局部放大浏览,通过鼠标悬浮查看局部大图,同时扩展了鼠标滚轮放大缩小功能。经VS2010 VB调试成功可用,欢迎用来学习和研究。
vb.net中PictureBox的Image怎么清空,急!
<em>vb.net</em>中PictureBox的Image怎么清空,急!rnrndataset.tables(0).rows(0)(0).tostring怎么出不来值
vb.net picturebox怎样才能显示ftp上的图片?
<em>vb.net</em> <em>picturebox</em>怎样才能显示ftp上的图片?
vb.net pictureBox 上放置的Label能否透明
<em>vb.net</em> pictureBox 上放置的Label能否透明rnLabel1.BackColor = Color.Transparent没有用
vb.netpicturebox怎么加载文件夹下的图片
在工程下面建了一个存放图片的文件夹rn<em>picturebox</em>怎么加载那里面的图片rnrnrnrn加载系统MY Documents文件夹下的图片的方法是这样的:(假设电脑的MY Documents文件夹下有logo1.jpg这个图片)rnrnme.<em>picturebox</em>.image=image.fromfile(system.environment.getfolderpath_(system.environment.specicalfolder.personal)&"logo1.jpg")rnrnrn因为这个路径指定了MY Documents文件夹。如果工程移到别的电脑就没那图片了,所以怎么加载工程下面的文件夹的图片rnrn怎么指定路径????
难难难!ListView为何总是闪烁
ListView添加item时<em>为什么</em>会闪,如何解决?rnrn注意:别告诉我用BeginUpdate.我想既要它不闪,又要能即时看到添加每一个item.还有,我添加的item是JPEG缩略图,多的时候会有1000个以上。rn我急!却没人告诉我怎么办rn
操作TreeView屏幕总是闪烁!!怎么办??????
在我的代码中,当页面加载时,TreeView并不全部加载,只有当用户点击某一个结点前的"+"时,该结点的子结点才从服务器发送过来,这样一来性能会好一些。rn 但是每次点击"+"时,页面都会<em>闪烁</em>,现在我还不能把TreeView的AutoPostBack设置为false,要是那么做就不能动态加载子结点了。rn 请问有什么办法能解决<em>闪烁</em>问题吗?谢谢!
求 解决VB.net中 VS和HS滑动picturebox中图片的闪烁问题
怎么解决VB.net中 VS和HS滑动<em>picturebox</em>中图片的<em>闪烁</em>问题rnrn求各位大神帮助啊
imp 总是不停地重复闪烁,怎么解决?
在dos下执行:rnimp username/password buffer=1000000 file=(lpmast_bj_01) tables=(lpmast) grants=n indexes=n constraints=n filesize=2G log=lpmast_bj_imp.log feedback=100 commit=y ignore=yrnrn结果下面出来很多 rnimp username/password buffer=1000000 file=(lpmast_bj_01) tables=(lpmast) grants=n indexes=n constraints=n filesize=2G log=lpmast_bj_imp.log feedback=100 commit=y ignore=yrnimp username/password buffer=1000000 file=(lpmast_bj_01) tables=(lpmast) grants=n indexes=n constraints=n filesize=2G log=lpmast_bj_imp.log feedback=100 commit=y ignore=yrn重起机器还是这样,请牛人指点!
用On_Timer刷新,为何总是闪烁
sdi和对话框的都一样rn用计时器每秒刷新一次,界面<em>总是</em><em>闪烁</em>rn请问如何解决?
picturebox为什么不能使用print
我将<em>picturebox</em>的autoredrew属性涉为true了,<em>为什么</em>在程序中picture1.print "&&&&"这里就是不行,提示“未找到方法或数据成员"?
picturebox的内存为什么不断增加?
我载入图片,显示在<em>picturebox</em>里面,但我载入另外一张图片后,内存没有释放仍然在继续增加,请问是不是要用什么代码清除内存?我贴图是用graphics的rnrn另外一个问题,panel也可以显示图片,但好像不能自动拉伸图片吧?那我想显示全部图片怎么办?
请教高手:在vb.net为什么填充数据集总是失败
。。。 rnDsCustomers1.Clear()rn SqlDataAdapter1.Fill(DsCustomers1, "Customers")rnrn错误提示rn"system.data.oledb.oledbexception"类型的异常出现在system.data.dllrnrnrn在数据源是sql server 2000时,<em>总是</em>出现如上错误rn当数据源是access文件时,则可成功填充。rn请高手多多指教,非常感谢
VB.NET做的两个网站访问的时候为什么总是出问题?
这两个网站安装在同一个机器上,单独访问每一个网站都没有问题,但是就是不能同时访问,否则就会报错“未将对象引用设置到对象的实例”。rn访问一个网站后,如果想再访问第二个网站,必须先将进程中的aspnet_wp.exe结束掉才可以。但是我在这个机器上安装了VB.net的开发环境后,访问就是正常的了,请问这是<em>为什么</em>?rn
急!!!!!!!!为什么VB.net里面的ASP.net应用程序总是不能建立?
我装的.net2003,我的机器是2000 server,sp4的补丁,用VB.net构建ASP.net应用程序时<em>总是</em>提示我"Web服务器运行的不是ASP.Net.1.1版",但是我已经运行了%windir%\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i和regsvr32 %windir%\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll两个命令了,还是一样的提示错误,不知道<em>为什么</em>?
VB.NET调用PlaySound为什么总是失败?请高手指教
我想编一个在PocketPC2003中运行的程序,窗体上有一按钮,点击该按钮后,播放一个声音。rn我是这样做的,rn首先在模块文件中声明APIrnPublic Declare Function PlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integerrn然后在按钮点击事件处理程序中加入rnPlaySound("sound1.wav", 0, 2)rn编译可以通过,但是在运行的时候,一点该按钮就会产生错误,请问这是<em>为什么</em>?
为什么月亮在运动时闪烁
Private Sub timer1_timer()rnStatic i As IntegerrnPicture1.ClsrnPicture1.FillStyle = 0rnPicture1.FillColor = vbYellowrnPicture1.Circle (Picture1.Width / 3 + i, Picture1.Height / 3 + i), Picture1.Width / 6, vbBluerni = i + 50rnEnd Subrnrnpicture背景是夜空,<em>为什么</em>月亮在运动时<em>闪烁</em>呢?很费解啊,求教各位大神
为什么我的液晶显示器不断的闪烁
问题如题.
对话框为什么在拉伸时闪烁??
用了内存DC,并且也画了内存背景。rn在ERASEWND里也返回了TRUE,怎么还是这么闪??rnrnvoid CCTDlg::OnPaint()rnrn CPaintDC dc(this); // device context for paintingrnrn //获取显示好友列表控件的区域rn CRect rt;rn GetClientRect(&rt);rn CBrush br;rn br.CreateSolidBrush(RGB(255,255,255));rn m_dcMem.FillRect(&rt,&br);rn rn DrawClientDlg(&m_dcMem,rt);rn m_dcMem.SetBkMode(TRANSPARENT);rn dc.BitBlt(rt.left,rt.top,rt.Width(),rt.Height(),&m_dcMem,0,0,SRCCOPY);rnrnrnrnrnrn怎么解决??
为什么我的freetextbox一直闪烁
谁有使用的实例程序啊rn请给一份我的rnemail:ty34565@163.com
为什么移动图像会闪烁
我用DirectDraw在屏幕上移动一幅图像,移动方式如下:rn目前的效果,画面有时有一顿一顿的感觉,偶尔有<em>闪烁</em>。rnrn1、DirectDraw初始化rn*******************************************************************************rn 初始化DirectDrawrn*******************************************************************************rnfunction TFrmNotePlay.InitDirectDraw : Boolean;rnvarrn ddsd : TDDSurfaceDesc2;rn ddscaps : TDDSCaps2;rn hRet : HRESULT;rn AGUID :PGUID;rnbeginrn Result := False;rn cur_SD:=curDisplaySettingParam.ydsu;rn if not isWindows then beginrn ChangeAdapter(curDisplaySettingParam.AdapterIndex+1);rn curDisplaySettingParam.ScreenBitDepth:=8;rn new(AGUID);rn AGUID:=@curDisplaySettingParam.AdapterGUID;rn // Create the main DirectDraw objectrn hRet := DirectDrawCreateEx(AGUID, FDD, IDirectDraw7, nil);rn endrn elsern hRet := DirectDrawCreateEx(nil, FDD, IDirectDraw7, nil);rn if hRet <> DD_OK then beginrn ErrorOut(hRet, 'DirectDrawCreateEx');rn Exit;rn end;rnrn //Setting the cooperate levelrn if isWindows thenrn hRet := FDD.SetCooperativeLevel(Handle, DDSCL_NORMAL)rn elsern hRet := FDD.SetCooperativeLevel(Handle, DDSCL_FULLSCREEN orrn DDSCL_EXCLUSIVE or DDSCL_ALLOWREBOOT);rn if hRet <> DD_OK then beginrn ErrorOut(hRet, 'SetCooperativeLevel');rn Exit;rn end;rnrn // Setting the display modern if not isWindows then beginrn //全屏模式支持rn hRet := FDD.SetDisplayMode(rn curDisplaySettingParam.ScreenWidth,rn curDisplaySettingParam.ScreenHeight,rn curDisplaySettingParam.ScreenBitDepth, 0, 0);rn if hRet <> DD_OK then beginrn ErrorOut(hRet, 'SetDisplayMode');rn Exit;rn end;rn end;rnrn // Create the primary surfacern FillChar(ddsd, SizeOf(ddsd), 0);rn ddsd.dwSize := SizeOf(ddsd);rn if isWindows then beginrn ddsd.dwFlags := DDSD_CAPS ;rn ddsd.ddsCaps.dwCaps := DDSCAPS_PRIMARYSURFACE ;rn endrn else beginrn ddsd.dwFlags := DDSD_CAPS or DDSD_BACKBUFFERCOUNT;rn ddsd.ddsCaps.dwCaps := DDSCAPS_PRIMARYSURFACE or DDSCAPS_FLIP or DDSCAPS_COMPLEX;rn ddsd.dwBackBufferCount := 1;rn end;rn hRet := FDD.CreateSurface(ddsd, FDDSPrimary, nil);rn if hRet <> DD_OK then beginrn ErrorOut(hRet, 'CreateSurface');rn Exit;rn end;rnrn // Create the Backbufferrn if isWindows then beginrn FillChar(ddsd, SizeOf(ddsd), 0);rn ddsd.dwSize := SizeOf(ddsd);rn ddsd.dwFlags:=DDSD_CAPS or DDSD_WIDTH or DDSD_HEIGHT;rn ddsd.ddsCaps.dwCaps:=DDSCAPS_OFFSCREENPLAIN or DDSCAPS_VIDEOMEMORY;rn ddsd.dwWidth:=curDisplaySettingParam.ScreenWidth;rn ddsd.dwHeight:=curDisplaySettingParam.ScreenHeight;rn hRet := FDD.CreateSurface(ddsd, FDDSBack, nil);rn rn endrn else beginrn FillChar(ddscaps, SizeOf(ddscaps), 0);rn ddscaps.dwCaps := DDSCAPS_BACKBUFFER;rn hRet := FDDSPrimary.GetAttachedSurface(ddscaps, FDDSBack);rn end;rn if hRet <> DD_OK then beginrn ErrorOut(hRet, 'Create the Backbuffer');rn Exit;rn end;rnrn if isWindows then beginrn //设置覆盖区域rn hRet :=FDD.CreateClipper(0,FDDSClipper,nil);rn if hRet <> DD_OK thenrn beginrn ErrorOut(hRet, 'Create the Clipper');rn Exit;rn end;rn hRet :=FDDSClipper.SetHWnd(0,Handle);rn if hRet <> DD_OK thenrn beginrn ErrorOut(hRet, 'SetHWnd');rn Exit;rn end;rn FDDSPrimary.SetClipper(FDDSClipper);rn end;rn Result := True;rn Timer1.Enabled:=true;rnend;rn2、页面交换rn*******************************************************************************rn FlipPages 页面交换rn 功能:rn 将后台处理好的画面显示到屏幕上rn*******************************************************************************rnfunction TFrmNotePlay.FlipPages : Boolean;rnvarrn hRet : HRESULT;rn WinRect,sRect: TRect;rn ddscaps : TDDSCaps2;rn ddbltfx : TDDBltFx;rnbeginrn FillChar(ddbltfx, SizeOf(ddbltfx), 0);rn ddbltfx.dwSize := SizeOf(ddbltfx);rn ddbltfx.dwDDFX :=DDBLTFX_NOTEARING;//DDBLTFX_MIRRORLEFTRIGHT;//rn if not FActive then exit;rn Result := False;rn while True do beginrn //等待垂直刷新信号rn FDD.WaitForVerticalBlank(DDWAITVB_BLOCKBEGIN,0);rn if not isWindows then beginrn //全屏模式rn hRet := FDDSPrimary.Flip(nil, 0);rn endrn else beginrn //窗口模式rn GetWindowRect(Handle,WinRect);rn sRect.Left:=0;rn sRect.Top:=0;rn sRect.Right:=curDisplaySettingParam.ScreenWidth;rn sRect.Bottom:=curDisplaySettingParam.ScreenHeight;rn hRet := FDDSPrimary.Blt(@WinRect, FDDSBack, nil, DDBLT_WAIT or DDBLT_DDFX,@ddbltfx);rn //hRet := FDDSPrimary.Blt(@WinRect, FDDSBack, nil, DDBLT_WAIT ,nil);rn //FDDSPrimary.BltFast(0,0,FDDSBack,nil,DDBLTFAST_WAIT or DDBLTFAST_SRCCOLORKEY);rn end;rn if hRet = DD_OK then beginrn Break;rn endrn // 找回丢失的页面rn else if hRet = DDERR_SURFACELOST then beginrn hRet := FDDSPrimary._Restore;rn if hRet <> DD_OK then beginrn Exit;rn end;rn endrn // 异常rn else if hRet <> DDERR_WASSTILLDRAWING then beginrn Exit;rn end;rn end;rn // OKrn Result := True;rnend;rn3、处理后台页面rnfunction TFrmNotePlay.UpdateFrame : Boolean;rnvarrn h_DC : HDC;rn ddbltfx : TDDBltFx;rn size : TSize;rn hRet : HRESULT;rn demoStr:String;rn DemoFontStr:String;rnbeginrn if not FActive then exit;rn // 清除后台屏幕图像rn FillChar(ddbltfx, SizeOf(ddbltfx), 0);rn ddbltfx.dwSize := SizeOf(ddbltfx);rn ddbltfx.dwFillColor := 0;rn hRet := FDDSBack.Blt(nil, nil, nil, DDBLT_COLORFILL or DDBLT_WAIT, @ddbltfx);rn if hRet <> DD_OK then beginrn result:=false;rn Exit;rn end;rn // Drawrn if FDDSBack.GetDC(h_DC) = DD_OK then beginrn //刷新后台屏幕图像rn MovePhoto(h_DC);rn FDDSBack.ReleaseDC(h_DC);rn end;rn // OK:rn Result := True;rnend;rn4、移动图像rnprocedure TFrmNotePlay.MovePhoto(h_DC : HDC);rnbeginrn StretchBlt(rn h_dc,rn curDisplaySettingParam.p_l,rn curDisplaySettingParam.p_t,rn curDisplaySettingParam.DisplayWidth,rn curDisplaySettingParam.DisplayHeight,rn Bmp2.Canvas.Handle, 0, ss,rn curDisplaySettingParam.DisplayWidth,rn curDisplaySettingParam.DisplayHeight,rn SRCCOPY)rnend;rn5、我用timer计时器定时刷新屏幕rnprocedure TFrmNotePlay.Timer1Timer(Sender: TObject);rnvarrn TickCount,thisTickCount:Integer;rnbeginrn if FActive then beginrn if canMove then //判断当前画面是否需要移动rn ScreenUpDate; //处理移动方式与距离rn if UpdateFrame then begin //更新后台页面rn if not FlipPages then begin //将后台页面拷贝到前台rn Close;rn end;rn endrn else beginrn Close;rn end;rn end;rnrnend;
为什么我的对话框闪烁厉害?
<em>为什么</em>我的对话框<em>闪烁</em>厉害? 在OnPaint()里,我调用Invalidate();
窗体的淡入淡出为什么闪烁
[code=C#]rn private void Welcome_Load(object sender, EventArgs e)rn rn for (double d = 0.01; d < 2; d += 0.03)rn rn System.Threading.Thread.Sleep(1);rn Application.DoEvents();rn this.Opacity = d;rn this.Refresh();rn rn for (double d = 1; d > 0; d -= 0.015)rn rn System.Threading.Thread.Sleep(1);rn Application.DoEvents();rn this.Opacity = d;rn this.Refresh();rn rn rn[/code]rnrn淡入和淡出的代码,运行起来的时候,那个窗体没有连贯的淡入淡出,但是伴随着闪动.有什么办法让他不要闪吗?
为什么我的动画要闪烁???
我在onpaint()中画了一个矩形,rn然后用ontimer()中改变其位置,然后InvalidateRect该矩形。rn但照此作的动画,该矩形会出现<em>闪烁</em>。rn怎样才能做到不<em>闪烁</em>呢?
为什么为什么为什么为什么我的LISTVIEW全变成的PICTUREBOX?
各位大侠,请帮小生一点忙。rn随着我们做的项目工程的不断增加,许多头疼的事情莫名其妙的出现了。现在我的问题是:rn我编译一旦出错,如果我此刻存盘退出(不管错误是否得到修正),再次打开的时候rnLISTVIEW全部变成的PICTUREBOX!因为项目组里有30多窗体,VB就会报告60多个错误!rn我敲回车就要敲上半天:(那位大侠遇见过相同的情况,或者明白我怎样设置才能避免rn这样的错误,小弟感激不尽,并有薄分献上。我因此已经浪费了好多的工作,哎。
为什么闪烁得这么厉害呢?
我点击一个按钮,目的是重新显示背景图片(请不要问<em>为什么</em>这样做,只是想法而已)rnprivate void Button1_Click(....)rnrn panel1.BackgroundImage=Image.FromFile("d:\\aa.jpg");rnrnrn我发现点击按钮时,图片<em>闪烁</em>得太厉害了,后来在构造中加入如下代码:rn this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);rn this.SetStyle(ControlStyles.UserPaint, true);rn this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);rn也不起作用?这是<em>为什么</em>、怎么解决呢?
为什么我的双缓存还会闪烁
我在一个背景上,用键盘移动一个图片:rnView的成员变量:rn CDC* pMemDC;rn CDC *bmp0,*bmp1,*bmp2;rn int x,y;rn实现:rnvoid CNanrenView::OnDraw(CDC* pDC)rnrn CNanrenDoc* pDoc = GetDocument();rn ASSERT_VALID(pDoc);rn pDC->BitBlt(0,0,634,436,pMemDC,0,0,SRCCOPY); rnrnrnLRESULT CNanrenView::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) rnrn if (message==WM_KEYDOWN)rn rn switch( wParam ) rn rn case 0x26:rn y--;rn break;rn case 0x28 :rn y++;rn break;rn case 0x25:rn x--;rn break;rn case 0x27:rn x++;rn break;rn rn pMemDC->BitBlt(90+x*10,90+y*10,52,52,bmp0,90+x*10,90+y*10,SRCCOPY);rn pMemDC->BitBlt(100+x*10,100+y*10,32,32,bmp1,0,0,SRCCOPY); rn InvalidateRect(CRect(90+x*10,90+y*10,90+x*10+52,90+y*10+52));rn rn return CView::DefWindowProc(message, wParam, lParam);rnrnrn图片再CRect(90+x*10,90+y*10,90+x*10+52,90+y*10+52)范围内还是<em>闪烁</em>,怎么回事?
为什么我的液晶显示器不停的闪烁
问题如题
我编的游戏为什么闪烁
同上
为什么屏幕会一直闪烁
刚装了fedora,在字符界面下不知道<em>为什么</em>屏幕每隔几秒钟就会全黑,隔了1,2妙有恢复到正常,一直这么<em>闪烁</em>.不知道有高人知道是什么原因?rn我是在virtual machine上运行fedora的.我是初学者,多谢了.
C# 没有背景层的PICTUREBOX重绘闪烁解决办法
最近做一个医疗器械项目 终端的软件需要显示波形 但是在<em>picturebox</em> 重绘时发现<em>闪烁</em>现象严重 问题原因:重绘时调用picture的refresh 即在重绘间 会有一次<em>picturebox</em>什么也不显示 人眼看上去就像是<em>闪烁</em>。 解决思路:将重绘时下一张图片作为背景贴在<em>picturebox</em>上 代码如下 此时不需要refresh函数 Bitmap image = new Bitmap(pict
怎么让PictureBox里面的图片不闪烁
我的的PictureBox里面放有多个Image控件用以加载不同的图片,然后可以点击按钮切换显示,用的是在Timer中加入类似下面的代码:img(0).Left=img(0).Left-nStep这种移动图片,然后发现图片<em>闪烁</em>得厉害,请问各位怎么解决这个问题呢,谢谢先!
求救,加载多个控件(picturebox),窗体更改大小就闪烁
窗体有N个容器,每个容器里有一个Dockstyle.Fill的PictureBox(自定义,下面多了个label),可是每当窗体更改大小,就<em>闪烁</em>。很难看!rn怎么办?
picturebox
怎么用<em>picturebox</em>实现点击按钮 “上一张”“下一张”图片rn求代码?
pictureBox
在pictureBox 中 导入图片后 ,怎样做让我点击按钮后在pictureBox中显示我想要的图片?
汇编指令大全+很全的汇编指令下载
汇编指令大全+很全的汇编指令 汇编指令大全+很全的汇编指令 相关下载链接:[url=//download.csdn.net/download/muhoor/2929207?utm_source=bbsseo]//download.csdn.net/download/muhoor/2929207?utm_source=bbsseo[/url]
有限元matlab实现下载
有限元法matlab实现,具有通用性。主要解决杆系结构。 相关下载链接:[url=//download.csdn.net/download/a080201/3299999?utm_source=bbsseo]//download.csdn.net/download/a080201/3299999?utm_source=bbsseo[/url]
水波纹屏保下载
WaterScr.rar为水波纹屏幕保护程序,由VC++实现,里面有具体的算法,模拟的是水滴滴下,在湖面泛起一圈一圈涟漪的效果,效果很逼真,供大家参考和学习。 相关下载链接:[url=//download.csdn.net/download/snomy/3691648?utm_source=bbsseo]//download.csdn.net/download/snomy/3691648?utm_source=bbsseo[/url]
我们是很有底线的