Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/17: Рейтинг темы: голосов - 17, средняя оценка - 4.88
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577

Форма и внутрение объекты?

19.09.2013, 14:58. Показов 3735. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разрабатываю код который уводит форму за верхний край монитора оставляя несколько пикселей
чтоб при наведении мышки показать форму.
И столкнулся с таким глюком когда форма где то до середины уходит вверх за рамку экрана объекты внутри замедляют
перемещение, в итоге низ формы начинает наезжать на объекты (кнопки картинки и тд).
С чем это связано и как с этим бороться?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.09.2013, 14:58
Ответы с готовыми решениями:

Форма и объекты
Объясните пожалуйста, как сделать так, чтобы при увеличении/уменьшению размера формы, объекты которые на ней установлены, различные...

Найти внутрение углы треугольника,заданного координатами своих вершин на площаде.
Найти внутрение углы треугольника,заданного координатами своих вершин на площаде. Заранее спасибо!!!!

Как сделать, чтобы при открытии форма растягивалась во весь экран и расположенные на ней объекты были всегда в зоне видимости?
Такое вообще возможно?

47
es geht mir gut
 Аватар для SoftIce
11275 / 4761 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
20.09.2013, 16:21
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от radlif Посмотреть сообщение
если в свойствах формы выставил изображение то его уже не удалить
Нужно просто удалить слово (Icon)
Вот, я удалил в твоём проекте
Вложения
Тип файла: rar Новая папка.rar (2.3 Кб, 5 просмотров)
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
20.09.2013, 16:29  [ТС]
Цитата Сообщение от SoftIce Посмотреть сообщение
Нужно просто удалить слово (Icon)
Вот, я удалил в твоём проекте
Я знаю но у меня vb глючный не прокатывает.

Добавлено через 5 минут
Нашёл код то что надо для определения цвета пикселя под курсором
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Declare Function CreateDC& Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As Any)
Private Declare Function DeleteDC& Lib "gdi32" (ByVal hdc As Long)
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
    x As Long
    y As Long
End Type
Dim z As POINTAPI
 
Private Sub Form_Load()
    Timer1.Interval = 10
End Sub
Private Sub Timer1_Timer()
    GetCursorPos z
    screendc = CreateDC("DISPLAY", "", "", 0&)
    'замените текст Text1 = Hex(GetPixel(screendc, z.x, z.y))
    'если вы хотите увидеть Hex-значение цвета
    Text1 = GetPixel(screendc, z.x, z.y)
    Picture1.BackColor = GetPixel(screendc, z.x, z.y)
    DeleteDC (screendc)
End Sub
Здороват правда но можно лишнее отсеять и запихать в класс
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
20.09.2013, 16:43
У меня в последней проге так находит цвет пикселя:
Visual Basic
1
2
deskhdc = GetDC(HenTek) ' ïîëó÷àåì êîíòåêñò óñòðîéñòâà
 rgbVal = GetPixel(deskhdc, 425, 510): retval = ReleaseDC(HenTek, deskhdc) ' Îñâîáîæäàåì ðåñóðñû, âçÿòûå ó êîíòåêñòà óñòðîéñòâà
(ну у тебя вроде тоже самое...)
2
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
20.09.2013, 17:04  [ТС]
Код выше тож самое, ток получает цвет пикселя под курсором мыши

Добавлено через 18 минут
morgann55, Спасибо твой код больше подходит к моему случаю)
С твоим будет только обрабатываться цвет внутри моего окна и если цвет неравен установленной невидимости то будет работать функция по выводу окна)
0
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
20.09.2013, 18:42
Вот посмотри, там автоматически в прозрачных местах уходит окно
Вложения
Тип файла: rar SlideWindow.rar (170.9 Кб, 23 просмотров)
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
21.09.2013, 07:18  [ТС]
Ну вот всё запихал в 1 класс, включая функции работы с прозрачностью.
Наружу торчит 1 метод который принимает объект и цвет прозрачности.
Project1_2013-09-21_14-13-21_1.0.0.zip
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
21.09.2013, 08:00
Цитата Сообщение от radlif Посмотреть сообщение
Ну вот всё запихал в 1 класс, включая функции работы с прозрачностью.
Наружу торчит 1 метод который принимает объект и цвет прозрачности.
Вложение 309045
Чего-то у меня твой проект уезжает ТОЛЬКО влево и рисует на экране чёрти что
И вообще, при подведении к краю окно должно сначала полностью въехать (по логике), а потом уже выходить по вызову... Я вот чего нашаманил:
Только у меня сделано под моё разрешение (я ещё не проходил как под разное подстраиваться )
Вложения
Тип файла: rar ВыездВъезд.rar (1.9 Кб, 3 просмотров)
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
21.09.2013, 08:08  [ТС]
Цитата Сообщение от morgann55 Посмотреть сообщение
Чего-то у меня твой проект уезжает ТОЛЬКО влево и рисует на экране чёрти что
И вообще, при подведении к краю окно должно сначала полностью въехать (по логике), а потом уже выходить по вызову... Я вот чего нашаманил:
А у меня твой уезжает только влево, а если вправо то с концами)

