Как достать точку из под формы?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Как достать точку из под формы?

Сообщение Джеффи » 30.03.2005 (Ср) 17:27

Как достать точку из под формы не используюя form.show и form.hide с API... Т.е. просто api или набор их...

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 30.03.2005 (Ср) 19:45

Хорошо б еще понять, что ты хочешь... Вот бы было здорово :D

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 31.03.2005 (Чт) 11:37

Я имею ввиду, по координатам экрана, считать точку ниже формы, не используя Show и Hide...

Хе... а чего тут не понятного?

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 31.03.2005 (Чт) 13:31

"Интересно, что происходит с пламенем свечи, когда свеча гаснет?.."

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 31.03.2005 (Чт) 13:39

Джеффи
Ничего не понятно...я например не могу понять чего ты хочешь? и что именно тебе надо от этой точки? Просто получить ее координаты?

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 31.03.2005 (Чт) 14:14

Да не, он хочет того же, чего и все мы смертные... Хочет получить цвет точки, которая в данный момент не видна на экране. Я уже обломался и забросил проект, теперь его очередь :cry:

KDima
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 759
Зарегистрирован: 14.07.2004 (Ср) 23:14
Откуда: СПб

Сообщение KDima » 31.03.2005 (Чт) 14:29

Читал сабж! Плакалъ!
Имхо поднималось уже!
Ну вот допустим у нас есть форма.
Мы делаем:
Код: Выделить всё
Form1.PSet

Появляется точка, мы сворачиваекм окно, разворачиваем... нету!
Вывод: ставим AutoRedraw = True :)
Но пока окно невидимо оно не прорисовывается => его нельзя скопировать и взять точку!
Хороший прогер не тот, кто всё знает, хороший прогер знает, где найти знание.

Последний раз редактировалось: Administrator (15.07.2004 (Вт) 00:01), всего редактировалось 999 раз(а)

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 31.03.2005 (Чт) 14:40

KDimaВообще-то, если вчитаться в вопрос внимательнее, то заметно, что это не наша форма :) И вообще что-то не пойму, к чему твой PSet...

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 31.03.2005 (Чт) 16:24

Угу +)) 1) дествительно зафиг мне координаты, нужен цвет...
Для этой задачи есть решение но нужно спрятать форму и опять проявить... но это ужасный способ, если таких точек много.... и нужно постянное рисование на форме... 2) с другой стороны тока что пришло в голову, есть процедура, которая делает фурму "дырявой" и т.д. т.е. полностью делает прозрачной нужную точку... Однако тогда другой вопрос, как добиться чтобы в форме появлялась дырочка, с этой дырочки считывался цвет, и... ну и оброботка... и так со всеми точками формы....

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 31.03.2005 (Чт) 16:45

:shock: Жуть..... Шаманство какое-то.....
Слушай, а зачем это надо-то? Может, есть решение проще?

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 31.03.2005 (Чт) 17:31

Ariman писал(а)::shock: Жуть..... Шаманство какое-то.....
Слушай, а зачем это надо-то? Может, есть решение проще?
Что значит, зачем надо? Да вариантов тьма... И все сводятся к одному - программа должна обрабатывает каким-нить способом чужое окно, но она сама же его и закрывает... А в моем случае желательно, что бы чужое окно было бы вообще свернуто, но другого способа считать инфу с окна, кроме как просканить по точкам, в данном случае скорее всего тоже нет :) А по точкам сканить как раз и не получается :cry:
Последний раз редактировалось vvs_adm 31.03.2005 (Чт) 22:48, всего редактировалось 1 раз.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 31.03.2005 (Чт) 21:48

А получить HDC, что, не пойдет?

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 31.03.2005 (Чт) 22:46

Ariman писал(а):А получить HDC, что, не пойдет?
Получить HDC пойдет аж са свистом... И даже GetPixel тебе вернется на ура... :lol: Вот тока Ура будет равно минус единице :cry:

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 31.03.2005 (Чт) 23:18

Есть предложение делать небольшие "дырки" в форме (комбинируя регионами) затем получать цвет и "латать" их обратно :roll:

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 01.04.2005 (Пт) 0:12

A.A.Z. писал(а):Есть предложение делать небольшие "дырки" в форме (комбинируя регионами) затем получать цвет и "латать" их обратно :roll:
Блин, тогда мне придется для моей проги делать дырки в панели задач (если кто не помнит, у меня прога свернута) :) И еще надо написать программу-лупу, которая потом в эту дырочку будет глядеть, так как само окно больше, чем пиктограмма на панели. Билли повесится, если все заработает :)

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 01.04.2005 (Пт) 2:42

vvs_adm писал(а):пойдет аж са свистом...

:lol:

Ну а конкретное применение назвать можешь??
Неужели при этом применении нельзя будет свернуть твою программу, а не извращаться с пробиванием в окне дырок?

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 01.04.2005 (Пт) 3:51

Ariman Ну конкретно задача к примеру такая: есть окно, которое должно всплыть из свернутого состояния тогда, когда на нем загорится лампочка и привлечь внимание пользователя. Можно еще запищать, замигать, далее по вкусу... А пока лампочка не загорелась, окно должно валяться на панели задач и не отсвечивать... О внутренней структуре программы, открывающей окно ничего не известно, то есть объект лампочка для нас тока графический. Если б не эта х..ня со свернутыми окнами, то сканим один пиксел с заданными координатами и будим окошко, когда надо. А так приходится через ж... .Ну некоторые предлагают, как видишь, не через ж..., а через дырочку, но хоть и не каждая дырочка - это ж.., зато каждая ж.. - это дырочка, так что оба пути примерно одинаковы :)

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 01.04.2005 (Пт) 13:35

