首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

请教怎样才能移动PAGECONTROL上的标签页呀?

2012-02-12 
请问怎样才能移动PAGECONTROL上的标签页呀??如题,怎样才能移动PAGECONTROL上的标签页?就象BC上那个多页似

请问怎样才能移动PAGECONTROL上的标签页呀??
如题,怎样才能移动PAGECONTROL上的标签页?就象BC上那个多页似的,能通过鼠标移动每一页,并且能改变页之间的顺序,找了好久也没找到头绪呀...最好能详细一些。先谢谢各位了啊:)

[解决办法]
分别在PageControl的OnMouseDown, OnDragDrop, OnDragOver事件中添加以下代码:

C/C++ code
void __fastcall TForm1::PageControl1MouseDown(TObject *Sender,      TMouseButton Button, TShiftState Shift, int X, int Y){    TPageControl *pgc = dynamic_cast <TPageControl *> (Sender);    pgc->BeginDrag(false);}//---------------------------------------void __fastcall TForm1::PageControl1DragDrop(TObject *Sender,      TObject *Source, int X, int Y){    RECT TabRect;    TPageControl *pgc = dynamic_cast <TPageControl *> (Sender);    if (Sender->ClassNameIs("TPageControl"))    {        for (int j=0; j < PageControl1->PageCount; j++)        {            pgc->Perform(TCM_GETITEMRECT, j, LPARAM(&TabRect));            if (PtInRect(TabRect, TPoint(X, Y)))            {                if (pgc->ActivePageIndex != j)                {                    pgc->ActivePage->PageIndex = j;                    break;                }            }        }    }}//---------------------------------------void __fastcall TForm1::PageControl1DragOver(TObject *Sender,      TObject *Source, int X, int Y, TDragState State, bool &Accept){    if (Sender->ClassNameIs("TPageControl"))        Accept = true;} 

热点排行