Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Перестроить вкладки TPageControl с помощью Drag and Drop


// In the PageControl's OnMouseDown event handler: 

procedure TForm1.PageControl1MouseDown(Sender: TObject; 
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 
begin 
  PageControl1.BeginDrag(False); 
end; 


// In the PageControl's OnDragDrop event handler: 

procedure TForm1.PageControl1DragDrop(Sender, Source: TObject; X, Y: Integer); 
const 
  TCM_GETITEMRECT = $130A; 
var 
  i: Integer; 
  r: TRect; 
begin 
  if not (Sender is TPageControl) then Exit; 
  with PageControl1 do 
  begin 
    for i := 0 to PageCount - 1 do 
    begin 
      Perform(TCM_GETITEMRECT, i, lParam(@r)); 
      if PtInRect(r, Point(X, Y)) then 
      begin 
        if i <> ActivePage.PageIndex then 
          ActivePage.PageIndex := i; 
        Exit; 
      end; 
    end; 
  end; 
end; 

// In the PageControl's OnDragOver event handler: 

procedure TForm1.PageControl1DragOver(Sender, Source: TObject; X, 
  Y: Integer; State: TDragState; var Accept: Boolean); 
begin 
  if Sender is TPageControl then 
    Accept := True; 
end;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay