|
우선 답변 감사드리구여 꾸벅...
근데여
BitBlt에서는 해결책이 없는건가여?
if(ast.SubString(113,7)=="DEFAULT"){
BitBlt( pCanvas->Handle ,Rect.left+90,Rect.top,50,15, Image3- >CanvasHandle ,0,0 ,SRCCOPY );
제가 이렇게 했잖아여
이렇게 되면 해당 아이템수만큼 이미지를 찍게되잖아여 똑같은걸루..
그러니까 딱 한번만 찍을수있는 방법이 없는건가여?
그리고 Canvas의 Draw메소드는 어케사용하나여?
잘감이 안와서 그러거든요.....
매번 질문만드려서 죄송하구여
아~~ 난 언제 답변해줄 실력되나~~~
꼴 님이 쓰신 글 :
: Canvas에 출력한다음에
:
: Control->Repaint();한번 호출해 보세요.
: 화면 업데이트가 안되서 그럴 수도 있거든요..
:
: 아니면 pCanvas->Refresh()도 함 써보시고요.
:
: 그리고..
:
: Canvas를 사용하신다면 BitBlt보다는 canvas의 Draw메소도를 사용하시는게 좋지 않을거 같네요.
:
: 그럼.. 잘 해결되시길.. ^^
:
:
: 박상열 님이 쓰신 글 :
: : 안녕하세여
: : 각각 다른 값을가지는 if문이 3개가 있걸랑요
: :
: : //사용자의 지금의 접속상태에 따라 이미지 변경
: : AnsiString ast,ast1;
: :
: : TCanvas *pCanvas = ((TListBox *)Control)->Canvas;
: : BitBlt( pCanvas->Handle ,Rect.left+15,Rect.top,32,24, Image2->Canvas->Handle ,0,0 ,SRCCOPY );
: : pCanvas->TextOut(Rect.Left+30, Rect.Top+2, ((TListBox *)Control)->Items->Strings[Index]);
: :
: : for ( int cnt=0;cnt<Register->ListBox1->Items->Count; cnt++ ) {
: : ast= Register->ListBox1->Items->Strings[cnt];
: :
: : if(ast.SubString(113,7)=="DEFAULT"){
: : BitBlt( pCanvas->Handle ,Rect.left+90,Rect.top,50,15, Image3->Canvas->Handle ,0,0 ,SRCCOPY );
: : }
: : if(ast.SubString(113,4) =="AWAY"){
: : BitBlt(pCanvas->Handle , Rect.Left+90,Rect.top,50,15, Image4->Canvas->Handle ,0,0, SRCCOPY);
: : }
: : if(ast.SubString(113,7) =="NOANSER"){
: : BitBlt(pCanvas->Handle , Rect.Left+90,Rect.Top,50,15, Image5->Canvas->Handle ,0,0, SRCCOPY);
: : }
: : }
: :
: :
: : 이렇게 했는데여
: : 그러니까 DEFAULT일때는 이미지1을 찍어주고
: : AWAY 일때는 이미지2 NOANSER일때는 이미지3을 찍어주고 싶은데여
: : 무조건 다똑같이 한가지 이미지가 그려지거든요
: :
: : 잘못된건 알지만 어디서 잘못됬는지 잘감이 안오네여..
: : 답변좀 부탁드릴께여
: : 그럼
: : 꾸..벅
|