Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2011, 18:14   #1
Mifig
Пользователь
 
Регистрация: 02.07.2009
Сообщений: 11
Вопрос Перемещение TTabSheet в PageControl

Может кто сталкивался с такой задачей, нужно из PageControl1 перетащить TTabSheet в PageControl2.

Пробывал вот так:

Код:
procedure TForm1.PageControl1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
 if (Source.ClassName = 'TTabSheet') then TabSheet1.PageControl:=PageControl1;
end;

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

procedure TForm1.TabSheet2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then   (Sender as TTabSheet).BeginDrag(true);
end;
Но PageControl1 не принемает TabSheet
Mifig вне форума Ответить с цитированием
Старый 09.01.2011, 19:47   #2
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Подправляем:
Код:
procedure TForm1.PageControl1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
begin
if (Source is TTabSheet) then
(Source as TTabSheet).PageControl:=PageControl1;
end;
asmodey1 вне форума Ответить с цитированием
Старый 09.01.2011, 19:56   #3
Mifig
Пользователь
 
Регистрация: 02.07.2009
Сообщений: 11
По умолчанию

asmodey1 не в этом тут дело, перенос у меня работает но если pagecontrol пустой т.е. в нём нету tabsheet'a то перенести его не получиться пустой pagecontrol его не примет(
Ладно разберусь, спасибо что уделил время.
Mifig вне форума Ответить с цитированием
Старый 09.01.2011, 20:16   #4
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Mifig Посмотреть сообщение
...но если pagecontrol пустой...
...то нужно динамически создать новый ТTabSheet...
asmodey1 вне форума Ответить с цитированием
Старый 09.01.2011, 20:27   #5
Mifig
Пользователь
 
Регистрация: 02.07.2009
Сообщений: 11
По умолчанию

а зачем динамический? мне просто нужно из однго pagecontrol в другой перетаскивать. решил что хоть один tabsheet должен остаться в pagecontrol
Mifig вне форума Ответить с цитированием
Старый 10.01.2011, 17:11   #6
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Неверный подход
Делаем по-другому :
1. На пустой ТPageControl бросаем TImage и подгоняем ее под размеры и положение вашего ТPageControl.
2. Обработчики OnDragOver и OnDragDrop переписываем для этого TImage.
3. Результат - все нормально переносится и в пустой ТPageControl...

Последний раз редактировалось asmodey1; 10.01.2011 в 21:56.
asmodey1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TPageControl и TTabSheet WarHamster Общие вопросы Delphi 2 11.12.2010 16:47
У меня почему то TTabSheet не становиться невидимым. tonatas Общие вопросы Delphi 1 01.09.2010 12:52
TTabSheet я уже выдохся... prouser Общие вопросы C/C++ 1 03.05.2010 08:41
Показ в TPanel и (или) TTabSheet, объектов из плагинов dll nixstill Общие вопросы Delphi 4 19.09.2009 21:26
TTabSheet и String UnD)eaD)Snake Общие вопросы Delphi 2 04.09.2007 17:59