Т.е. кто-то написал прогу, где загорается лампочка, но не озаботился тем, что оно должно еще и разворачивться? И ты хочешь это упущение исправить :lol:

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 01.04.2005 (Пт) 13:53

дааааа,
даем приз за самую лучшую шутку на 1 апреля автору топика :lol: :P

когда читал эту дисскусию от смеха чуть под стол не упал :D

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 01.04.2005 (Пт) 13:57

Ariman писал(а):Т.е. кто-то написал прогу, где загорается лампочка, но не озаботился тем, что оно должно еще и разворачивться? И ты хочешь это упущение исправить :lol:
Нет, тот, кто писал прогу, хотел, чтобы ты сидел и смотрел, и как тока лампочка загорится, тыркнул куда-надо мышкой. А хочется сидесть и долбиться в Диабло, или по инету шляться или еще что-то. Плюс можно не успеть нажать.. а так, когда лампочка загорится, программа мышкой ткнет сама. Но при
этом то окно, где лампочка должно быть постоянно развернуто, что мешает хождению по таким важным сайтам, как vbStreets :cry:

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 01.04.2005 (Пт) 14:01

Konst_One писал(а):дааааа,
даем приз за самую лучшую шутку на 1 апреля автору топика :lol: :P

когда читал эту дисскусию от смеха чуть под стол не упал :D
Ну тогда нужно детально рассмотреть предложение с дырками в управляющей форме. Есть подозрения, что через эти дыры будут утекать данные к нехорошим людям. Мелкософт вон тока дыры и латает, а мы сами наделать хотим :) В принципе есть решение, нужно на проделанную в форме дырку устанавливать пароль, и тогда, что бы заглянуть за форму нужно использовать не GetPixel, а GetProtectPixel(HDC,X,Y,Password)
Последний раз редактировалось vvs_adm 01.04.2005 (Пт) 14:03, всего редактировалось 1 раз.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 01.04.2005 (Пт) 14:01

А, ну так бы сразу и говорил! Теперь понятно...
Сочувствую, придется вам дырки долбить :)

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 01.04.2005 (Пт) 14:06

Ariman Дырки долбить плохо, потому что GetProtectPixel платная, а кряка к ней я даже на асталависте не нашел ( кто не верит, попробуйте сами поискать) да и панель задач очень твердая, в ней дырки плохо долбятся :cry: Зато программу-лупу я уде написал, могу кому-нить продать :!:

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 01.04.2005 (Пт) 14:14

2 vvs_adm Что ты как неродной - сразу продать :?
:D

А чтобы на панели задач дырки продолбить, нужен специальный программынй отбойный молоток. А не то, чем обычно дырки на форме пробивают, так как ты абсолютно правильно заметил, панель задач намного тверже.....
Да, ни в коем случае не пробуй долбить кнопку Пуск - она самая твердая, только долбило обломашь!

(P.S. Всех с первым апреля :lol: )
Последний раз редактировалось Ariman 01.04.2005 (Пт) 14:21, всего редактировалось 1 раз.

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 01.04.2005 (Пт) 14:19

Ariman Ну ты загнул, что я, Ламо последнее что ли, что бы Пуск долбить :shock: ОН ЖЕ ПРУЖИНИТ. Мой один знакомый попробовал, такая отдача была, пока винды не переустановили, долбилка не работала...(он встроенной долбилкой пользовался... дурак)

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 01.04.2005 (Пт) 14:26

vvs_adm писал(а):он встроенной долбилкой пользовался... дурак)

Ну вообще :shock:
Ему что, никогда не рассказывали, что у мелкософта долбилки никчерту? И никто не просвещал, что пуск долить нельзя?
Если бы своей пользовался, то хоть долбилку бы спас..... А он монитор-то изнутри не побил? Все же отдача, вдруг отскочило......

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 01.04.2005 (Пт) 14:44

Ariman писал(а):
vvs_adm писал(а):он встроенной долбилкой пользовался... дурак)

Ну вообще :shock:
Ему что, никогда не рассказывали, что у мелкософта долбилки никчерту? И никто не просвещал, что пуск долить нельзя?
Если бы своей пользовался, то хоть долбилку бы спас..... А он монитор-то изнутри не побил? Все же отдача, вдруг отскочило......
Не, отдача была по библиотеке, из которой API-долбилка вызывалась... Библиотека сразу накрылась, потому и винды пришлось переустанавливать...

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 01.04.2005 (Пт) 15:07

Нда..... Ну а вообще - мы же тоже не сразу знали, что так делать нельзя! Ты бы ему книжку какую посоветовал.......

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 01.04.2005 (Пт) 19:43

Народ вы чё флуду развели?Я идиот! Убейте меня, кто-нибудь!? ваще уже???=)))

Высказали тока мои идеи(с дыркой)....

А помощи 0, разве 1 апреля повод замачить создателя темы флудом?=) :P

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 01.04.2005 (Пт) 19:49

Вот лучше помогите написать процедуру.
Код: Выделить всё
Sub DoHole (x as long, y as long)
end sub

Которая собственно и дырявит форму=)

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 185

    TopList