[Delphi] StringGrid: центрирование символа, выделение поля
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-16 18:57:55.690000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
quote:
ORIGINAL: GangstaLC не вижу алгоритмов их решения, может кто подскажет? Что такое алгоритм… Тебе не алгоритм нужен, а нормальный контрол написать. Допиливать StringGrid под твою задачу - извращение.
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-16 19:24:46.690000
|
|
|
GangstaLC
Сообщений: 71
Оценки: 0
Присоединился: 2009-10-11 20:55:22.796666
|
Аналогов StringGrid под мою цель нет случайно? [:(]
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-16 20:37:10.963333
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
Ооо,чувак)) Светит тебе брать на себя отрисовку TStringGrid)). Как бы намекаю: нарисовать простую черно-белую симметричную табличку с цифрами можно бы и на Canvas чего попало - так и возни будет меньше,забей же на готовое.
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-17 00:06:04.710000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
quote:
ORIGINAL: GangstaLC Аналогов StringGrid под мою цель нет случайно? [:(] Типовой вопрос начинающего дельфиста-формошлёпа: "А где взять компонент, который…".
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-17 13:17:14.140000
|
|
|
GangstaLC
Сообщений: 71
Оценки: 0
Присоединился: 2009-10-11 20:55:22.796666
|
quote:
Типовой вопрос начинающего дельфиста-формошлёпа: "А где взять компонент, который…". Черт) Ну что-же похоже все через это проходят) quote:
Ооо,чувак)) Светит тебе брать на себя отрисовку TStringGrid)). Как бы намекаю: нарисовать простую черно-белую симметричную табличку с цифрами можно бы и на Canvas чего попало - так и возни будет меньше,забей же на готовое. Отыскал вчера исходник реализации судоку, да, нарисовано на канве, это впринципе нарисую, дело в том что когда при нажатии на ячейку, она (ячейка) получает фокус (выделяется по периметру штрихованной линией), только из исходника ничего непонятно( Можно в общих узнать каким образом ячейки получают фокус? P.S дело не столько в отрисовке таблицы а в возможности указывать/работать с ячейками( http://files.mail.ru/BP90NZ - исходник того судоку Появилась одна идея, очень нудная но попробовать можно: берем поле, (я его картинкой нарисовал в фотошопе), ставим в каждую клетку Label с Caption= " " (1 отступ) поверх каждого Label'а создаем фигуру квадрат чтобы ровно вмещалась полностью в ячейку, это будет маской ячейки, т.е. это и будет отвечать за изменение этой ячейки по нажатию. Но (9х9=81) 81 квадратик отрисовывать в каждую ячейку..не думаю что это правильный путь
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-18 01:09:38.473333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Определяй координаты клика и дорисовывай всё, что тебе надо. Это называется windowsless окно (компонент).
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-18 02:13:18.793333
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
На компоненты лучше совсем забей и попотей сам. Фокус - всего лишь ещё 1 нарисованный квадратик пунктиром. Параметры картинки (главное-размеры всего в ней) ,а также место "тычка" тебе известны. Задача сведется к нахождению номера квадратика, 1 строчка буквально. В общем, _SaZ_ дело сказал. "Use brains,Luke,not Force"
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-18 06:27:02.570000
|
|
|
GangstaLC
Сообщений: 71
Оценки: 0
Присоединился: 2009-10-11 20:55:22.796666
|
Спс ребят) что бы без вас делал)
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-18 09:30:22.583333
|
|
|
GangstaLC
Сообщений: 71
Оценки: 0
Присоединился: 2009-10-11 20:55:22.796666
|
Подскажите, я решил действовать по такому алгоритму: 1) Кликаю, получаю координаты, пишу их в переменные 2) Вылезает ПопапМеню в нем щелкаю по 1 из 9 пунктов 3) Этот пункт проверяет координаты (всего у меня 81 ячейка), т.е. 81 раз if … then и выбирается компонент (TLabel) которому и присваевается значение И в итоге: у меня 9 пунктов, на каждый пункт по 81 проверке (1-2 строчки), слишком много, как бы сказать, "нудного кода"), правильно ли я делаю? Есть ли пути проще и экономичнее?
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-18 11:05:44.716666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Не правильно. Зачем 81 писать одинаковый if…then, когда можно всё вынести в отдельный метод? От уже формошлёпы… Man, начни с этого: http://www.rsdn.ru/summary/3165.xml , а потом это: http://www.rsdn.ru/summary/1233.xml P.S. зная размер сетки и координаты клика можно легко посчитать, в какую ячейку кликнули. А для ввода значения лучше использовать EditBox (или как там в дэлфи), а не меню.
|
|
|
RE: [Delphi] StringGrid: центрирование символа, выделение поля - 2010-04-18 11:52:07.936666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
quote:
ORIGINAL: GangstaLC 3) Этот пункт проверяет координаты (всего у меня 81 ячейка), т.е. 81 раз if … then и выбирается компонент (TLabel) которому и присваевается значение Почему 81 раз if-then? 9+9 = 18. 9 на то чтобы выяснить номер квадрата по вертикали, и ещё 9 чтобы выяснить номер квадрата по горизонтали. Но и это ведь тоже не умно. Можно же действительно вычислить. Возьми ручку, бумажку, и вычисли координаты углов всех квадратов. И считай их до тех пор, пока в голове не наступит просветления. Если когда ты обсчитаешь все углы будет ещё непонятно, то действуй следующим алгоритмом: выбирай два случайных числа, и ручкой по бумажке считай (никаких графических методов решения!) в какой квадрат попадёт точка с такими координатами.
|
|
|
|
|