Большие проблемы с PropertySheet !!!
От: Аноним  
Дата: 22.08.05 06:25
Оценка:
Имеется проект, в котором главное диалоговое окно создаётся через примечательную функцимю PropertySheet Кнопки apply / ok на основном далоге не создаются. Так вот если в какой либо закладке есть дефолт кнопка — причём с любым ID, то в случае если фокус на любом из контролов этой закладки, то по нажатию на enter весь диалог спокой но себе закрывается — обработчки события дефолтвоой кнопки не вызывается — судя по тому что показывает spy в главный диалог при этом постится WM_COMMAND+IDOK. Что это за фигня и как с этим бороться ?

Кстати по ходу вопрос = как я понимаю в случае любого события над контролом (например нажатие enter) сначала шлётся какой нить WM_KEYUP контролу после чего контрол шлёт нотификационное сообщение например WM_COMMAND своему родителю.... Однако как тогда нотификационное сообщение порпадает в главный диалог а не child-диалог текущей закладки ?
Re: Большие проблемы с PropertySheet !!!
От: gamial Россия  
Дата: 22.08.05 20:10
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Имеется проект, в котором главное диалоговое окно создаётся через примечательную функцимю PropertySheet Кнопки apply / ok на основном далоге не создаются. Так вот если в какой либо закладке есть дефолт кнопка — причём с любым ID, то в случае если фокус на любом из контролов этой закладки, то по нажатию на enter весь диалог спокой но себе закрывается — обработчки события дефолтвоой кнопки не вызывается — судя по тому что показывает spy в главный диалог при этом постится WM_COMMAND+IDOK. Что это за фигня и как с этим бороться ?


А>Кстати по ходу вопрос = как я понимаю в случае любого события над контролом (например нажатие enter) сначала шлётся какой нить WM_KEYUP контролу после чего контрол шлёт нотификационное сообщение например WM_COMMAND своему родителю.... Однако как тогда нотификационное сообщение порпадает в главный диалог а не child-диалог текущей закладки ?


Помоему, ситуаця схожа со стандартным СDialog. Переопредели OnOk и тп.
Re[2]: Большие проблемы с PropertySheet !!!
От: Аноним  
Дата: 23.08.05 06:53
Оценка:
Здравствуйте, gamial, Вы писали:

G>Здравствуйте, Аноним, Вы писали:


А>>Имеется проект, в котором главное диалоговое окно создаётся через примечательную функцимю PropertySheet Кнопки apply / ok на основном далоге не создаются. Так вот если в какой либо закладке есть дефолт кнопка — причём с любым ID, то в случае если фокус на любом из контролов этой закладки, то по нажатию на enter весь диалог спокой но себе закрывается — обработчки события дефолтвоой кнопки не вызывается — судя по тому что показывает spy в главный диалог при этом постится WM_COMMAND+IDOK. Что это за фигня и как с этим бороться ?


А>>Кстати по ходу вопрос = как я понимаю в случае любого события над контролом (например нажатие enter) сначала шлётся какой нить WM_KEYUP контролу после чего контрол шлёт нотификационное сообщение например WM_COMMAND своему родителю.... Однако как тогда нотификационное сообщение порпадает в главный диалог а не child-диалог текущей закладки ?


G>Помоему, ситуаця схожа со стандартным СDialog. Переопредели OnOk и тп.


Ну во первых диалоговая функция зашита внутри функции PropertySheet и переобпередилить OnOk проблематично без примемения извратов типа хуков Я могу переопределять OnApply в диалоговых функциях закоадок — но учитывая что этот OnApply рассылается всем закоадлкам, которые открывались поолзователем принажатии на enter получается бред !
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.