큐앤에이란을 아무리 뒤져더 찾을수가 없어서 이렇게 글을올립니다.
Canvas를 이용해서 박스안에 박스를 그리고 싶은데
아무리 해도 안돼서여..
폼위에 Image, Label 하나 씩올려놓구요
Image위에 Label를 올리구.. Image에 아무그림이나 하나 불러온다음에
Label의 Canvas를 이용해서
박스를 그리구 그 박스 중간에 구멍을 뻥~~ 뚤리게 한다음에
그 구멍 뚤린 중간쯤에 다시 박스를 그리고 싶은데-.-;;
2번째 작은 박스가 그려지질 않아서요 -.-;;;;;
소스는
버튼을 클릭하면..
Label1.Canvas.brush.color := clred;
label1.canvas.FillRect(rect(0,0,100,100));
Rec := Rect(Label1.Left + 10,Label1.Top + 10, Label1.Left + 50, Label1.Top + 50);
InvalidateRect(Handle,@Rec,True);
Label1.Canvas.brush.color := clWhite;
label1.canvas.FillRect(rect(15,15,30,30));
이렇게 했어요.. -.-;;;
처음에 빨간 빡스는 잘 그려지우요..
물론 중간에
InvalidateRect한부분도 너무너무 잘돼구요...
그런다 마지막 박스가 그려지질 않아요 -.-;;;
아시는분~~ 도움 부탁드립니다.~~~~~~~~
> 큐앤에이란을 아무리 뒤져더 찾을수가 없어서 이렇게 글을올립니다.
> Canvas를 이용해서 박스안에 박스를 그리고 싶은데
> 아무리 해도 안돼서여..
> 폼위에 Image, Label 하나 씩올려놓구요
> Image위에 Label를 올리구.. Image에 아무그림이나 하나 불러온다음에
> Label의 Canvas를 이용해서
> 박스를 그리구 그 박스 중간에 구멍을 뻥~~ 뚤리게 한다음에
> 그 구멍 뚤린 중간쯤에 다시 박스를 그리고 싶은데-.-;;
> 2번째 작은 박스가 그려지질 않아서요 -.-;;;;;
> 소스는
> 버튼을 클릭하면..
> Label1.Canvas.brush.color := clred;
> label1.canvas.FillRect(rect(0,0,100,100));
> Rec := Rect(Label1.Left + 10,Label1.Top + 10, Label1.Left + 50, Label1.Top + 50);
> InvalidateRect(Handle,@Rec,True);
> Label1.Canvas.brush.color := clWhite;
> label1.canvas.FillRect(rect(15,15,30,30));
>
> 이렇게 했어요.. -.-;;;
> 처음에 빨간 빡스는 잘 그려지우요..
> 물론 중간에
> InvalidateRect한부분도 너무너무 잘돼구요...
> 그런다 마지막 박스가 그려지질 않아요 -.-;;;
> 아시는분~~ 도움 부탁드립니다.~~~~~~~~
안녕하세요. ^^
제가 테스트를 해보니 잘되네요.. Label1.AutoSize가 True인지
확인하시구요.. True이면.. False로 바꿔주세요.
AutoSize때문에 Label1에 Canvas크기 자동으로 작아지니깐..
화면에 그려도 짤려서,.. 않보이는것 같습니당.
그리고,.. 중간에.. InvalidateRect는 않하셔도 되구요.
다시 그려줄 이유가 없는뎅.. ^^
이게 아님 다시 질문주세요.
그럼..20000.