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

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

05.01.2012, 20:25. Показов 1763. Ответов 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
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru