![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| svarogik |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
что должно быть параметром описываемым последним, пожалуйста максимально подробно, с разьяснениями как чего делать и можно ли как нибудь сделать вроде imagelist тоесть в зависимости от условий загружается определенная картинка чтото вроде
Добавлено @ 21:36 Разумеется все в объекте TdrawGrid
сначало было то что в фигурных скобках |
||||||
|
|||||||
| Alexeis |
|
||||||||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
метод draw рисует любые изображения, на любом канвасе, поэтому в качестве параметра принимает TGraphic - т.е. предка всех изображений.
В VCL существуют 4 стандартных класса изображения 1) TBitmap 2) TIcon 4) TJpegImage 5) TMetaFile обычно сначала создают изображение.
Затем его грузят либо из файла
либо из потока
либо рисуют на канве битмапа
Чтобы нарисовать изображение (картинку) на канве вызываем
В результате на канве появится изображение левый верхний угол которого будет иметь координаты X = 10, Y = 10 Класс TImageList позволяет загружать в память колекцию однотипных изображений одинакового размера. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||||||||
|
|||||||||||
| svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
а что такое поток, это сетевой чтоли?
|
|||
|
||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Компонент TImageList находится на палитре Win32
для отрисовки любого изображения из колекции достаточно вызвать метод Draw ImageList
где index - номер картинки в колекции. Это сообщение отредактировал(а) alexeis1 - 19.7.2006, 22:35 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
к чему обращается эти методы DrawGrid1.Canvas.brush.color, что вообще это делает
|
|||
|
||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Потоком назывют класс инкапсулирующий в себе данные и методы их обработки Например: TFileStream TMemoryStream TResourceStream Потоки черезвычайно удобны для загрузки и передачи данных. Добавлено @ 22:41
Это свойство устанавливает цвет кисти Кисть в Windows используется для закраски различных поверхностей. Устанавливая ее параметры мы меняем свойства заливки (цвет, текстура) Добавлено @ 22:42
например заливает прямоугольник используя кисть - т.е. ее цвет и т.д. Это сообщение отредактировал(а) alexeis1 - 19.7.2006, 22:44 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
а мне чем imagelist поможет, как мне отрисовывать с помощью него в каждой клетке
я вот так пробовал как ты мне советовал, но он почемуто в левой верхней ячейке рисует, вместо выбранной ячейки |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Сейчас в мерод Draw передаются номер строки и номер столбца, а надо координаты его левого верхнего угла. Добавлено @ 23:00 Для начала в него надо загрузить изображение (в одном могут быть сразу много - в этом случае они должны распологаются слева направо, сверху вниз) Уже писал где вместо 10, 10 нужно писать координаты левого верхнего угла index - номер изображения -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
не хочу показаться совсем уж чайником, я ведь сам знал, не знаю почему спросил, все таки я не совсем безнадежен
Добавлено @ 23:06 да вот еще, почему когда я в пустоту щелкаю, у меня ошибка вылезает, как бы это исправить?, тоесть когда я щелкаю туда, где нет сеточек компонента TdrawGrid он обрабатывает событие OnMouseDown и пытается присвоить matrix непонятно с какими индексами, непонятно какие цифры, Тоеть вопрос в том что сделать, чтоб он не возникал когда щелкаю в пустоту на объекте TdrawGrid |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Вставиить в начало обработчика строку
Если мышью кликнули в вне зоны сетки, то exit - осуществит выход из обработчика -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
нет ты не понял, не вне обьекта а внутри него, но там где нет сетки, тоесть в том случае если размер объекта на форме, превышает внутренние размеры объекта
Добавлено @ 23:25 но в любом случае это ерунда, он не так уж сильно возникает, не трудись, спасибо тебе. ЛУчше ответь на вопрос, ты вцелом помнишь, что прога делает и мне надо чтоб я нажал кнопку мыши и мог водить и врисовывать в клеточки рисунки, пока кнопку мыши не отпустил, а когда отпустил перестать, тоеть едакий затяжной клик Добавлено @ 23:27 alexeis1 послушай я могу тебя както отблагодарить, там репутацию поднять, или еще чтото? |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Так вроде DrawGrid1.GridWidth - и есть размер только сетки. DrawGrid1.Width - это размер всего грида с полями. Если не работает, надо поискать что-то типа ClientRect, т.е. только рабочая область. только когда будет 100 постов -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
У меня прога, когда я щелкаю на какой нибудь компонент TdrawGrid в нем изменяется картинка, я бы хотел чтоб картинка могла изменятся , на других компонентах,пока я двигаю мышкой,и навожу на них курсор, с нажатой кнопкой мышки, ну тоесть аналог карандаша в пайнте, нажал и рисуй
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
можно использовать событие OnMouseMove
В него также передаются кооодинаты мыши. Однако необходимо проверить была ли нажата левая кнопка мыши для этого в обработчике onMousedown, надо какой нибудь глобальной переменной (напимер var fl : boolean = false;) присвоить true, а в обработчике onMouseUp присвоить false. В этом случае надо в OnMouseMove поставить условие
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| svarogik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.3.2006 Репутация: нет Всего: нет |
Ага понятно., смотри я в обьект вставляю картинки, из имайж листа, все прикольно, только картинки, несмотря на свой размер всегда меньше ожидаемого в 4-5 раз, картинка клетку заполняет всегда не полностью, сначала я сделал картинку 40Х40, она не заняла весь обьем клетки объекта, потом сделал 100Х100, она заняла тот же объем, не понимаю почему рисуемые картинки всегда одного размера??
Добавлено @ 12:53 ив кнопках тоже самое, вместо больших картинок втавляются мелкие |
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |