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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2019, 19:02   #1
dol
Пользователь
 
Регистрация: 02.12.2018
Сообщений: 12
Радость delphi выбор ячейки с помощью ScrollBar

Здравствуйте!
Дана таблица StringGrid 10x10, и два ScrollBar вертикальный и горизонтальный.
При нажатии на ячейку таблицы вертикальный скроллбар занимает положение равное номеру строки, а горизонтальный равное столбцу.
Как сделать, чтобы можно было выбрать ячейку с помощью скроллбаров?
Т.е. передвигая вертикальный скролл выбираем номер строки, а горизонтальный номер столбца.

Код:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
StringGrid1.Cells[ACol,Arow]:= IntToStr(ACol*ARow);
ScrollBar1.Position:= ARow;
ScrollBar2.Position:= ACol;
end;

procedure TForm1.ScrollBar1Change(Sender: TObject);
var j, i, z: integer;
begin
StringGrid1.Row:=ScrollBar1.Position; //вот тут не понимаю, как изменить номер строки
end;
procedure TForm1.ScrollBar2Change(Sender: TObject);
var j, i, z: integer;
begin
StringGrid1.Col:=ScrollBar2.Position; // то же самое со столбцом
end;

Последний раз редактировалось dol; 31.05.2019 в 20:27.
dol вне форума Ответить с цитированием
Старый 01.06.2019, 11:22   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

А количество стр.-столб. фиксированное ? Тогда можно перед началом работы откалиброваться: кликнуть в левую верхнюю ячейку и правую нижнюю, запомнить. И тогда методом интерполяции.
Наверно, есть менее экзотические способы - гуру подскажут.
digitalis на форуме Ответить с цитированием
Старый 01.06.2019, 21:29   #3
dol
Пользователь
 
Регистрация: 02.12.2018
Сообщений: 12
По умолчанию

Не понимаю в чем была ошибка, попробовал сначала все сделать то же самое и заработало.
Код:
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
StringGrid1.Row := ScrollBar1.Position;
end;

procedure TForm1.ScrollBar2Change(Sender: TObject);
begin
StringGrid1.Col := ScrollBar2.Position;
end;
Этого оказалось достаточно, можно закрывать тему
dol вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор с помощью ComboBox. Angelochek* Общие вопросы Delphi 11 12.12.2013 10:59
воспроизведение формата ячейки с помощью UDF андей Microsoft Office Excel 0 11.12.2009 17:40
Запись формул в ячейки с помощью VBA Lyubov1990 Microsoft Office Excel 6 13.05.2009 16:53
Как удалять ячейки с помощью VBA Рома_Чайник Microsoft Office Excel 4 16.02.2009 11:31
Выбор программы или Открыть с помощью Умелец Свободное общение 7 14.07.2007 21:17