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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2011, 13:21   #1
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
Стрелка Grid for TPanels

есть ли такая таблица(Grid), в которую можно поместить TPanel

что б можно было удалять ячеику с TPanel, что б был Index у каждои ячеики
ато я намучился с координатами(Left) в ScrollBox
VirusN13

Последний раз редактировалось ArtGrek; 17.02.2011 в 15:24.
ArtGrek вне форума Ответить с цитированием
Старый 17.02.2011, 23:08   #2
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Есть, но DBCtrlGrid.
asmodey1 вне форума Ответить с цитированием
Старый 18.02.2011, 01:22   #3
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

а как вставлять TPanel? через Canvas?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 18.02.2011, 13:03   #4
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Нет, просто бросить TPanel на DBCtrlGrid...
asmodey1 вне форума Ответить с цитированием
Старый 19.02.2011, 05:22   #5
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

уточню
1_TScrollBox //на нем массив из:
2__TPanel //на нем
3___TImage
3___TCheckBox
3___TComboBox
3___TLabel
3___TSpinEdit
если заменить TScrollBox и TPanel на DBCtrlGrid, то он, то что красным не принимает

надо заменить TScrollBox, в принципе необходимости в TPanel у меня тоже нет, только для разделения остальных компонент
ато TPanel.Lef приходица так рашитывать, и дальнеишие рашеты вести 15 * S + 267 * ( S - 1 ) - TScrollBox.HorzScrollBar.Position)
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 19.02.2011, 08:21   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то он, то что красным не принимает
Верно. Присмотрись внимательно к тем двум буквам что Асмодей тебе выделил жирным

ИМХО: Создать фрейм с компонентами, которые требуются для повторения, а потом на панели или лучше на СкроллБоксе понасоздавать тучу этих фреймов с указанием каждому фрейму Align:=alTop. Тогда будет выглядеть как грид с компонентами.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2011, 08:39   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
уточню
1_TScrollBox //на нем массив из:
2__TPanel //на нем
3___TImage
3___TCheckBox
3___TComboBox
3___TLabel
3___TSpinEdit
попробуй такую схему

Код:
TscrollBox
  TPanel align:=alLeft
     Tframe align:=altop (можно Tpanel)
         TImage
         TCheckBox
         TComboBox
         TLabel
         TSpinEdit
     Tframe align:=altop
           .......
     Tframe align:=altop
           ......
  TPanel align:=alLeft
      .......
  TPanel align:=alLeft
      .............
  TPanel align:=alLeft
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 19.02.2011 в 08:42.
evg_m вне форума Ответить с цитированием
Старый 20.02.2011, 04:22   #8
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

идея отличная, получилось похоже
вот только моргает силно перетаскиваемая панель

Код:
procedure TForm1.PanelMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if PresP then
  begin
    TPanel(Sender).Left := TPanel(Sender).Left - (x2 - x);
    TPanel(Sender).Top := TPanel(Sender).Top - (y2 - y);
    Repaint;  //  без етого еше хуже вид
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DoubleBuffered := True;
end;
--------------------------------------------------------------------------
добавил ето, результат нулевои
Код:
procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TPanel(Sender).ControlStyle := TPanel(Sender).ControlStyle + [csOpaque];
VirusN13

Последний раз редактировалось ArtGrek; 20.02.2011 в 06:17.
ArtGrek вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помощ в db grid deadneoo Компоненты Delphi 0 01.05.2010 15:41
из Grid в Edit stp56 Общие вопросы Delphi 8 18.04.2009 01:53
String Grid в VC++ Аlex Общие вопросы C/C++ 1 30.01.2009 22:48
манипулирование grid-ом Andriyko Компоненты Delphi 2 04.10.2008 17:08
Grid nimf Общие вопросы Delphi 2 22.04.2008 13:16