http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tutorial&no=163
위 강좌를 응용해서 만들었는데요...
TShape를 상속한 클래스를 하나 만들어 주면 됩니다.
빼고 나누고 한것은 문자열을 Shape의 중앙에 넣기 위해서 계산한 겁니다.
class TShape : public Extctrls::TShape
{
typedef Extctrls::TShape inherited;
public:
String Caption;
protected:
virtual void __fastcall Paint(void) {
inherited::Paint();
short TW, TH;
TW = Canvas->TextWidth(Caption);
TH = Canvas->TextHeight(Caption);
Canvas->TextOut((Width - TW) / 2, (Height - TH) / 2, Caption);
}
};
#define TShape ::TShape
TShape를 생성한 곳에 다음과 같이 해주면 됩니다.
디자인 폼에 추가한거라면 생성자에 넣어주시면 됩니다.
Shape이름->Caption = "Test";
도라지 님이 쓰신 글 :
: 아... TShape를 동적으로 생성했는데요..
: 거기 안에 글자 내용을 넣고 드래그 하는 방식을 구현해야하는데...
:
: 드래그는 장성호님 팁을 이용해서 성공했는데.. 내용넣는건... 어렵군요..;;
:
: 다른 VCL이라던지..?? 참고할 만한 내용이 있을까요??
|