![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| JackyFox |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 21.11.2007 Репутация: нет Всего: 7 |
Стоит задача в приложении Windows Forms, разрабатываемом в Visual C++ 2010 Express, запретить в определенной ситуации сообщение системы типа WM_SYSCOMMAND.
Нашел, что делается это примерно вот так:
Для проверки создал проект, в Form1.h в пределах класса Form1 написал функцию:
Компилируется, но на события минимизации не реагирует. Подскажите, пожалуйста, как правильно в проекте Windows Forms применять такую конструкцию? Добавлено через 6 минут Пробовал так же вариант:
и вообще без всяких условий. --------------------
У вас менее 250 сообщений, ссылки отключены |
||||||
|
|||||||
| JackyFox |
|
||||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 21.11.2007 Репутация: нет Всего: 7 |
Нашел для C# пример перевода этой конструкции. В нем предлагается перегрузить функцию WndProc.
Поискал еще и нашел пример перегрузки этой функции для C++
Переписал под свои нужны так:
В таком варианте не компилится, сообщая, что
Ошибка показывает на
Если написать
то компилируется, но толку нет. Окно остается подвижным. --------------------
У вас менее 250 сообщений, ссылки отключены |
||||||||||
|
|||||||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
если заккомментировать эту строку,. окно как себя ведет ? если как обычно, значит Вы не переопределили оконную функцию.. (сигнатура не совпадает).. |
|||
|
||||
| JackyFox |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 21.11.2007 Репутация: нет Всего: 7 |
mes, окно ведет себя как обычно. Не переопределилась функция. Пример старый.
Нашел еще один пример. Метод следовало явно перегрузить, а параметр определить как tracking reference (обратите внимание на знак процентов):
В этом случае доступ к элементам структуры типа Message осуществляется через точку. Этот код блокирует перемещение окна.
Всем спасибо за внимание ;) --------------------
У вас менее 250 сообщений, ссылки отключены |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
он же у Вас в сообщении об ошибки.. из за чего и возникла мысль о не соответствии сигнатуры.. так что к сообщениям компилятора стоит прислушиваться повнимательней.. |
|||
|
||||
| JackyFox |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 21.11.2007 Репутация: нет Всего: 7 |
mes, да, компилятор — молодец. Но вот я тогда еще не был знаком с «отслеживаемым указателем» (и не знаю, как правильно в русскоязычной литературе tracking reference принято называть), поэтому и не обратил внимание на знак %.
--------------------
У вас менее 250 сообщений, ссылки отключены |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: нет Всего: 39 |
просто компилятор тебе уже в лоб указал что нужно сделать
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |