| 
| 
 | Вопрос # 6 537/ вопрос закрыт / | 
 |  Здравствуйте!На  форме отрисовываю  сетку ( StringGrid по определенным причинам не подходит ) . Рисовалку  сетки ( FillRect'ы  в  цикле )  засовываю в  OnFormActivate - и  ничего не происходит.  В OnFormActivate  запускаю  таймер, по таймеру - отрисовку --  ОК.  Свертываю  форму, развертываю - девственно  чистая.  Копирую  отрисовку в OnFormClick - все  нормально.  Конечно, я  мог  бы  сетку  в  виде  статической  картинки  в  Image,  но  это  мало  поможет : то же самое будет  происходить  и  с  данными, которые  при  работе  будут у меня  в  этой  сетке.  Вопрос : есть ли такое  событие "Развернуть из свернутого" ,  чтоб на него написать обработчик, а  если  есть, то при сворачивании, кроме  стандартных  действий  системы, нужно будет еще и запоминание  картинки.
 Как  я  понимаю,  для  стандартных контролов ( Кнопки, Эдиты ) система  знает, как их  сворачивать-разворачивать,  а  о  том,  что  пространство  формы - мое  "поле битвы" данных - ей  невдомек.
 Уважаемые  эксперты, кто не в отпуске - откликнитесь, please .
 
|  |   Вопрос задал: Толяныч (статус: 4-ый класс)Вопрос отправлен: 31 мая 2014, 16:24
 Состояние вопроса: закрыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: DNK Здравствуйте, Толяныч!Что за жуткие франкенштейны вы изобретаете. Для этого есть готовое событие на форме OnPaint. В нём пишется весь код по отрисовке сетки на форме. Если нужно прорисовать что-то новое, то в доступных полях выставляются новые параметры и вызывается метод формы Refresh или Repaint, который корректно обновит форму вызовом OnRepaint.
 
|  | Ответ отправил: DNK (статус: Студент)Время отправки: 1 июня 2014, 00:31
 Оценка за ответ: 5
 Комментарий к оценке: Не от хорошей жизни. Представьте StringGrid, в  которой писать нужно разными фонтами и цветом ( аналог ячейки Екселя ) .  У меня всплыла мысля насчет Image, но  Ваш  совет учту и опробую. Видно, Винде в бошку не приходило, что можно писать и рисовать прямо на главной форме :-( |  
 Мини-форум вопросаВсего сообщений: 8; последнее сообщение — 1 июня 2014, 20:05; участников в обсуждении: 3. 
|   | DNK (статус: Студент), 1 июня 2014, 00:35 [#1]:Я встречал жуткие эксперименты других программистов подобные вашим. Особенно прикалвало, когда над искомой формой проносят другую. Послядняя изображала большой ластик.   "Digital Networked Knight" |  1 июня 2014, 12:36: Статус вопроса изменён на решённый (изменил автор вопроса — Толяныч) 
|   | DNK (статус: Студент), 1 июня 2014, 15:05 [#3]:Сдаётся мне, что ваши предубеждения против StringGrid тоже надуманы. Он тоже может отрисовывать себя нестандартным методом. Для этого нужно только взять за труд написать соответствующий обработчик для события OnDrawCell. У меня был опыт в создании несколько подобного. У пользователя создавалась полное впечатление, что он работает кнопками расположенными в виде большой матрицы (что-то в духе игры сапер), но на самом деле это была именно компонент-таблица. Я думал, что вам просто нужна сетка, но оказывается перед вами сверхзадача. И думается, что впереди будет столько граблей, перед которыми решенная проблема просто ничто.
 "Digital Networked Knight" |  
|   | min@y™ (статус: Доктор наук), 1 июня 2014, 15:07 [#4]: Цитата (Толяныч):  теперь прога разгадывания СуДоКу ( версия 2.0) двинется семимильными шагами А чего, тебе мой исходник проги для судоку не нравится?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Толяныч (статус: 4-ый класс), 1 июня 2014, 16:01 [#5]:1. min@y™ - Это не для  заказа, а для души, и потому должно быть свое. Цель - ничто, процесс - все. 2.  DNK - граблей  не  предвидится  абсолютно  никаких
   Первая  версия  у  меня  журчит  уже  года 3,  без  проблем  раскалывает  судаки  средней сложности,  а посложнее - недозаполненную  часть  в  ручном  режиме, с откатом и пр. Сделана  как  раз  на  StringGrid . Даже  на  двух.  В  одном  окне - исходное и дораскрытое  состояние, в другом - варианты. Хочу  совместить, добавить уровней отката и пр. Проект  абсолютно ( см. выше п.1
  ) , тренировка  мозга для борьбы с возрастным  маразмом  ( пока успешной, тьфу-тьфу ) И для  меня  сделать псевдо-StringGrid выходит  проще, чем допилить стандартную, чтобы в ячейку писать разными  размерами и цветами шрифтов. Все, спасибо, больше пока на меня не обращайте внимания.
 А  можно  в минифоруме  спросю  вопрос, не создавая тему? Замучился  искать, какой модуль  в  uses подключать, чтоб добраться, к примеру, до  PlaySound.  Какое-нибудь  содержимое  модулей  uses с поиском  по  имени  функции ? Хелп  молчит, зараза.
 |  
|   | min@y™ (статус: Доктор наук), 1 июня 2014, 16:16 [#6]: Цитата (Толяныч): Это не для заказа, а для души, и потому должно быть свое. Цель - ничто, процесс - все. Я не предлагал тупо использовать чужой исходник, а посмотреть на премет реализации, например, на отрисовку.
 
 Цитата (Толяныч): какой модуль в uses подключать, чтоб добраться, к примеру, до PlaySound. mmSystem.
 А вообще - пора бы уже научиться юзать поиск в файлах, хотя бы на собственном винте.
 
   Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Толяныч (статус: 4-ый класс), 1 июня 2014, 19:21 [#7]:Дык  смотреть тоже надо с понятием, чтобы разобраться, какая именно  хрень отвечает за отрисовку, а если это знаешь, то и вопрос  задавать уже нет надобности. Напрасно  ты меня уж совсем размазываешь по батарее, искал я этим способом, но только не в сорцах, в другой  папке.
 Но  все  равно спасибо.
 |  
|   | min@y™ (статус: Доктор наук), 1 июня 2014, 20:05 [#8]: Цитата (Толяныч):  чтобы разобраться, какая именно хрень отвечает за отрисовку, а если это знаешь, то и вопрос задавать уже нет надобности. Она у меня там самодельная. Да я и не настаиваю. Просто предложил кусок моего опыта, причём абсолютно бесплатно...
 
 Цитата (Толяныч): Напрасно ты меня уж совсем размазываешь по батарее Да нужен ты мне больно.
 
 Цитата (Толяныч): искал я этим способом, но только не в сорцах, в другой папке.  Комсомолец! Ищешь чёрного котэ в тёмной комнате, когда его там нету. Зачем, а?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  1 июня 2014, 22:43: Вопрос закрыт (решение принял автор вопроса — Толяныч): Вопрос  отвечен  полностью Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |