About HTSYSMENU
От: kero Россия  
Дата: 29.04.09 22:58
Оценка:
Почти восстановил учебную утилитку, исходники и пояснения к которой сгинули вместе с ноутбуком (ее тема — window nonclient area и особенности HT-зон),
но намертво застрял на следующем замечании в MSDN-овской статье "WM_NCHITTEST Notification":

HTSYSMENU
In a window menu or in a Close button in a child window.

Ну никак не получается ни припомнить, ни найти заново пример такой button... Не поможете?
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re: About HTSYSMENU
От: Аноним  
Дата: 29.04.09 23:01
Оценка:
K> In a window menu or in a Close button in a child window.[/q]
K>Ну никак не получается ни припомнить, ни найти заново пример такой button... Не поможете?
Справа сверху.
Re[2]: About HTSYSMENU
От: kero Россия  
Дата: 29.04.09 23:06
Оценка:
Здравствуйте, Аноним, Вы писали:

K>> In a window menu or in a Close button in a child window.[/q]

K>>Ну никак не получается ни припомнить, ни найти заново пример такой button... Не поможете?
А>Справа сверху.

Без HTSYSMENU — не смешно.
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[3]: About HTSYSMENU
От: Аноним  
Дата: 29.04.09 23:14
Оценка:
K>>> In a window menu or in a Close button in a child window.[/q]
K>>>Ну никак не получается ни припомнить, ни найти заново пример такой button... Не поможете?
А>>Справа сверху.
K>Без HTSYSMENU — не смешно.
Нифига не понял, кроме того что понял что не понял ваш изнаяальный вопрос. Засим спокойной ночи и желаю вам почетче задавать вопросы, чтоб следующий отвечающий не пытался постичь суть вопроса о смысле вселенной, ваще всего и кнопки close в частности.
Re[4]: About HTSYSMENU
От: kero Россия  
Дата: 29.04.09 23:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Нифига не понял, кроме того что понял что не понял ваш изнаяальный вопрос. Засим спокойной ночи и желаю вам почетче задавать вопросы, чтоб следующий отвечающий не пытался постичь суть вопроса о смысле вселенной, ваще всего и кнопки close в частности.


Ну, и вам желаю впредь не браться за непосильное, наверняка найдется и что-то для вас доступное. Спокойной ночи, любезный.
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re: About HTSYSMENU
От: Carc Россия https://vk.com/gosha_mazov
Дата: 29.04.09 23:28
Оценка:
Здравствуйте, kero, Вы писали:

K>Почти восстановил учебную утилитку, исходники и пояснения к которой сгинули вместе с ноутбуком (ее тема — window nonclient area и особенности HT-зон),

K>но намертво застрял на следующем замечании в MSDN-овской статье "WM_NCHITTEST Notification":
K>

HTSYSMENU
K> In a window menu or in a Close button in a child window.

K>Ну никак не получается ни припомнить, ни найти заново пример такой button... Не поможете?

По ходу дела это или системное меню окна, или кнопка Close, но дочернего окна, типа мди-детки. Не оно?
Aml Pages Home
Re[2]: About HTSYSMENU
От: kero Россия  
Дата: 29.04.09 23:30
Оценка:
Здравствуйте, Carc, Вы писали:

C>По ходу дела это или системное меню окна, или кнопка Close, но дочернего окна, типа мди-детки. Не оно?


Нет, mdi тут не пляшет...
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[3]: About HTSYSMENU
От: Carc Россия https://vk.com/gosha_mazov
Дата: 29.04.09 23:36
Оценка:
Здравствуйте, kero, Вы писали:

K>Здравствуйте, Carc, Вы писали:


C>>По ходу дела это или системное меню окна, или кнопка Close, но дочернего окна, типа мди-детки. Не оно?


K>Нет, mdi тут не пляшет...

Смущает "or in a Close button in a child window" — как оно вообще может в NCHITTEST определить какую-то абстрактную кнопку в дочернем окне? Ну типа даже если и может, вроде через класс окна, какое-то дико странное решение. Чего б тогда и Edit к примеру не сделать, ну или наоборот почему бы не вынести это в отдельное значение хита?
Aml Pages Home
Re[3]: About HTSYSMENU
От: Carc Россия https://vk.com/gosha_mazov
Дата: 29.04.09 23:46
Оценка:
Здравствуйте, kero, Вы писали:

K>Здравствуйте, Carc, Вы писали:


C>>По ходу дела это или системное меню окна, или кнопка Close, но дочернего окна, типа мди-детки. Не оно?


K>Нет, mdi тут не пляшет...

Не, отбой!. Проверил, MDI тут точно не причем. Но мистика какая-то как и положено с HTSYSMENU на Control Box реагирует... и боле не на что!
Aml Pages Home
Re[4]: About HTSYSMENU
От: kero Россия  
Дата: 29.04.09 23:47
Оценка:
Здравствуйте, Carc, Вы писали:
C>Смущает "or in a Close button in a child window" — как оно вообще может в NCHITTEST определить какую-то абстрактную кнопку в дочернем окне? Ну типа даже если и может, вроде через класс окна, какое-то дико странное решение. Чего б тогда и Edit к примеру не сделать, ну или наоборот почему бы не вынести это в отдельное значение хита?

Тем не менее я (очень смутно) помню, что когда-то находил живой пример... Если есть желание — вот сохранившийся черновик той утилитки: HTSpy. Может — наведет на какие-то мысли... (хотя скоро выложу и восстановленный вариант).
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[2]: About HTSYSMENU
От: Pavel Dvorkin Россия  
Дата: 30.04.09 05:56
Оценка:
Здравствуйте, Carc, Вы писали:

C>По ходу дела это или системное меню окна, или кнопка Close, но дочернего окна, типа мди-детки. Не оно?


А почему обязательно mdi-детки ? Вполне годится и обычный чайлд.

Пишем вот такой чудовищный код

hWndButton = CreateWindow("button","Ok",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | WS_CAPTION | WS_SYSMENU,0,0, 100, 100,hWnd,NULL, hInst, NULL);

и получаем чайлда с заголовком (серым, конечно), системным меню и кнопкой Close. Если в это системое меню войти, то можно получить указанную нотификацию при движении по пунктам его. И даже если не входить, а просто над значком системного меню подвигать. А вот от кнопки Close мне получить так и не удалось, там HTCLOSE
With best regards
Pavel Dvorkin
Re[3]: About HTSYSMENU
От: kero Россия  
Дата: 30.04.09 08:33
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>и получаем чайлда с заголовком (серым, конечно), системным меню и кнопкой Close. Если в это системое меню войти, то можно получить указанную нотификацию при движении по пунктам его. И даже если не входить, а просто над значком системного меню подвигать.


Это все лежит на поверхности...

PD>А вот от кнопки Close мне получить так и не удалось, там HTCLOSE


Так в том и суть!

---
А может, в каких-то прогах из Win1/2/3х?
Где-то же я вроде нашел когда-то...
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[4]: About HTSYSMENU
От: Carc Россия https://vk.com/gosha_mazov
Дата: 30.04.09 11:23
Оценка: :)
> PD>А вот от кнопки Close мне получить так и не удалось, там HTCLOSE
>
> Так в том и суть!
Народ, завязывайте плз такой код с утра писать А то после бессонной ночи с неутомимыми экспериментами на тему "HTSYSMENU где ты, где ты" увидев пост Павла, отложил зубную щетку и помчался экспериментировать спросони дальше! Полтора часа как с куста

Кстати, а сабж не может быть какой-то нездоровой совместимостью со старыми Windows?
Posted via RSDN NNTP Server 2.1 beta
Aml Pages Home
Re: About HTSYSMENU
От: kero Россия  
Дата: 04.05.09 13:04
Оценка:
Короче, огласил и здесь: http://www.flounder.com/msdn_documentation_errors_and_omissions.htm#WM_NCHITTEST

Теперь есть шанс, что попадется на глаза к.н. ветерану MS, который и огреет искомым примером
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[2]: About HTSYSMENU
От: kero Россия  
Дата: 07.05.09 15:55
Оценка:
Приаттаченная демка SysButton, кажется, только добавляет новый вопрос:
а почему в MSDN-овской справке по HTSYSMENU говорится только о Close button ?
Т.е. эту справку так и продолжаю не понимать...
(Второй аттач — это вспомогательный hittester, набросок, но рабочий).
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.