bcb12345
一般會員
發表:2 回覆:0 積分:0 註冊:2004-06-12
發送簡訊給我
|
各位前輩:
不知有否此經驗:在image繪圖配合滑鼠移動時螢幕會出現閃爍現象,怎麼解都無法解決,且問題並不在cpu or 顯示卡的速度(會改善但無法消除).附上test的source code,有解否?謝謝!
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "EM.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TRect ImgRect_temp;
ATOM atom;
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::show_panelClick(TObject *Sender)
{
int i=0,j=0,x=0,y=0;
Image->Canvas->Pen->Width=1;
Image->Canvas->Brush->Style=bsSolid;
Image->Canvas->Pen->Color=(Graphics::TColor)clGray;
Image->Canvas->Rectangle(0,0,500,200);
Image->Canvas->Pen->Width=1;
Image->Canvas->Pen->Style=psSolid;
for(i=0;i<8;i )
{
y =20;
Image->Canvas->MoveTo(0,y);
Image->Canvas->LineTo(500,y);
}
x=0;
for(i=0;i<9;i )
{
x =40;
Image->Canvas->MoveTo(x,0);
Image->Canvas->LineTo(x,200);
}
}
//---------------------------------------------------------------------------}
//---------------------------------------------------------------------------
void __fastcall TForm1::ImageMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
Image->Canvas->Pen->Style=psSolid;
Image->Canvas->Brush->Style=bsClear;
Image->Canvas->Pen->Color=(Graphics::TColor)clBlue;
Image->Canvas->CopyRect(ImgRect_temp,Image2->Canvas,ImgRect_temp);
Image->Canvas->Rectangle(0,0,X,Y);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
show_panelClick(Sender);
ImgRect_temp=Rect(0,0,Image->Width,Image->Height);
Image2->Canvas->CopyRect(ImgRect_temp,Image->Canvas,ImgRect_temp);
}
//---------------------------------------------------------------------------
|