|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Здравствуйте все. Это сообщение от новичка. Я только начал изучение Visual Basic 2017 и сразу же столкнулся с проблемой. Я создал проект классического приложения Windows. Моя простенькая программка должна просто выводить прямоугольную форму без рамки с начерченной диагональю. И форма выводится, но чистая, без диагонали. В программе вроде всё правильно. Ошибку не вижу. Подскажите в чём проблема. Я уже обращался с этой просьбой на другой форум программистов и мне ничего конкретного не сказали. Я бы приложил архив со своим проектом, но он больше 150 Кб. И поэтому привожу свой код. Стартовый модуль: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Вспомогательный модуль: Код: vbnet 1. 2. 3. 4. 5.
Класс формы: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Помогите разобраться с ошибкой. Пожалуйста. Модератор: Тема перенесена из форума "Visual Basic". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 19:51 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Что-то тут у Вас наворочено не пойми чего. Все же попробуйте после "e.Graphics.DrawLine(FPn, 0, 0, Me.Width - 1, Me.Height - 1)" сделать this.Refresh() ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 20:29 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Cat2, тут всё просто. Узнаю размер экрана в пикселях по длине и ширине и формирую форму без рамки площадью 60% от экранной площади. И вывожу форму в центре экрана. Некоторые свойства формы установлены в конструкторе форм. Пауза для того, чтобы форма хоть какое-то время жила на экране. Без паузы приложение тут же закрывается, мигнув формой. Попробовал ваш совет. Слова this вообще нет. Но сработало Me.Refresh() . Сработало, но результат остался прежний. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 20:49 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Ломерт, Делайте по шагам: - форма по умолчанию с линией - форма с вашим размером - форма без рамки. И т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 20:58 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
ЛомертCat2, тут всё просто. Узнаю размер экрана в пикселях по длине и ширине и формирую форму без рамки площадью 60% от экранной площади. И вывожу форму в центре экрана. Некоторые свойства формы установлены в конструкторе форм. Пауза для того, чтобы форма хоть какое-то время жила на экране. Без паузы приложение тут же закрывается, мигнув формой. Попробовал ваш совет. Слова this вообще нет. Но сработало Me.Refresh() . Сработало, но результат остался прежний. Да я вижу, что просто, но Вы своим говнокодом усложнили все на порядок. Нахр..., извиняюсь, зачем Вы устанавливает размер заставки в зависимости от размера экрана? Что бы гордая надпись "Ломерт (с)" едва виделась в левом верхнем углу? Это не модно сейчас. Сейчас модно ил бе ставки ии показывать заставку ровно столько, сколько идет инициализация и загрузка данных. И размер примерно 400 на 300 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 21:12 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Ломерт. Давайте упрощать задачу. Без заставки сначала. Просто попробуйте нарисовать эту диагональ на главной форме. Как правильно показывать заставку я вам потом покажу ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 21:18 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Petro123, ваш алгоритм заведомо нерабочий. Если сразу сделать форму по умолчанию, то потом придётся перерисовывать линию под мой размер. Да и вывод такой формы будет горбатым: сначала форма по умолчанию с линией, потом требуемая форма. У меня задача кое-что начертить на форме. Но я застрял на элементарном. И что делать не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 21:19 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Cat2, я имею право сам решать какого размера должна быть заставка. И как она должна выглядеть на разных экранах. На форме должно кое-что начертиться. И это должно масштабироваться в зависимости от экрана. Я завис на элементарном. А что модно, что не модно, меня не касается. Каждый сам решает ориентироваться ему на моду или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 21:25 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Ломерт, да без проблем, решайте все сами ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 21:30 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
В общем так. Я убрал все свои навороты и оставил только это: Код: vbnet 1. 2. 3. 4. 5.
И всё равно выводится чистая форма. Что за ёлки-палки? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 21:58 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Ломерт, Сколько вам лет, что не научили следовать советам при обучении? Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2019, 22:11 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
В общем я провозился со своим проектом четыре дня. В чём корень проблемы так и не выяснил. Но сделал следующие выводы и наблюдения, обратившись за помощью на двух форумах: - я в своей простенькой программке наваял что-то такое чего никто не может понять. Одним словом - программисты; - мне предлагали создать новый проект и повторить всё в нём. Очень логично; - на одном форуме даже не распознали классическое приложение Windows, хотя я им выслал сам проект. И предложили альтернативный вариант WindowsForms с кучей полей ввода и кнопочек разных; - здесь мне предложили изучить теорию модных заставок. Словно я не насмотрелся на них в чужих программах; - здесь программистам пришлось на пальцах объяснять что я наваял. У меня невероятно сложный код; - здесь мне предложили пошаговый метод повторения моего проекта. Немыслимо конструктивно; - когда я отклонил все "невероятно конструктивные решения" на меня ещё попытались обидеться. В итоге: пришёл к выводу что просить помощи у программистов заведомо бессмысленное занятие. Получить её в принципе невозможно. Зато хлама вывалят по самые уши. Спасибо за всё, добрые люди. Я очень благодарен вам за вашу бесценную помощь. Низкий вам всем поклон. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2019, 00:52 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Ломерт, Рекомендую обратится на третий форум. Вас пытались наставить на путь истинный. Ваш "невероятно сложный код" реализуется в два притопа, три прихлопа. Во вложении экзешник, который 5 секунд показывает заставку с диагональной линией, а потом показывает главную форму. Даю честное слово, что он не несет деструктивных функций, а делает только то, что описано ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2019, 02:28 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
ЛомертНо сделал следующие выводы и наблюдения, обратившись за помощью на двух форумах:да, наблюдения такие а) не смог найти подходящий подфорум для выкладывания проекта (в подфоруме Visual Basic не смог прочесть прикрепленный топик ПРАВИЛА ФОРУМА. Прочтите перед тем как задавать вопрос! ) б) не смог уместить пустой проект в 150кб или хотя бы выложить его на файлообменник (соответственно, кому охота воспроизводить это у себя, да еще и на VB) в) выбрал Visual Basic для того, чтобы писать на .NET (статистику не смотрел, но думаю его используют менее 1% от всех пишущих на .NET (а стало быть и упомянутые программисты тоже)) г) в чем разница между "классическим приложением Windows" и "альтернативным вариантом WindowsForms"? Или ты попытался запустить вышеуказанный код на WPF? И почему бы не проанализировать то, что предложили? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2019, 02:33 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Кстати, причина того, что ты не видишь линию - ты просто не даешь ей отрисоваться Код: vbnet 1. 2.
Ты вывел форму и тут же завесил поток пользовательского интерфейса на 10 секунд. Если подождать 10 секунд или убрать задержку - линия будет нарисована ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2019, 02:46 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Shocker.ProКстати, причина того, что ты не видишь линию - ты просто не даешь ей отрисоваться ... Если подождать 10 секунд или убрать задержку - линия будет нарисована Не вчитывался, но рисовать-то наверно в событии типа OnDraw надо а не в лоб, чтоб как ластиком не стиралось и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2019, 04:53 |
|
Проблема с графикой
|
|||
---|---|---|---|
#18+
Дмитрий77Не вчитывался, но рисовать-то наверно в событии типа OnDraw надо а не в лоб, чтоб как ластиком не стиралось и т.п.Не знаю, я не знаток винформ. В данном случае вообще смешно выглядит, когда пытаешься изменить размер формы - рисуется куча линий. Но автору ведь не надо знать как правильно, ему надо узнать, почему его код не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2019, 12:04 |
|
|
start [/forum/topic.php?fid=20&msg=39761916&tid=1399108]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
130ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 263ms |
total: | 498ms |
0 / 0 |