А то что рисует такой рисунок так это полностью форма то что закрашено чёрным
становится прозрачным и если форма уехала то на выдвижение будет реагировать только в том случае если
навести мышку на непрозрачный участок.
Кст собрал проект в ехе всё нормально работает, так как задумывалось.
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
21.09.2013, 08:15
Ааа, пардон - ездит во все стороны!! Просто я уже привык что у меня сразу уезжает... Полюбуйся на "живопись"
Да, и подскажи мне как подстраиваться под разные разрешения...
Visual Basic
1
u = SetWindowPos(nForm.hWnd, -1, Xa, Ya, nForm.Width / Screen.TwipsPerPixelX, nForm.Height / Screen.TwipsPerPixelY, ByVal &H20)
Это??
Миниатюры
Форма и внутрение объекты?  
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
21.09.2013, 08:17  [ТС]
Ты работаешь на встроенной видеокарте?)
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
21.09.2013, 08:20
Цитата Сообщение от radlif Посмотреть сообщение
Ты работаешь на встроенной видеокарте?)
Как я понимаю, нет - Радеон...
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
21.09.2013, 08:22  [ТС]
Цитата Сообщение от morgann55 Посмотреть сообщение
Как я понимаю, нет - Радеон...
Это глюк видеокарты 100%, она обновляет только верхнее окно обычно так делают встроенные видеокарты.
0
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
21.09.2013, 08:30
Вот это определяет границы экрана для любого разрешения что ли ??
Visual Basic
1
2
Xm = Screen.Width / Screen.TwipsPerPixelX
Ym = Screen.Height / Screen.TwipsPerPixelY
Или это типа соотношения "масштабов" ??
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
21.09.2013, 08:34  [ТС]
Да и выводит значение в пикселях.

Добавлено через 2 минуты
Screen.Width - Значение в твипах
Screen.TwipsPerPixelX - твипов в пикселе (как я понял).
1
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
21.09.2013, 08:37
И тогда после
Visual Basic
1
2
Xm = Screen.Width / Screen.TwipsPerPixelX
Ym = Screen.Height / Screen.TwipsPerPixelY
правый край экрана будет равен
Visual Basic
1
Screen.Width
Так?? (или Xm...) Где там SoftIce...
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
21.09.2013, 08:38  [ТС]
Да.
1
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
21.09.2013, 08:45
Цитата Сообщение от radlif Посмотреть сообщение
Да и выводит значение в пикселях.

Добавлено через 2 минуты
Screen.Width - Значение в твипах
Screen.TwipsPerPixelX - твипов в пикселе (как я понял).
Ну значит ЭТО просто переводит в пиксели... А как узнать правую и нижнюю границы экрана ?? Вот у меня разрешение 1000х700 (примерно), а у другого 1200х1600, значит мои цифири у него не достанут до правого и нижнего - ведь у него больше пикселей по горизонтали и вертикали...
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
21.09.2013, 08:49  [ТС]
Screen.Width - ширина в твипах
Screen.Height - высота в твипах
Screen.Width / Screen.TwipsPerPixelX -ширина в пикселях
Screen.Height / Screen.TwipsPerPixelY - высота в пикселях
Так этим ты и получаешь разрешение экрана.
в Debug.print глянь)
1
 Аватар для morgann55
1365 / 207 / 37
Регистрация: 09.02.2012
Сообщений: 745
21.09.2013, 08:59
Вот так вроде понятно стало:
?xm
1024
?ym
768
Это моё разрешение и есть... Значит на любом другом Xm и Ym дадут мне правый и нижний края экрана Спасибо!!!
0
 Аватар для radlif
44 / 44 / 3
Регистрация: 18.12.2011
Сообщений: 577
21.09.2013, 09:09  [ТС]
Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
    Debug.Print Screen.Width & " - øèðèíà â òâèïàõ"
    Debug.Print Screen.Height & " - âûñîòà â òâèïàõ"
    Debug.Print Screen.Width / Screen.TwipsPerPixelX & " - øèðèíà; â ïèêñåëÿõ"
    Debug.Print Screen.Height / Screen.TwipsPerPixelY & " - âûñîòà â ïèêñåëÿõ"
End Sub
Добавлено через 24 секунды
Code
1
2
3
4
28800 - øèðèíà â òâèïàõ
16200 - âûñîòà â òâèïàõ
1920 - øèðèíà; â ïèêñåëÿõ
1080 - âûñîòà â ïèêñåëÿõ


Добавлено через 5 минут
Вот только не понятно как узнать качество изображения рабочего стола в пикселях на дюйм....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.09.2013, 09:09

Одним div выровнить внутрение div
У меня проблема, у меня div за место таблицы на сайте сайт работает отлично. Тока вот сайт с левой стороны и всё, как его сделать по...

Добавление записи в Listview(1 форма) через Диалоговое окно(3 форма) другой формы (2 форма)
Всем доброго дня и с наступающими праздниками! Знаю, тема 7 частых вопросов по WinForms уже не раз обсуждалась, и была прочитана, но или...

Как уничтожать динамические объекты и вообще объекты, если это необходимо сделать в их процедурах?
Создать отдельную процедуру CloseObject(Object: TObject) и вызывать ее в конце процедуры или так тоже нельзя? А то бесят эти access...

Встроенные объекты Java Script. Объекты Array, Date
Создать массив, содержащий названия элементов, находящихся в системном блоке компьютера. Добавить к нему массив, содержащий названия ...

Форма 1 вызывает форму 2, форма 2 закрывается, форма 1 продолжает работать дальше
Вынес предстартовые действия формы1 в форму2 (там у меня проверка существования файлов, их закачка если нету и проверка обновления), но как...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru