|
#1
|
||||
|
||||
Форма призрак
Помогите пожалуйста реализовать интерфейс формы(в Delphi 7), чтобы при нажатии любой клавишей мыши на нее курсор проскакивал и нажимал на следующее окно, т.е. как бы не замечал самой формы, форма естественно будет прозрачной.
|
#2
|
|||
|
|||
From.Visible := False?
|
#3
|
|||
|
|||
не, эт не то... человеку надо чтоб форма стала не невидимой, а прозрачной))
|
#4
|
|||
|
|||
Это надо на API писать. Точнее надо все события мыши транслировать в окно под формой.
|
#5
|
||||
|
||||
Цитата:
|
#6
|
||||
|
||||
Я попробовал через регионы сделать, т.е. при движении курсора по форме тупо вырезать квадратик -+1 от положение курсора, работает, но немного тормозит, и квадратик иногда виден, если есть еще хорошие предложение скажите пожалста, оч нужно.
|
#7
|
|||
|
|||
Принцип - все, что передается в Application.OnMessage передавать в окно, которое находится под твоей формой в месте, где находится курсор мыши через PostMessage. Тут только один момент - надо определить это окно. Далее - все, что сваливается в указанный обработчик от мышы (WM_MOUSEMOVE, WM_MOUSELBUTTON (как-то так) и т.д. - посмотри в модуле WINDOWS все сообщения от мышы) передать в нужное окно.
|
#8
|
|||
|
|||
Если твоя форма будет будет простой (Ну скажем белый квадрат) то можно рисовать на экране. Конечно предидущий вариант лучше, но я как и многие не знаю как его реализовать...
Можно при событии OnMauseMove или OnMauseDown быстренько убирать форму! =) Если серьезно то Google в руки и ищи "Application.OnMessage передавать в окно, которое находится под твоей формой в месте, где находится курсор мыши через PostMessage"! ПС: А зачем тебе это? Это очередная программа прикол или что то действительно серьезное? Я ни в чем никогда не уверен... И в этом тоже... |
#9
|
||||
|
||||
Скорее всего какое-то информационное окошко. И чтобы оно не мешало работе так делается. Идея неплохая.
|
#10
|
||||
|
||||
Заставить через Direct-x выводить твою форму картинкой непосредственно на экран монитора.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#11
|
|||
|
|||
AlfaBlend:=true;
AlfaBlendValue:=0; И все... форма будет прозрачной, а все компоненты на ней непрозрачными |
#12
|
||||
|
||||
Задачей является реализация такого метода, поэтому конкретного применения нет, я задействовал такую возможность в фото вьювере, в котором можно тупо поставить картинку в угол, установить небольшую прозрачность, и заставить ее не реагировать на события мыши, пока не не додумался как сделать лучше чем описал выше, думаю через DirectX все должно получиться)
|
#13
|
||||
|
||||
Цитата:
|
#14
|
|||
|
|||
У меня есть главная форма и 4 дочерних.Как сделать чтобы при запуске проги главную вообще не было видно (и через Ctrl-Alt-Del тоже).Пробовал убрать форму из автосоздаваемых-не то.
|