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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.02.2016, 19:03   #1
Evil_Net
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 48
Подмигивание вопрос по DrawGrid'у

Добрый вечер! Взялся, на свою голову, помочь сделать крестики-нолики, задачка не сложная, но вот хотелось бы сделать красиво.

На форме имеется DrawGrid, установил для него курсор crHandPoint, при нажатии на ячейки происходит перерисовка их и загрузка нужной картинки с этим проблем нет.

Вопрос заключается вот в чем:
1) Можно ли курсор для каждой ячейки ставить свой? т.е. после нажатия делается ход и курсор меняется с crHandPoint на дефолтную стрелку.
2) Можно ли запретить повторное нажатие по ячейке, в которой уже был сделан ход или это лучше сделать проверку перед ходом на возможность самого хода.
Evil_Net вне форума Ответить с цитированием
Старый 29.02.2016, 20:05   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

1. Событие MouseMove в котором вызывать метод грида MouseToCell для выяснения над какой клеткой мышка, потом проверять по структуре данных игры (Вы же не всё только через грид делаете) и для нужной ячейки ставить что надо.
2. Если надо не только запретить повторное нажатие, но и как-то ещё сигнализировать что ход некорректный (тот же курсор ,например) , то опять же MouseMove а если надо только при нажатии проверить - то и проверяйте при нажатии.
phomm вне форума Ответить с цитированием
Старый 29.02.2016, 20:33   #3
Evil_Net
Пользователь
 
Регистрация: 04.08.2015
Сообщений: 48
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
1. Событие MouseMove в котором вызывать метод грида MouseToCell для выяснения над какой клеткой мышка, потом проверять по структуре данных игры (Вы же не всё только через грид делаете) и для нужной ячейки ставить что надо.
2. Если надо не только запретить повторное нажатие, но и как-то ещё сигнализировать что ход некорректный (тот же курсор ,например) , то опять же MouseMove а если надо только при нажатии проверить - то и проверяйте при нажатии.
Спасибо! Попробую, хорошее решение, как до него не додумался.
Evil_Net вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DrawGrid VadEr Помощь студентам 2 30.05.2009 01:16
таблица DrawGrid Bat{CMD}_Men Общие вопросы Delphi 3 05.05.2009 18:17
drawgrid help! Extez1 Помощь студентам 0 03.05.2009 21:23