Aracılığıyla paylaş


Uygula Düğmesini İşleme

Özellik sayfaları, standart iletişim kutularının sahip olmadığı bir özelliğe sahiptir: Kullanıcının özellik sayfasını kapatmadan önce yaptığı değişiklikleri uygulamasına izin verir. Bu, Uygula düğmesi kullanılarak yapılır. Bu makalede, bu özelliği düzgün bir şekilde uygulamak için kullanabileceğiniz yöntemler açıklanır.

Kalıcı iletişim kutuları genellikle kullanıcı iletişim kutusunu kapatmak için Tamam'a tıkladığında ayarları dış nesneye uygular. Aynı durum özellik sayfası için de geçerlidir: Kullanıcı Tamam'a tıkladığında özellik sayfasındaki yeni ayarlar geçerli olur.

Ancak, özellik sayfası iletişim kutusunu kapatmak zorunda kalmadan kullanıcının ayarları kaydetmesine izin vermek isteyebilirsiniz. Bu, Uygula düğmesinin işlevidir. Uygula düğmesi, tüm özellik sayfalarındaki geçerli ayarları dış nesneye uygular; yalnızca etkin olan sayfanın geçerli ayarlarını uygulamak yerine.

Varsayılan olarak Uygula düğmesi her zaman devre dışıdır. Uygula düğmesini uygun zamanlarda etkinleştirmek için kod yazmanız ve aşağıda açıklandığı gibi Uygula etkisini uygulamak için kod yazmanız gerekir.

Kullanıcıya Uygula işlevini sunmak istemiyorsanız Uygula düğmesini kaldırmanız gerekmez. Windows'un gelecek sürümlerinde kullanılabilen standart özellik sayfası desteğini kullanan uygulamalar arasında yaygın olarak bulunacağı gibi devre dışı bırakabilirsiniz.

Sayfayı değiştirildiğini bildirmek ve Uygula düğmesini etkinleştirmek için öğesini çağırın CPropertyPage::SetModified( TRUE ). Sayfalardan herhangi biri değiştiriliyorsa, geçerli etkin sayfanın değiştirilip değiştirilmediğine bakılmaksızın Uygula düğmesi etkin kalır.

Kullanıcı sayfadaki ayarları her değiştirdiği zaman CPropertyPage::SetModified öğesini çağırmalısınız. Kullanıcının sayfadaki bir ayarı ne zaman değiştireceğini algılamanın bir yolu, özellik sayfasındaki EN_CHANGE veya BN_CLICKED gibi denetimlerin her biri için değişiklik bildirimi işleyicileri uygulamaktır.

Uygula düğmesinin etkisini uygulamak için özellik sayfasının sahibine veya uygulamadaki başka bir dış nesneye, özellik sayfalarındaki geçerli ayarları uygulamasını söylemesi gerekir. Aynı zamanda özellik sayfası, değişikliklerini dış nesneye uygulayan tüm sayfaları çağırarak CPropertyPage::SetModified( FALSE ) Uygula düğmesini devre dışı bırakmalıdır.

Bu işlemin bir örneği için bkz. MFC Genel örneği PROPDLG.

Ayrıca bkz.

Özellik Sayfaları