На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

OK, Cancel, and Apply Now Buttons



The OK and Apply Now buttons are similar; both direct a property sheet's pages to validate and apply the property changes that the user has made. The only difference is that choosing the OK button causes the property sheet to be destroyed after the changes are applied, but choosing the Apply Now button does not.

When the user chooses the OK or Apply Now button, the property sheet sends the PSN_KILLACTIVE notification message to the active page, giving it an opportunity to validate the user's changes. If the page determines that the changes are valid, it should call the SetWindowLong function to set the DWL_MSGRESULT value for the page to FALSE. In this case, the property sheet sends the PSN_APPLY notification message to each page, directing them to apply the new properties to the corresponding item. If the page determines that the user's changes are not valid, it should set DWL_MSGRESULT to TRUE and display a dialog box informing the user of the problem. The page remains active until it sets DWL_MSGRESULT to FALSE in response to a PSN_KILLACTIVE message. An application can use the PSM_APPLY message to simulate the choice of the Apply Now button.

The Apply Now button is initially disabled when a page becomes active, indicating that there are not yet any property changes to apply. When the page receives user input through one of its controls indicating that the user has edited a property, the page should send the PSM_CHANGED message to the property sheet. The message causes the property sheet to enable the Apply Now button. If the user subsequently chooses the Apply Now or Cancel button, the page should reinitialize its controls and then send the PSM_UNCHANGED message to disable again the Apply Now button.

Sometimes the Apply Now button causes a page to make a change to a property sheet, and the change cannot be undone. When this happens, the page should send the PSM_CANCELTOCLOSE message to the property sheet. The message causes the property sheet to change the text of the OK button to "Close," indicating that the applied changes cannot be canceled.
Sometimes a page makes a change to the system configuration that requires Windows to be to restarted or the system rebooted before the change can take effect. After making such a change, a page should send either the PSM_RESTARTWINDOWS or PSM_REBOOTSYSTEM message to the property sheet. These messages cause the PropertySheet function to return the ID_PSRESTARTWINDOWS or ID_PSREBOOTSYSTEM value after the property sheet is destroyed.

The property sheet sends the the PSN_RESET notification message to all pages when the user chooses the Cancel button, indicating that the property sheet is about to be destroyed. A page should use the notification to perform cleanup operations.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

OK, ОТМЕНА и Прилагает Теперь Кнопки



OK И Прилагать Теперь кнопки аналогичные; оба направляют собственности листовые страницы, чтобы подтверждать и прилагать изменения собственности, которыми потребитель был сделан. Единственное различие - то, что выбор кнопки OK вызывает лист собственности, который нужно уничтожаться после того, как изменения будут приложены, но выбирая Теперь кнопку Apply нет.

Когда потребитель выбирает OK или Прилагает Теперь кнопку, лист собственности посылает сообщению уведомления PSN_KILLACTIVE на активную страницу, подачу, которые он возможность подтверждать изменения потребителя. Если страница определяет, что изменения в силе, оно должно вызывать функцию SetWindowLong, чтобы устанавливать величину DWL_MSGRESULT для страницы в ЛОЖЬ. В этом случае, лист собственности посылает сообщение уведомления PSN_APPLY на каждый страница, прямое он, чтобы прилагать новые свойства к соответствующему пункту. Если страница определяет, что изменения потребителя недействительны, оно должно устанавливать DWL_MSGRESULT в ИСТИНУ и отображать диалоговый ящик, сообщающего потребителя проблемы. Страница остается активной пока она не установит DWL_MSGRESULT в ЛОЖЬ в ответ на сообщение PSN_KILLACTIVE. Приложение может использовать сообщение PSM_APPLY, чтобы имитировать выбор Теперь кнопки Apply.

Теперь кнопка Apply первоначально выведена из строя когда страница становится активной, указывая, что есть еще не любые изменения собственности, чтобы относиться. Когда страница получает ввод пользователя через один из своих элементов управления, указывающих, что потребитель отредактировал собственность, страница должна послать сообщение PSM_CHANGED на лист собственности. Сообщение заставляет лист собственности, чтобы приспосабливаться Теперь кнопку Apply. Если потребитель впоследствии выбирает Apply Теперь или кнопка Отмены, страница должна инициализировать вновь свои элементы управления и тогда пошлите сообщение PSM_UNCHANGED, чтобы выводить из строя снова Теперь кнопку Apply.

Иногда Теперь кнопка Apply заставляет страницу, чтобы делать изменением на лист собственности, и изменение не может быть отменено. Когда это случается, страница должна послать сообщение PSM_CANCELTOCLOSE на лист собственности. Сообщение заставляет лист собственности, чтобы изменять текст кнопки OK, чтобы "Закрывать," указывая, что прикладные изменения не могут быть отменены.
Иногда страница делает изменением в системную конфигурацию, которая требует, чтобы быть на перезапущенное или система перезагруженная прежде, чем изменение может вступить в силу. После получения такого изменения, страница должна послать или PSM_RESTARTWINDOWS или сообщение PSM_REBOOTSYSTEM на лист собственности. Эти сообщения заставляют функцию PropertySheet, чтобы возвращать ID_PSRESTARTWINDOWS или ID_PSREBOOTSYSTEM оценивается после того, как лист собственности будет уничтожен.

Лист собственности посылает сообщение уведомления PSN_RESET на все страницы когда потребитель выбирает кнопку Отмены, указывая, что лист собственности собирается быть уничтожен. Страница должна использовать уведомление, чтобы выполнять действия очистки.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz