Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
3 / 3 / 2
Регистрация: 27.09.2009
Сообщений: 200

Появляется горизонтальная линия при попадании курсора в нарисованную область

05.01.2012, 20:25. Показов 1745. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1)Вот я нарисовал на форме какой нибудь рисунок, почему если навести на этот рисунок курсор мыши то происходит перерисовка горизонтальной линии на которой находится курсор??
2)Есть ли какие нибудь стандартные функции для перерисовки фигур нарисованных методами класса graphics ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.01.2012, 20:25
Ответы с готовыми решениями:

Клик по кнопке осуществлять не при попадании курсора в ее область, а в область картинки на ней
Делаю вместо кнопки картинку. Хочу чтобы когда курсор наводишь на кнопку , нажатие работало не когда попадаешь в квадратную область кнопки,...

Очистка TextBox при попадании в него курсора
Добрый день всем. Подскажите пожалуста как при попадании курсора в TextBox он удалял надпись Заранее спасибо.

При попадании курсора мыши на кнопку изменить ее положение
procedure TForm2.OnMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Form2.Button2.Left:=random(500)+5; ...

7
программист С++
 Аватар для sandye51
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
05.01.2012, 23:42
Цитата Сообщение от xam max Посмотреть сообщение
Вот я нарисовал на форме какой нибудь рисунок, почему если навести на этот рисунок курсор мыши то происходит перерисовка горизонтальной линии на которой находится курсор
каким образом нарисовал? программно?

Цитата Сообщение от xam max Посмотреть сообщение
Есть ли какие нибудь стандартные функции для перерисовки фигур нарисованных методами класса graphics
какой-то тупой вопрос честно говоря. При каждом вызове функции перерисовки с Graphics все стирается и рисуется заново. Следовательно - делайте что хотите

а в чем задача то состоит?
0
3 / 3 / 2
Регистрация: 27.09.2009
Сообщений: 200
06.01.2012, 20:00  [ТС]
каким образом нарисовал? программно?
вот таким:
C++
1
2
3
Pen ^pen=gcnew Pen(Color::Red,2);
    Graphics ^im=panel1->CreateGraphics();
    im->DrawEllipse(pen,е->x,e->y,20,20);
а потом если навести курсор на нарисованный кружочек то горизонтальная линия, на которой он находится, стирается, то есть получается что поводя курсором по экрану можно все стереть.
какой-то тупой вопрос честно говоря. При каждом вызове функции перерисовки с Graphics все стирается и рисуется заново
в моем случае
C++
1
2
обработчик события изменения размера формы
        panel1->refresh();
все кружки просто стираются и все.
Вообще задача написать простенький граф редактор, но мне сейчас важно понять мелочи, ибо я вообще полный ноль в этом виндуз формс
0
программист С++
 Аватар для sandye51
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
06.01.2012, 20:03
xam max, все эти рисования сохраняются до следующей перерисовки, поэтому тебе надо хранить все твои фигуры и заново отображать при каждой перерисовке
0
3 / 3 / 2
Регистрация: 27.09.2009
Сообщений: 200
06.01.2012, 20:11  [ТС]
Да, это я уже понял, но почему курсор то стирает? кроме обработчика изменения размера формы и клика по панели я ничего не писал.
0
программист С++
 Аватар для sandye51
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
06.01.2012, 20:45
xam max, может скинешь проект в лс?
0
3 / 3 / 2
Регистрация: 27.09.2009
Сообщений: 200
06.01.2012, 20:58  [ТС]
так все равно ж в нем ниче нет, один обработчик и панель на форме, смысл?
0
BagirA-tan
12.12.2012, 16:35
Здравствуйте.
У меня небольшая проблема с перерисовкой окна в приложении Windows Form. Моя программа при выборе пункта меню рисует графический примитив.

C++
1
2
3
4
5
6
7
{
                Pen^ MyPen = gcnew Pen( Color::Black );
        System::Drawing::Graphics^ formGraphics;
        formGraphics = this->CreateGraphics();
                Rectangle rect = Rectangle(50,50,100,100);
            e->Graphics->DrawRectangle( MyPen, rect );
          }
При выполнении данного кода, изображение появляется только после того, как я сверну и разверну окно. Я добавила строку:

C++
1
Invalidate();
Картинка появилась сразу после выбора пункта меню, но начала мигать. Если это происходит в результате постоянной перерисовки окна, то подскажите, как сделать, чтобы перерисовка прошла один раз. Если это что-то другое, подскажите, пожалуйста, как от этого мигания избавиться
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2012, 16:35
Помогаю со студенческими работами здесь

Как при попадании курсора на Textbox нажать на клавишу Insert?
Подскажите пожалуста, как при попобании курсора на Textbox програмным путем нажать на клавишу Insert (замена) Зарание спасибо.

Горизонтальная прокрутка при наведении курсора
Добрый день. Подскажите пожалуйста, как реализовать горизонтальную прокрутку вправо(влево) при подведении курсора к правой(левой) части...

ActionScript переход к кадру N при попадании MovieClip в заданную область
Добрый день! Есть MovieClip. Задача: переход к кадру N при попадании этого объекта MovieClip в какую-то область. Пока получилось...

При разном разрешении появляется горизонтальная прокрутка
Народ помогите пожалуйста разобраться. У меня При маленьком разрешении появляется горизонтальная прокрутка. На широком мониторе все...

Рандомное движение курсора мыши вне формы при попадании на пиксель определенного цвета
Здравствуйте, можно ли реализовать рандомное движение мыши вне формы и нажатие мыши, при наведении на определенный цвет?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru