Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.100.120] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Можно ли сделать окно так, чтобы с одной стороны его было видно на экране, а с другой стороны - чтобы курсор за него не цеплялся, т.е. как будто его нет?
ЗЫ. Чушь наверное спрашиваю, но интересно |
Сообщ.
#2
,
|
|
|
Чего-то я не понимаю. Нужно чтобы размары окна можно было менять с одной стороны (как в WinAmp)?
Если нет, то с какой тогда стороны? |
Сообщ.
#3
,
|
|
|
procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST; ... procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest); begin Message.Result := HTTRANSPARENT; end; Это нужно? |
Сообщ.
#4
,
|
|
|
Цитата Rouse_,8.12.04, 13:41 @ procedure WMNCHitTest(var Message: TWMNCHitTest); message WM_NCHITTEST; ... procedure TForm1.WMNCHitTest(var Message: TWMNCHitTest); begin Message.Result := HTTRANSPARENT; end; Это нужно? Да наверное нет. Мне нужно, чтобы курсор "проваливался" через окно в нижележащее окно. Т.е. чтобы мое окно было просто видно, но никаким иным способом оно себя не проявляло. Для чего? Ну например, висят на экране часы (полупрозрачные), и иногда мешают, т.к. нужно нажать что-нибудь под ними. Приходится двигать. |
Сообщ.
#5
,
|
|
|
M Тема перенесена из Delphi -> Delphi: Общие вопросы. |
Сообщ.
#6
,
|
|
|
М-да... Скорее всего, нельзя. Буду делать "убегающее" окно. Хотя круто было-бы
|
Сообщ.
#7
,
|
|
|
Думаю, что можно. Перехватывать нажатие кнопки мыши в пределах формы, определять экранные координаты, искать, какое окно расположено под ним в пределах этих координат. Ну и соответственно передавать нажатие этому окну.
Добавлено Вот я только точно не знаю как реализовать поиск окна по координатам. Хотя способы есть. Многие программы это умеют! |
Сообщ.
#8
,
|
|
|
Цитата Ну и соответственно передавать нажатие этому окну. Но наверное, не просто окну, а в конкретное "место" окна. А это получается еще интереснее... |
Сообщ.
#9
,
|
|
|
Цитата s-mike,8.12.04, 14:26 @ Вот я только точно не знаю как реализовать поиск окна по координатам. Хотя способы есть. Многие программы это умеют! Может быть кто-то нам подскажет? |
Сообщ.
#10
,
|
|
|
Цитата s-mike,8.12.04, 14:26 @ Вот я только точно не знаю как реализовать поиск окна по координатам. Хотя способы есть. Многие программы это умеют! GetWindowFromPoint Хотя есть ещё функция, более надёжная. Названия, к сожалению, не помню. Но, кажется, Song знает (когда-то, в какой-то теме видел его пост про это). В любом случае, можно попытать Поиск. |
Сообщ.
#11
,
|
|
|
GetWindowFromPoint возвращает нэндл окна находящегося впереди всех в данной точке, поэтому для данной задачи не подойдет...
|
Сообщ.
#12
,
|
|
|
Только WindowFromPoint(), без Get.
Цитата Curve,8.12.04, 21:36 @ Но, кажется, Song знает (когда-то, в какой-то теме видел его пост про это). В любом случае, можно попытать Поиск. не помню Может и говорил. |
Сообщ.
#13
,
|
|
|
Как показала тема "Прозрачность" для мышки WindowFromPoint не пашет, поскольку возвращает координаты как раз того окна, по которому и был произведен щелчок, что не представляет никакой ценности.
Но я нашел другое решение. Смотрите пост "Прозрачность" для мышки (сообщение #577723). |
Сообщ.
#14
,
|
|
|
s-mike, там твоё бесценное решение было разделено в тему Прозрачная форма раздела FAQ. По сему и не смог тебе плюсик поставить. Ставлю здесь Спасибо!
Добавлено Упс Пишет Цитата Обнаружена ошибка Вы в недавнее время уже меняли рейтинг этого пользователя. До следующего изменения должно пройти 1 дней |
Сообщ.
#15
,
|
|
|
Стоп, а если задавать WindowStyle как TRANSPARENT (точное название константы сейчас не вспомню)? Насколько помню, у меня как раз такое и получалось, когда я пробовал делать прозрачное местами окно. Копни MSDN на тему window styles / extended styles.
|