|
전종욱 님이 쓰신 글 :
: 소영 님이 쓰신 글 :
: : 다음과 같이 Image에 비트맵이미지를 그렸습니다.
: :
: : {
: :
: : pBitmap = new Graphics::TBitmap();
: : pBitmap->LoadFromFile("c:\mix.bmp");
: : pBitmap->Transparent = true;
: : Image1->Transparent=true;
: : pBitmap->TransparentMode = tmAuto;
: : Image1->Canvas->Draw(200,100,pBitmap);
: :
: : }
: :
: : 비트맵이미지가 그려진후, 코드에서 비트맵이 놓여진 특정영역을 지정하지 않아도
: : 실행시 마우스가 비트맵이미지 위로 가면 마우스이벤트를 발생하게 하고 싶습니다.
: : 가능할까요?
: :
: : 아님 Image1 크기를 자동으로 비트맵이미지 크게에 맞출수 있나요?
: : 이게 가능하다면 비트맵 대신 Image1에 대한 마우스이벤트를 만들면 될 것 같은데요.
: : Autosize속성을 true로하고 실행시켜 봤는데 비트맵이미지가 안 나타나더군요.
: :
: : 방법 좀 알려주세요... 부탁드립니다.
:
:
: 다음과 같이 코딩해 보세요.
:
: pBitmap = new Graphics::TBitmap();
: pBitmap->LoadFromFile("c:\mix.bmp");
: Image1->Picture->Bitmap->Assign(pBitmap);
: Image1->Height = pBitmap->Height;
: Image1->Width = pBitmap->Width;
:
: 한가지 팁을 더 말씀드리면 소영님이 맨 마지막 줄에 쓰신
:
: Image1->Canvas->Draw(200,100,pBitmap)와 같이 코딩한다면
:
: 그 이미지 위에 다른 창을 올려 놨다가 치우면 그림이 지워지게 됩니다.
:
: 무슨 얘긴가 하면 TImage의 Canvas에다 그리면 Repaint 메시지가 일어날 때마다
:
: 그려 넣지 않는 이상 새로 그려지지 않는다는 거죠.
:
: 그렇기 때문에 그려 넣을 이미지를 Image->Picture->Bitmap 에 넣는 것입니다.
:
|