информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медЗа кого нас держат?Где водятся OGRы
BugTraq.Ru
Русский BugTraq
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модель надежности отказоустойчивой... 
 Ноябрьский перевыпуск октябрьского... 
 Закопать Flash 
 Октябрьские патчи от MS и перевыпуск... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ну так это событие срабатывает, когда форма активируется, а... 03.09 04:44  Число просмотров: 310
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <ответить>
Ну так это событие срабатывает, когда форма активируется, а мне – обратное надо. Я про диалоговые элементы и формы в предыдущем посте упомянул только для демонстрации того факта, что в MS Access событие WM_KILLFOCUS плохо работает.
<ответить> <programming>
[Win32] Каким образом ListBox’ы узнают, что мышь кликнула за их пределами? 01.09 18:29  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
Отредактировано 01.09 18:31  Количество правок: 2
<"чистая" ссылка> <ответить>
Делаю альтернативу стандартному ListBox’у – в MS Access. Чтобы у каждого пункта ListBox’а могло быть несколько строк, и чтобы длина каждого пункта могла быть больше 256 символов. Сделал всплывающее модальное окно без границ, - выглядит как надо. Единственная проблема: не знаю как сделать, чтобы при мышином клике за пределами окна, оно закрывалось.

Коллеги, может быть знаете, каким образом это в стандартных ListBox’ах реализовано?

Мой ListBox
Wm_killfocus 02.09 04:05  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Была идея воспользоваться Access’овской альтернативой... 02.09 06:09  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <ответить>
Была идея воспользоваться Access’овской альтернативой WM_KILLFOCUS («потеря фокуса»), но почему-то «формы» не реагируют на событие «потеря фокуса». На них реагируют только диалоговые элементы, размещённые на форме. Когда, например на форме размещаешь два editbox’а и следишь за срабатыванием событий получения и потери фокуса – они все срабатывают.

Плюс, если на форме есть хотя бы один диалоговый элемент, который может получить фокус (те же editbox’ы), то событие «получение фокуса» самой формы – тоже не срабатывает. Я так понимаю, это прикол Access’а такой (он похоже отфильтровывает часть сообщений WM_XXX). Может у кого-то есть идеи, как несмотря на это – всё же отследить, что фокус с окна ушёл?
для окон можно попробовать wm_activate 02.09 18:21  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка> <ответить>
Ну так это событие срабатывает, когда форма активируется, а... 03.09 04:44  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <ответить>
Ну так это событие срабатывает, когда форма активируется, а мне – обратное надо. Я про диалоговые элементы и формы в предыдущем посте упомянул только для демонстрации того факта, что в MS Access событие WM_KILLFOCUS плохо работает.
оно срабатывает в обе стороны 03.09 18:28  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка> <ответить>
В wParam приходит либо признак активации, либо деактивации.
Возникла идея – фиксировать в лог все сообщения оконные,... 17.09 07:01  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <ответить>
Возникла идея – фиксировать в лог все сообщения оконные, которые окну приходят. Сделал это, подключившись к Access’овскому окну через сабклассинг, но сообщения с номером 0x06 (WM_ACTIVATE) так и не дождался. WM_KILLFOCUS – тоже неудовлетворительно работает. Если с текущего окна кликаешься на другое, то сообщение это приходит, а если на панель задача кликаешь, то не приходит. О том, исключительно Access’ная это особенность, или вообще обще-Windows-ная – не разбирался (из других сред сабклассингом анализ не проводил), потому как всё равно не буду в обозримом будущем с Access’а на другую платформу переходить.

Теперь другая идея возникла… И вопрос по ней. Как моё модальное окно узнаёт, что клик случился за его пределами? А оно узнаёт об этом точно, потому как начинает недовольство проявлять (пиликает и мигает, мол тыкай на меня, а не мимо)? Вот если бы отловить приход этого уведомления, и прикрутить на него процедуру закрытия, – моя проблема решилась бы.


PS. Сабклассинг в MS Access работает криво (если IDE-активна, при сабкласинге чехарда начинается – видимо IDE его тоже активно использует).
Spy++ погонять попробуй 03.10 10:59  
Автор: HandleX <Александр Майборода> Статус: The Elderman
<"чистая" ссылка> <ответить>
Много лет назад, помню, гонял его под WinXP, а сейчас скачиваю, и он под WinXP не работает к сожалению (до сих пор под XP сижу, и слазить не планирую). 11.10 06:01  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <ответить>
до сих пор под XP сижу, и слазить не планирую, 13.10 05:51  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Аналогично.

А Спай надо от 6й Студии юзать. Кстати, пробовал 8ю, плюеул, и с VC-6 слазить более не собираюсь.

http://img0.joyreactor.cc/pics/post/geek-windows-windows-95-vista-2275850.jpeg
Пора потехоньку перебираться на Линух. 14.10 18:34  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка> <ответить>
в ms access событие wm_killfocus плохо работает 03.09 04:49  
Автор: Zef <Alloo Zef> Статус: Elderman
Отредактировано 03.09 05:09  Количество правок: 1
<"чистая" ссылка> <ответить>
Плохо. это - как?

Интересно. я на С писал нечто подобное - у меня подсвечивались статики, на которыые я наезжал курсором. Проблем не было.

Вообще, у меня такое впечатление, что это - какой-то глюк библиотек Вижуалстудии после "шестерки". Я часто замечаю зависание на экране "бесхозных" контекстных меню. Старые программы этим не грешат.
Ну так я же написал чуть выше об этом - в посте, который... 03.09 05:53  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <ответить>
> Плохо. это - как?
Ну так я же написал чуть выше об этом - в посте, который начинается словами "Была идея..."
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2018 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach