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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2010, 20:41   #1
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
Печаль как указать строки и столбцы через popupMenu

Товарищи, помогите. Никогда с этим меню не работал. Нужно было В соответствии с вариантом создать программный проект отображения средствами компонента StringGrid матрицы заданного размера. Все это сделал. Тока мне нужно через это меню задать количество сток и столбцов. Как это осуществить???
robin39 вне форума Ответить с цитированием
Старый 18.05.2010, 21:03   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

кинуть на форму TPopupmenu даблклик по нему, создаём пункты, в событиях пунктов onclick пишем обработчик нужный. В свойстве Popupmenu у Stringgrid`а выбрать это меню, если знаеш как задать количество строк, то всё.

Последний раз редактировалось vovk; 18.05.2010 в 21:15.
vovk вне форума Ответить с цитированием
Старый 18.05.2010, 21:56   #3
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
По умолчанию

а если создать два поля edit. Одно поле для строк, другое для столбцов. К каждому привязать свое popupMenu. После того как данные введены, с помощью кнопки создавать матрицу. Как рассписать все это. Просто я уже привязывал popupMeny к Stringgrid, там слишком много расписывать.
robin39 вне форума Ответить с цитированием
Старый 18.05.2010, 22:32   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от robin39 Посмотреть сообщение
а если создать два поля edit. Одно поле для строк, другое для столбцов. К каждому привязать свое popupMenu. После того как данные введены, с помощью кнопки создавать матрицу. Как рассписать все это. Просто я уже привязывал popupMeny к Stringgrid, там слишком много расписывать.
Цитата:
Просто я уже привязывал popupMeny к Stringgrid,
Это значит только то, что при клике правой кнопкой по Stringgrid будет открыватся ваше меню
Цитата:
там слишком много расписывать
ну незнаю 2 строчки это много?
Код:
StringGrid1.ColCount:=8;
StringGrid1.RowCount:=10;
ну или если хочется

Код:
StringGrid1.ColCount:=strtoint(edit1.Text);
StringGrid1.RowCount:=strtoint(edit2.Text);
или погодите StringGrid планируется создавать динамически?

Последний раз редактировалось vovk; 18.05.2010 в 22:41.
vovk вне форума Ответить с цитированием
Старый 18.05.2010, 23:03   #5
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
По умолчанию

Да, динамически
robin39 вне форума Ответить с цитированием
Старый 19.05.2010, 00:39   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ну тогда наверно это popupMenu стоит для формы установить а создавать ничего сложного
Код:
......
type
  TForm1 = class(TForm)
..........
.... 
private
           procedure SGSetEditTxt(Sender: TObject; ACol, ARow: Integer; const Value: string);
.......


procedure TForm1.SGSetEditTxt(Sender: TObject; ACol, ARow: Integer; const Value: string);
begin
 (sender as TStringGrid).Cells[0,0]:='('+inttostr(ACol)+', '+IntToStr(ARow)+')';
 (sender as TStringGrid).Cells[1,0]:=Value;
 end;

//вот тут процедура onclick по пункту в PopupMenu
procedure TForm1.N1111Click(Sender: TObject);
begin
StringGrid1.ColCount:=strtoint(edit1.Text);
StringGrid1.RowCount:=strtoint(edit2.Text);
 with TStringGrid.Create(self) do
 begin
   name:='mainstringgrid';//имя чтобы потом можно было легче програмно обратится
   left:=0;//расстояние слева от края клиенской области формы
   top:= 20;//расстояние сверху от края клиенской области формы
   Width:=500;//  ширина
   Height:=300;//высота
   ColCount:=strtoint(edit1.Text);// устанавливаем количество колонок берётся из edit1
   RowCount:=strtoint(edit2.Text);// устанавливаем количество строк берётся из edit2
   Options:=[goEditing,goVertLine,goHorzLine,goFixedVertLine,goFixedHorzLine,goRangeSelect];//выбираем опции
    BevelEdges:=[beLeft,beTop,beRight,beBottom];
    BevelWidth:=1;
    BevelInner:=bvRaised;
    //ну и ещё выбираем свойства которые нужны прописываем обработчики событий и тп
    //для примера возмём процедуру при редактировании текста ячейки
    OnSetEditText:=SGSetEditTxt;
    Parent:=self;//выбираем где компонент будет отображатся
 end;
end;

Последний раз редактировалось vovk; 19.05.2010 в 11:06.
vovk вне форума Ответить с цитированием
Старый 19.05.2010, 09:08   #7
robin39
Пользователь
 
Регистрация: 18.05.2010
Сообщений: 37
По умолчанию

Спасибо, ща попробуем.
robin39 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поменять столбцы на строки olimpus Microsoft Office Excel 3 24.10.2011 09:50
Delphi. StringGrid. PopupMenu. Удаление строки Neroaz Помощь студентам 3 04.04.2010 16:51
Как удалить строки и столбцы в массиве ЛесенОК Свободное общение 1 31.01.2009 18:35
Как обменять заданные строки/столбцы в матрице siriusz Общие вопросы C/C++ 6 18.01.2009 19:13