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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2009, 17:31   #1
Ky3Heu,
Пользователь
 
Регистрация: 01.04.2009
Сообщений: 94
Лампочка Как удалить компонент??

Есть на PageControl куча динамически созданных панелей. По правому клику на панели юзер выбирает "Удалить", и мне эту панель (именно эту одну, а не все) надо удалить, только я не знаю как. Имя компонента при клике заносится в переменную.
По ракетам и хоккею - Россияне всех сильней!
Ky3Heu, вне форума Ответить с цитированием
Старый 23.04.2009, 18:10   #2
Лукманов Александр
работа не волк....
Форумчанин
 
Аватар для Лукманов Александр
 
Регистрация: 09.06.2008
Сообщений: 337
По умолчанию

Component - Install Packages - Выбираете и Remove

Пардон, не правильно прочитал.
Цель, для которой требуются неправые средства, не есть неправая цель.

Последний раз редактировалось Лукманов Александр; 24.04.2009 в 09:29.
Лукманов Александр вне форума Ответить с цитированием
Старый 23.04.2009, 19:11   #3
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

Код:
procedure TForm1.Panel1Click(Sender: TObject);
begin
  FreeAndNil(Sender);
end;
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
VVM вне форума Ответить с цитированием
Старый 24.04.2009, 09:26   #4
Ky3Heu,
Пользователь
 
Регистрация: 01.04.2009
Сообщений: 94
По умолчанию Все намного проще оказалось.

Цитата:
Сообщение от Лукманов Александр Посмотреть сообщение
Component - Install Packages - Выбираете и Remove
Все намного проще оказалось.
Код:
var pan:Tcomponent;
     conam:TcomponentName;
begin
pan:=Findcomponent(conam);
pan.free;
Но все равно спасибо.....
По ракетам и хоккею - Россияне всех сильней!
Ky3Heu, вне форума Ответить с цитированием
Старый 24.04.2009, 09:31   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Лукманов Александр
Это уж слишком радикально

Цитата:
VVM
Это помоему тоже удалит все

Вот мое предложение с ПопупМеню:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    procedure N1Click(Sender: TObject);
    procedure PageControl1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.N1Click(Sender: TObject);
begin
    PageControl1.ActivePage.Free;


end;

procedure TForm1.PageControl1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var i:integer;
begin
 i:=PageControl1.IndexOfTabAt(x,y);
if (i>=0)and(Button=mbright) then begin
 PageControl1.ActivePageIndex:=i;
 PopupMenu1.Popup(Mouse.CursorPos.X,Mouse.CursorPos.y);
end;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.04.2009, 10:08   #6
Ky3Heu,
Пользователь
 
Регистрация: 01.04.2009
Сообщений: 94
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это уж слишком радикально


Это помоему тоже удалит все

Вот мое предложение с ПопупМеню:
Код:
unit Unit1;
Ничего радикального. Мне надо было удалить компонент. Метод Free удаляет именно тот компонент который нужен полностью. Я этого и хотел.
По ракетам и хоккею - Россияне всех сильней!
Ky3Heu, вне форума Ответить с цитированием
Старый 24.04.2009, 14:46   #7
VVM
Форумчанин
 
Аватар для VVM
 
Регистрация: 06.06.2007
Сообщений: 282
По умолчанию

Цитата:
Ничего радикального. Мне надо было удалить компонент. Метод Free удаляет именно тот компонент который нужен полностью. Я этого и хотел.
Радикальность в том, что предложенный метод удаляет компоненты с палитры компонентов, то есть вообще из delphi.

2 Stilet:
Цитата:
Это помоему тоже удалит все
Цитата:
...куча динамически созданных панелей...
Предполагалось, что при клике на нужную панель она и удалится, ведь Sender - это ссылка на объект вызвавший событие. Просто я не уловил, что клик в меню, а не левой кнопкой на самой панели...
Не важно, как часто вы падаете. Важно, как часто вы поднимаетесь. Винс Ломбарди.
VVM вне форума Ответить с цитированием
Старый 24.04.2009, 15:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
VVM
Ну на сколько я понял автору вкладку нужно удалить а не саму панель... Хотя... смутный вопрос всетки...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить ХР антивирус? nesimon Безопасность, Шифрование 5 05.01.2010 01:36
Как удалить компонент? AnnNet Компоненты Delphi 10 18.11.2008 15:09
Как программно удалить компонент от формы или другого компонента (контейнера)? SkAndrew Общие вопросы Delphi 3 27.05.2008 15:20
как удалить скринсейвер? ronich Помощь студентам 6 24.10.2007 20:36
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить Alar Общие вопросы Delphi 0 29.10.2006 21:36