소리바람.OJ 님이 말한 사이트에서 보고 변환해 봤어요
http://delphi.about.com/cs/adptips2004/a/bltip0304_3.htm
간단하네요...
void __fastcall TForm1::PageControl1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
PageControl1->BeginDrag(false) ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PageControl1DragOver(TObject *Sender,
TObject *Source, int X, int Y, TDragState State, bool &Accept)
{
if (Sender == PageControl1)
Accept = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::PageControl1DragDrop(TObject *Sender,
TObject *Source, int X, int Y)
{
int iActivePage=PageControl1->ActivePageIndex;
TRect TabRect;
if(Sender= PageControl1)
{
for( int j = 0 ; j<PageControl1->PageCount - 1;j++)
{
PageControl1->Perform(TCM_GETITEMRECT, j, LPARAM(&TabRect)) ;
if( PtInRect(TabRect, Point(X, Y) ) )
{
if( PageControl1->ActivePage->PageIndex != j )
{
PageControl1->ActivePage->PageIndex = j;
}
}
}
}
}
//---------------------------------------------------------------------------
소리바람.OJ 님이 쓰신 글 :
: 여러 방법이 있습니다.
:
: 1. 상용 컴포넌트를 구입한다.
: 2. 드레그앤드랍 이벤트를 구현한다.
:
: 2번의 방법이 구를 검색에서 나오는군요.
: 다만, 델파이라는거~
:
:
http://delphi.about.com/cs/adptips2004/a/bltip0304_3.htm
:
: 지금 환경이 안 되어서 변환은 못 해 드리지만,
: 보시고 구현하시기에는 무리가 없을 듯 합니다.
:
: 검색의 생활화~!
: 즐거운 하루 보내세요.
:
: 크레브 님이 쓰신 글 :
: : 페이지 콘트롤 사용할때 각 탭이 TTabSheet로 되어 있는데요
: :
: : 가끔 프로그램 짜다 보면 나중에 새로운 탭을 추가해서 중간에 끼워넣고 싶은경우가 있는데
: :
: : 탭들의 순서를 바꿀수 있는 방법이 뭐가 제일 편한가요?
: :
: : 노가다로 콤포넌트 다 복사해서 붙여야 하는건지?
: :
: : 그냥 마우스 드래그로 순서를 바꿀수 있었으면 편한데...