Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sihirbaz, kullanıcılara bir yordamda yol göstermek için basit ve güçlü bir yol sağlayan özellik sayfası türüdür.
Sihirbazlar, kullanıcı deneyimini basitleştirmenin anahtarlarından biridir. Bir uygulamanın yapılandırması gibi karmaşık bir işlem gerçekleştirmenize ve bunu bir dizi basit adıma ayırmanıza olanak tanır. İşlemin her noktasında, nelerin gerekli olduğuna ilişkin bir açıklama sağlayabilir ve kullanıcının seçim yapmasını ve metin girmesini sağlayan denetimleri görüntüleyebilirsiniz.
Sihirbaz aslında bir özellik sayfası türüdür. Özellik sayfası temelde her sayfanın ayrı bir iletişim kutusu olduğu sayfaları koleksiyonu için bir kapsayıcıdır. Normal özellik sayfaları kullanıcının istediği zaman herhangi bir sayfaya erişmesine izin verirken, sihirbazlar sayfaları sırayla sunar. Sekmeler yerine, ileri ve geri gitmek için düğmeler kullanılır. Sayfaların görüntülenme sırası uygulama tarafından denetlenebilir ve kullanıcı girişlerine göre değiştirilebilir.
Sihirbazın iki ana stili vardır: eski Wizard97 stili ve Windows Vista'da tanıtılan Aero stili. Çizimler için bkz. Özellik Sayfaları Hakkında. (Yalnızca PSH_WIZARD veya PSH_WIZARD_LITE bayrağını kullanan üçüncü bir stil, üst bilgi veya filigran içermeyen basit bir özellik sayfası dizisi sunar.)
Not
Sihirbazlar bağlamındaki "filigran", bazı sayfaların sol kenar boşluğunda görünen bit eşlemdir.
Bu belgenin büyük bir bölümünde yer alan tartışmada, ortak denetimlerin 5.80 veya sonraki sürümlerine sahip bir sistem için bir sihirbaz uyguladığınız varsayılır. Sihirbaz97 stilini ortak denetimlerin önceki sürümleriyle kullanmayı denerseniz, uygulamanız derlenebilir ancak düzgün görüntülenmez. Önceki sistemlerde Sihirbaz97 uyumlu sihirbazın nasıl oluşturulacağı hakkında bir tartışma için, bu konunun devamında yer alan Geriye Dönük Uyumlu Sihirbazlar konusuna bakın.
Bilmeniz gerekenler
Teknolojileri
Önkoşullar
- C/C++
- Windows Kullanıcı Arabirimi Programlama
Talimatlar
Sihirbaz Uygulaması
Sihirbaz uygulamak, normal özellik sayfası uygulamaya benzer. En temel düzeyde, özellik sayfasını tanımlayan PROPSHEETHEADER yapısında aşağıdaki bayraklardan veya bayrak bileşimlerinden birini ayarlamak önemlidir.
Bayrak | Üslup |
---|---|
PSH_WIZARD | Başlık veya bit eşlem içermeyen basit bir sihirbaz. |
PSH_WIZARD_LITE | PSH_WIZARD benzer şekilde, görünümde bazı küçük farklılıklar vardır; örneğin, düğmelerin üzerindeki ayırıcı pencerenin tam genişliğine ayarlanır. |
PSH_WIZARD97 | (isteğe bağlı) üst bilgiler, üst bilgi bit eşlemleri ve filigranlar içeren bir Sihirbaz97 sihirbazı. |
PSH_WIZARD | PSH_AEROWIZARD | Bir Aero Sihirbazı. Aero Sihirbazları filigran veya başlık bit eşlemleri kullanmaz. Tek iş parçacıklı apartment (STA) modelini gerektirir. |
Sihirbazı uygulamaya yönelik temel yordam aşağıdaki gibidir:
- Her sayfa için bir iletişim kutusu şablonu oluşturun.
- Her sayfa için bir PROPSHEETPAGE yapısı oluşturarak sayfaları tanımlayın. Bu yapı sayfayı tanımlar ve iletişim kutusu şablonunun ve bit eşlemlerin veya diğer kaynakların işaretçilerini içerir.
- Sayfanın HPROPSHEETPAGE tutamacını oluşturmak için önceki adımda oluşturulan PROPSHEETPAGE yapısını CreatePropertySheetPage işlevine geçirin.
- Bunun için bir PROPSHEETHEADER yapısı oluşturarak sihirbazı tanımlayın.
- Sihirbazı görüntülemek için PROPSHEETHEADER yapısını Özellik Sayfası işlevine geçirin.
- Sayfanın denetimlerinden ve sihirbazın düğmelerinden gelen bildirim iletilerini işlemek ve diğer Windows mesajlaşmalarını işlemek için her sayfa için iletişim kutusu yordamları uygulayın.
İletişim Kutusu Şablonları Oluşturma
sihirbaz sayfasının iki temel türü vardır: dış ve iç. Dış sayfalar giriş (hoş geldiniz) ve tamamlama sayfalarıdır. Diğerlerinin hepsi iç sayfalardır.
Dış Kapak İletişim Kutusu Şablonları
Giriş ve tamamlama sayfalarının temel düzeni aynıdır. Aşağıdaki çizimde yer tutucu filigranı içeren örnek bir Wizard97 giriş sayfası gösterilmektedir.
Sol tarafta grafik, sağda başlık ve gövde metni bulunan, altta geri, ileri ve iptal düğmeleri olan sihirbaz sayfasını gösteren ekran görüntüsü
Sihirbaz97 dış sayfaları için iletişim kutusu şablonu 317x193 iletişim kutusu birimleridir. Sihirbaz, resim yazısı ve alttaki Geri , İleri ve İptal düğmelerini içeren bant hariç, her şeyi doldurur. Şablonun "filigran" bit eşlemi için ayrılmış sol tarafında herhangi bir denetim bulunmamalıdır. Filigran, sihirbazın PROPSHEETHEADER yapısında belirtilir ve sayfaya otomatik olarak eklenir. Kaynak şablonunu tasarlarken bunun için alana izin vermelisiniz.
Filigran bit eşlemini oluşturduğunuzda, örneğin kullanıcı büyük bir sistem yazı tipi seçerse iletişim kutusunun boyutunun artabileceğini unutmayın. Farklı diller de farklı yazı tipi ölçümlerine sahip olma eğilimindedir. Sayfa büyüdükçe, filigran için ayrılan alan orantılı olarak daha büyük olur. Ancak, filigran bit eşlemini değiştiremezsiniz ve bit eşlem daha büyük alanı dolduracak şekilde uzatılamaz. Bunun yerine bit eşlem, ayrılmış alanın sol üst kısmında özgün boyutunda bırakılır. Filigranın kapsamına alınmayan daha büyük ayrılmış alanın bölümü otomatik olarak bit eşleminin sol üst pikselinin rengiyle doldurulur.
Farklı yazı tipi ölçümleri için farklı boyutlu filigran bit eşlemlerine sahip olmanız gerekiyorsa iki olası çözüm şunlardır:
- Sihirbazı oluşturmadan önce yazı tipi metriklerini alın ve uygun şekilde boyutlandırılmış bir filigran bitmap belirtin.
- Sihirbazı oluştururken filigran resmi belirtmeyin. Wizard97, filigran alanını boş bırakır. Ardından filigran için ayrılmış alana uygun şekilde boyutlandırılmış bir bitmap çizin.
Denetimleri, normal bir iletişim kutusunda yapabileceğiniz gibi, filigranın sağındaki alana yerleştirebilirsiniz. Bu alanın arka plan rengi sistem tarafından belirlenir ve sizin için herhangi bir işlem gerektirmez. Genellikle bu alana iki statik denetim koyarsınız. Üstteki başlığı taşır ve büyük ve kalın bir yazı tipi (Wizard97 için 12 punto Verdana Kalın) kullanır. Açıklayıcı metin için kullanılan diğer metin, standart iletişim kutusu yazı tipini kullanır.
Giriş ve tamamlama sayfaları arasındaki temel fark, sihirbaz düğmeleri ve statik denetimlerdeki metindir. Giriş sayfalarında normalde Sonraki ve Geri düğmesi bulunur ve yalnızca sonraki düğmesi etkinleştirilir. Tamamlama sayfalarında Geri düğmesi etkindir ve sonraki düğmesi Son düğmesiyle değiştirilir.
Not
Aero Sihirbazları'nda Geri düğmesi, resim yazısı çubuğundaki bir ok düğmesiyle değiştirilir.
Sihirbaza bir PSM_SETFINISHTEXT iletisi göndererek Son düğmesindeki metni değiştirebilirsiniz. Varsayılan olarak, Son düğmesi klavye hızlandırıcısı içermez. Klavye hızlandırıcısı tanımlamak için, PSM_SETFINISHTEXT'e geçirdiğiniz metin dizesine bir ampersand sembolü ekleyin. Örneğin, "&Son" klavye hızlandırıcısı olarak 'F' öğesini tanımlar.
İç Sayfa İletişim Kutusu Şablonları
İç sayfalar dış sayfalardan biraz farklı bir görünüme sahiptir. Aşağıdaki görselde, üstbilgi için yer tutucu resim içeren bir örnek Wizard97 iç sayfası gösterilmektedir.
.
Sayfanın üst kısmındaki üst bilgi alanı özellik sayfası tarafından işlenir, bu nedenle şablona dahil değildir. Üst bilginin içeriği sayfanın PROPSHEETPAGE yapısında ve sihirbazın PROPSHEETHEADER yapısında belirtilir. İç sayfanın üst bilgi ve düğmeler arasına sığması gerektiğinden, Wizard97 iletişim kutusu şablonu dış sayfalara yönelik şablondan biraz daha küçük olan 317x143 iletişim kutusu birimidir.
Aşağıdaki çizimde aynı şablondan oluşturulmuş bir Aero Sihirbazı gösterilmektedir.
Üst kısmında bir başlık alanı bulunan ve alt kısmında yalnızca sonraki ve iptal düğmeleri olan .
Sihirbaz Sayfalarını Tanımlama
İletişim kutusu şablonlarını ve bit eşlemler ve dize tabloları gibi ilgili kaynakları oluşturduktan sonra özellik sayfası sayfalarını oluşturabilirsiniz. Prosedür, standart özellik sayfaları için olanla benzerdir. İlk olarak, PROPSHEETPAGE yapısının uygun üyelerini doldurun. (Bazı üyeler sihirbazlara özeldir.) Ardından sayfanın HPROPSHEETPAGE tutamacını oluşturmak için CreatePropertySheetPageişleviniçağırın.
Aşağıdaki sihirbazla ilgili bayraklar, PROPSHEETPAGE yapısının dwFlags üyesinde ayarlanabilir.
Bayrak | Açıklama |
---|---|
PSP_HIDEHEADER | Sihirbaz97'de dış sayfalar için bu bayrağı ayarlayın. Üst bilgi gösterilmiyor ancak filigran gösterilebilir. |
PSP_USEHEADERTITLE | Sihirbaz97'de üst bilgi alanına veya Aero Sihirbazı'nda istemci alanının en üstüne başlık yerleştirmek için iç sayfalar için bu bayrağı ayarlayın. |
PSP Üstbaşlık Kullan | Sihirbaz97'de üst bilgi alanına alt yazı yerleştirmek için iç sayfalar için bu bayrağı ayarlayın. |
PSP_USEHEADERTITLE veya PSP_USEHEADERSUBTITLE ayarladıysanız, başlık ve alt başlık metnini sırasıyla pszHeaderTitle ve pszHeaderSubtitle üyelerine atayın. PROPSHEETPAGE üyelerine ve PROPSHEETHEADER yapılarına metin dizeleri atadığınızda, bir dize işaretçisi atayabilir veya bir dize kaynağından değer atamak için MAKEINTRESOURCE makrosunu kullanabilirsiniz. Dize kaynağı, sihirbazın PROPSHEETHEADER yapısının hInstance üyesinde belirtilen modülden yüklenir.
Sayfa oluşturmak için createPropertySheetPageçağırdığınızda, sonucu HPROPSHEETPAGE tanıtıcıları dizisinin bir öğesine atayın. Bu dizi, özellik sayfası oluşturulurken kullanılır. Sayfanın tutamacının dizi dizini, görüntülendiği varsayılan sırayı belirler. Sayfanın HPROPSHEETPAGE tutamacını oluşturduktan sonra, ilgili üyelere yeni değerler atayarak aynı PROPSHEETPAGE yapısını yeniden kullanarak sonraki sayfayı oluşturabilirsiniz.
Sayfa oluşturmanın alternatif bir yolu, her sayfa için ayrı PROPSHEETPAGE yapıları kullanmak ve bir yapı dizisi oluşturmaktır. Bu dizi, özellik tablosu oluşturulurken HPROPSHEETPAGE tanıtıcıları dizisi yerine kullanılır. Ayrı PROPSHEETPAGE yapıları kullanmak, CreatePropertySheetPageçağırma gereksinimini ortadan kaldırır, ancak daha fazla bellek kullanır. Aksi takdirde, iki yaklaşım arasında önemli bir fark yoktur.
Aşağıdaki örnek, bir PROPSHEETPAGE yapısına değerler atayarak bir iç Sihirbaz97 sayfasını tanımlar. Bu örnekte, sayfanın başlığı, alt başlığı ve iletişim kutusu şablonunun tümü kaynak kimlikleriyle tanımlanır. CreatePropertySheetPage işlevi çağrılarak sayfanın HPROPSHEETPAGE tanıtıcısı oluşturulur. Görünecek ikinci sayfa olacağı için tanıtıcı, 1 dizinine sahip olan ahpsptanıtıcılar dizisine atanır.
// g_hInstance is the global HINSTANCE of the application.
// IntPage1DlgProc is the dialog procedure for this page.
// ahpsp is an array of HPROPSHEETPAGE handles.
PROPSHEETPAGE psp = { sizeof(psp) };
psp.hInstance = g_hInstance;
psp.dwFlags = PSP_USEHEADERTITLE | PSP_USEHEADERSUBTITLE;
psp.lParam = (LPARAM) &wizdata;
psp.pszHeaderTitle = MAKEINTRESOURCE(IDS_TITLE1);
psp.pszHeaderSubTitle = MAKEINTRESOURCE(IDS_SUBTITLE1);
psp.pszTemplate = MAKEINTRESOURCE(IDD_INTERIOR1);
psp.pfnDlgProc = IntPage1DlgProc;
ahpsp[1] = CreatePropertySheetPage(&psp);
Özel Sayfa Verileri
Sayfa oluşturduğunuzda, PROPSHEETPAGE yapısının lParam üyesini kullanarak, genellikle kullanıcı tanımlı bir yapıya işaretçi atayarak özel veriler atayabilirsiniz.
Sayfa ilk seçildiğinde, iletişim kutusu yordamı bir WM_INITDIALOG iletisi alır. İletinin lParam değeri, sayfanın PROPSHEETPAGE yapısının bir kopyasını gösterir ve özel verileri alabilirsiniz. Daha sonra dizin parametresi olarak GWL_USERDATA SetWindowLongPtr kullanarak bu verileri sonraki iletilerde kullanmak üzere depolayabilirsiniz. Birden çok sayfada aynı verilere yönelik bir işaretçi bulunabilir ve bir sayfa tarafından yapılan verilerde yapılan tüm değişiklikler iletişim kutusu yordamlarında diğer sayfalar tarafından kullanılabilir.
Sihirbaz Özellik Sayfasını Tanımlama
Normal özellik sayfalarında olduğu gibi, PROPSHEETHEADER yapısının üyelerini doldurarak sihirbazın özellik sayfasını tanımlarsınız. Bu yapı, sihirbazı oluşturan sayfaları ve bunların görüntülendiği varsayılan sırayı ve çeşitli ilgili parametreleri belirtmenize olanak tanır. Ardından Özellik Sayfası işlevini çağırarak sihirbazı başlatırsınız.
Wizard97 stilinde, PROPSHEETHEADER yapısındaki pszCaption üyesi dikkate alınmaz. Bunun yerine, sihirbaz geçerli sayfanın iletişim kutusu şablonunda belirtilen resim yazısını görüntüler. Şablonda resim yazısı yoksa, önceki sayfadaki resim yazısı görüntülenir. Bu nedenle, tüm sayfalarda aynı açıklamayı görüntülemek için, giriş sayfasının şablonunda açıklamayı belirtin.
Aero Sihirbazı stilinde, iletişim kutusu başlığı pszCaption'den alınır.
Sayfalarınız için HPROPSHEETPAGE tanıtıcılarından oluşan bir dizi oluşturduysanız, diziyi phpage üyesine atayın. Bunun yerine PROPSHEETPAGE yapılarından oluşan bir dizi oluşturduysanız, diziyi ppsp üyesine atayın ve dwFlags üyesinde PSH_PROPSHEETPAGE bayrağını ayarlayın.
Aşağıdaki örnek, pshdeğerlerini bir PROPSHEETHEADER yapısına atar ve sihirbazı başlatmak için PropertySheet fonksiyonunu çağırır. Sihirbaz97 stilindeki sihirbaz, hem filigran hem de üst bilgi grafiklerine, kaynak kimlikleriyle belirtilmiş olarak sahiptir. ahpsp dizisi tüm HPROPSHEETPAGE tanıtıcılarını içerir ve bunların görüntülendiği varsayılan sırayı tanımlar.
// g_hInstance is the global HINSTANCE of the application.
// ahpsp is an array of HPROPSHEETPAGE handles.
PROPSHEETHEADER psh = { sizeof(psh) };
psh.hInstance = g_hInstance;
psh.hwndParent = NULL;
psh.phpage = ahpsp;
psh.dwFlags = PSH_WIZARD97 | PSH_WATERMARK | PSH_HEADER;
psh.pszbmWatermark = MAKEINTRESOURCE(IDB_WATERMARK);
psh.pszbmHeader = MAKEINTRESOURCE(IDB_BANNER);
psh.nStartPage = 0;
psh.nPages = 4;
PropertySheet(&psh);
İletişim Kutusu Yordamı
Sihirbazın her sayfasında Windows iletilerini, özellikle de denetimlerinden ve sihirbazdan gelen bildirimleri işlemek için bir iletişim kutusu yordamı gerekir. Neredeyse tüm sihirbazların işleyebilmesi gereken üç ileti WM_INITDIALOG, WM_DESTROYve WM_NOTIFY.
WM_NOTIFY iletisi, sayfa görüntülenmeden önce ve sihirbazın düğmelerinden birine tıklandığında alınır. İletinin lParam parametresi, NMHDR üst bilgi yapısının işaretçisidir. Bildirimin kimliği, yapının kodundaki üyesinde yer alır. Çoğu sihirbazın işlemesi gereken dört bildirim şunlardır.
Kod | Açıklama |
---|---|
PSN_SETACTIVE | Sayfa görüntülenmeden önce gönderilir. |
PSN_WIZBACK | Geri düğmesine tıklandığında gönderilir. |
PSN_WIZNEXT | İleri düğmesine tıklandığında gönderilir. |
PSN_WIZFINISH | Bitir düğmesine tıklandığında gönderilir. |
WM_INITDIALOG ve WM_DESTROY ele alın
Bir sayfa ilk kez görüntülenmek üzereyken, iletişim kutusu yordamı bir WM_INITDIALOG iletisi alır. Bu iletiyi işlemek, sihirbazın özel verileri depolama veya yazı tiplerini ayarlama gibi gerekli başlatma görevlerini gerçekleştirmesine olanak tanır.
Özellik sayfası yok edildiğinde bir WM_DESTROY iletisi alırsınız. Sihirbaz sistem tarafından otomatik olarak yok edilir, ancak bu iletiyi işlemek gereken tüm temizleme işlemlerini yapmanıza olanak tanır.
İşle PSN_SETACTIVE
PSN_SETACTIVE bildirim kodu, bir sayfa görünür hale gelmek üzere her seferinde gönderilir. Sayfa ilk kez ziyaret edilirken PSN_SETACTIVE WM_INITDIALOG iletisini izler. Sayfa daha sonra yeniden ziyaret edilirse, yalnızca bir PSN_SETACTIVE bildirimi alır. Bu bildirim genellikle sayfanın verilerini başlatmak ve uygun düğmeleri etkinleştirmek için işlenir.
Varsayılan olarak, sihirbaz Geri, İlerive İptal düğmeleri görüntüler ve tüm düğmeler etkindir. Bir düğmeyi devre dışı bırakmak veya Sonrakiyerine Bitir görüntülemek için PSM_SETWIZBUTTONS bir ileti göndermeniz gerekir. Bu ileti gönderildikten sonra, yeni bir sayfa seçili olsa bile düğmelerin durumu başka bir PSM_SETWIZBUTTONS iletisi tarafından değiştirilene kadar korunur. Genellikle, tüm PSN_SETACTIVE işleyicileri her sayfanın doğru düğme durumuna sahip olduğundan emin olmak için bu iletiyi gönderir.
İstediğiniz zaman bu iletiyle düğme durumunu değiştirebilirsiniz. Örneğin, sonraki düğmesinin başlangıçta devre dışı bırakılmasını isteyebilirsiniz. Kullanıcı gerekli tüm bilgileri girdikten sonra, sonraki düğmesini etkinleştirmek ve kullanıcının sonraki sayfaya devam etmesine izin vermek için başka bir PSM_SETWIZBUTTONS iletisi gönderebilirsiniz.
Aşağıdaki kod parçası, bir iç sayfa görüntülenmeden önce Geri ve İleri düğmelerini etkinleştirmek için PropSheet_SetWizButtons makrosunu kullanır.
case WM_NOTIFY :
{
LPNMHDR pnmh = (LPNMHDR)lParam;
switch(pnmh->code)
{
...
case PSN_SETACTIVE :
...
// This is an interior page.
PropSheet_SetWizButtons(hwnd, PSWIZB_NEXT | PSWIZB_BACK);
...
}
...
}
PSN_WIZNEXT, PSNWIZBACK ve PSN_WIZFINISH olaylarını ele alma.
İleri veya Geri düğmesine tıklandığında, bir PSN_WIZNEXT veya PSN_WIZBACK bildirim kodu alırsınız. Varsayılan olarak, sihirbaz özellik sayfası oluşturulduğunda tanımlanan sırada bir sonraki veya önceki sayfaya otomatik olarak gider. Bu bildirimleri işlemenin yaygın bir nedeni, kullanıcının sayfa değiştirmesini önlemek veya varsayılan sayfa sırasını geçersiz kılmaktır.
Kullanıcının sayfaları değiştirmesini önlemek için düğme bildirimini işleyin, DWL_MSGRESULT değeri –1 olarak ayarlanmış SetWindowLong işlevini çağırın ve TRUE döndürebilirsiniz. Örneğin:
case PSN_WIZNEXT :
...
// Do not go to the next page yet.
SetWindowLong(hwnd, DWL_MSGRESULT, -1);
return TRUE;
...
Standart düzeni geçersiz kılmak ve belirli bir sayfaya gitmek için, DWL_MSGRESULT değeri sayfanın iletişim kutusu kaynak kimliğine ayarlanmış olarak SetWindowLong çağırın ve TRUEdöndürün. Mesela:
case PSN_WIZNEXT :
...
// Go straight to the completion page.
SetWindowLong(hwnd, DWL_MSGRESULT, IDD_FINISH);
return TRUE;
...
Son veya İptal düğmesine tıklandığında, sırasıyla bir PSN_WIZFINISH veya PSN_RESET bildirim kodu alırsınız. Bu düğmelerden herhangi biri tıklatıldığında sihirbaz sistem tarafından otomatik olarak yok edilir. Ancak, sihirbaz yok edilmeden önce temizleme görevleri gerçekleştirmeniz gerekiyorsa bu bildirimleri işleyebilirsiniz. PSN_WIZFINISH bildirimi aldığınızda sihirbazın yok edilmesini önlemek için, DWL_MSGRESULT değeri TRUEolarak ayarlanmış SetWindowLong çağrısını çalıştırın ve TRUEdöndürün. Örneğin:
case PSN_WIZFINISH :
...
// Not finished yet.
SetWindowLong(hwnd, DWL_MSGRESULT, TRUE);
return TRUE;
...
Geriye Dönük Uyumlu Sihirbazlar
Yukarıdaki bölümde, ortak denetimlerin sürüm 5 veya sonraki sürümlerine sahip bir sistem için sihirbaz uyguladığınız varsayılır.
Ortak denetimlerin önceki sürümlerine sahip sistemler için bir sihirbaz yazıyorsanız, önceki bölümde açıklanan özelliklerin çoğu kullanılamaz. Wizard97 stili tarafından kullanılan PROPSHEETHEADER ve PROPSHEETPAGE yapılarının üyeleri yalnızca ortak denetimler sürüm 5 ve üzeri tarafından desteklenir. Ancak, Wizard97 stiline benzer bir görünüme sahip geriye dönük uyumlu sihirbazı uygulamak yine de mümkündür. Bunu yapmak için aşağıdakileri açıkça uygulamanız gerekir:
- Giriş ve tamamlama sayfalarınız için filigran grafiğini iletişim kutusu şablonuna ekleyin.
- Tüm şablonlarınızı aynı boyutta yapın. İç sayfalar için ayrı bir sistem tanımlı üst bilgi alanı yoktur.
- Şablonlarınızda iç sayfanın üst bilgi alanını açıkça oluşturun.
- Sihirbaz boyut değiştirirse başlık veya alt başlıkla çakışabileceğinden üst bilgi grafiği kullanmayın.
Geriye dönük uyumlu sihirbazlar hakkında daha fazla bilgi için bkz. Geriye Dönük Uyumlu Sihirbaz 97.
Açıklamalar
Wizard97'nin tasarım sorunlarının tam bir tartışması için windows SDK'sının başka bir yerindeki Wizard97 Belirtimikonusuna bakın. Bu belgede iletişim kutularının boyutları, bit eşlem boyutları ve renkleri ve denetimlerin yerleşimi gibi yönergeler bulunur.
İlgili konular