|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2016, 07:52 | #1 |
Регистрация: 24.04.2016
Сообщений: 4
|
Рисовалка на tasm
Всем доброго времени суток!
Проблема такая: есть программа, которая при нажатии лкм рисует; вверху есть (пока один) прямоугольник с цветом, нужно сделать так, чтобы при нажатии на него и дальнейшем рисовании цвет становился цветом прямоугольника Код:
Хоть на мысль натолкните, пожалуйста. Вот функция, куда ее вписать нужно? Пробовала в обработчик, но ничего путного не выходит. Может я не так это делаю. Код:
|
02.06.2016, 11:22 | #2 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Flour, нужно разделить рабочее поле на 2: область палитры и рабочая область. Дальше, нужно контролировать щёлчок мышью, т.е. в какой области юзер щёлкнул - палитра или облатсь рисования. В зависимости от этого переходить к обработчику событий мыши. Программа твоя должна знать, что ты хочешь сделать: выбрать цвет или нарисовать линию. Как-то так...
Нашедшего выход - затаптывают первым..
|
02.06.2016, 20:11 | #3 | |
Регистрация: 24.04.2016
Сообщений: 4
|
R71MT, хорошо. У меня получается для палитры отведена область от 0 до 20 по y и по всему х. То есть ниже координаты 20 рисуется линия, а все, что выше идет под определение цвета.
Цитата:
Преподаватель сказал, что цвет можно записывать в переменную. но обязательно ли? И про координаты тоже говорил, что можно как переменные их задать. |
|
02.06.2016, 20:54 | #4 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Flour, ещё (чтоб не парится с вычислением координат щелчка) можно обработать нажатие кнопок. Так-как их на мышке три, то как-раз: правая для выбора цвета, левая для рисования, средняя для выхода из приложения.
Попробуй такой код.. Он рисует сверху экрана палитру в 7 цветов, и обрабатывает нажатие кнопок мыши. Остаётся только обработать эти нажатия.. Код:
Нашедшего выход - затаптывают первым..
Последний раз редактировалось R71MT; 02.06.2016 в 21:46. |
02.06.2016, 22:00 | #5 |
Регистрация: 24.04.2016
Сообщений: 4
|
R71MT, отличная программа,а самое главное компактная) Спасибо вам огромное.
Единственное, все та же проблема с определением цвета в палитре. Как прописать координаты для считывания, если это не одна точка, а множество? Метку для рисования линии оформила так Код:
А еще начало рисование у меня происходит не под курсором, а в стороне от него, как это можно исправить? Последний раз редактировалось Flour; 02.06.2016 в 22:17. |
03.06.2016, 07:29 | #6 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Вот тебе готовый вариант..
Значение цвета обработчик сохраняет в переменной, а функция рисования считывает этот цвет с переменной "COLOR". Чтобы вычислить точную позицию начала линии, нужно координату(Х) разделить на 2. От координаты(Y) нужно отнять 1, чтоб сам курсор не затирал выводимую линию. Короче, разбирайся.. Код:
Нашедшего выход - затаптывают первым..
|
03.06.2016, 08:26 | #7 |
Регистрация: 24.04.2016
Сообщений: 4
|
R71MT, спасибо вам огромное) Очень помогли, выручили, спасибо) Пойду разбираться, спасибо еще раз)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рисовалка в pictureBox | Gennadiusisus | Общие вопросы C/C++ | 2 | 02.03.2015 19:52 |
Простая рисовалка | Name1ess | C# (си шарп) | 7 | 19.11.2012 00:48 |
Интересная рисовалка | rpy3uH | Свободное общение | 7 | 15.11.2012 08:56 |
TASM дело тонкое!:) (Где в TASM IDE?) | 3.14oner | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 15.11.2011 16:20 |
Рисовалка на сайте | П@вел | HTML и CSS | 2 | 03.04.2009 11:55 |