Aracılığıyla paylaş


Özellik Sayfası Oluşturma

Bu bölümdeki örnek, biri elektronik tablodaki bir hücrenin yazı tipi özelliklerini ayarlamak için, diğeri de hücrenin kenarlık özelliklerini ayarlamak için olmak üzere iki sayfa içeren bir özellik sayfası oluşturur.

Örnek, PROPSHEETPAGE yapı çiftini doldurarak ve Özellik Sayfası işlevine geçirilen PROPSHEETHEADER yapısındaki adresi belirterek sayfaları tanımlar.

Bilmeniz gerekenler

Teknolojileri

Önkoşullar

  • C/C++
  • Windows Kullanıcı Arabirimi Programlama

Talimatlar

Özellik Sayfası Oluşturma

Aşağıdaki kod örneği, iki sayfalı özellik sayfasının nasıl oluşturulacağını gösterir.

// DoPropertySheet - creates a property sheet that contains two pages.
//
// hwndOwner - handle to the owner window of the property sheet.
//
// Global variables
//     g_hinst - instance handle

extern HINSTANCE g_hinst;

VOID DoPropertySheet(HWND hwndOwner)
{
    PROPSHEETPAGE psp[2];
    
    PROPSHEETHEADER psh;
    
    psp[0].dwSize      = sizeof(PROPSHEETPAGE);
    psp[0].dwFlags     = PSP_USEICONID | PSP_USETITLE;
    psp[0].hInstance   = g_hinst;
    psp[0].pszTemplate = MAKEINTRESOURCE(DLG_FONT);
    psp[0].pszIcon     = MAKEINTRESOURCE(IDI_FONT);
    psp[0].pfnDlgProc  = FontDialogProc;
    psp[0].pszTitle    = MAKEINTRESOURCE(IDS_FONT)
    psp[0].lParam      = 0;
    psp[0].pfnCallback = NULL;
    psp[1].dwSize      = sizeof(PROPSHEETPAGE);
    psp[1].dwFlags     = PSP_USEICONID | PSP_USETITLE;
    psp[1].hInstance   = g_hinst;
    psp[1].pszTemplate = MAKEINTRESOURCE(DLG_BORDER);
    psp[1].pszIcon     = MAKEINTRESOURCE(IDI_BORDER);
    psp[1].pfnDlgProc  = BorderDialogProc;
    psp[1].pszTitle    = MAKEINTRESOURCE(IDS_BORDER);
    psp[1].lParam      = 0;
    psp[1].pfnCallback = NULL;
    
    psh.dwSize      = sizeof(PROPSHEETHEADER);
    psh.dwFlags     = PSH_USEICONID | PSH_PROPSHEETPAGE;
    psh.hwndParent  = hwndOwner;
    psh.hInstance   = g_hinst;
    psh.pszIcon     = MAKEINTRESOURCE(IDI_CELL_PROPERTIES);
    psh.pszCaption  = (LPSTR) "Cell Properties";
    psh.nPages      = sizeof(psp) / sizeof(PROPSHEETPAGE);
    psh.nStartPage  = 0;
    psh.ppsp        = (LPCPROPSHEETPAGE) &psp;
    psh.pfnCallback = NULL;
    
    PropertySheet(&psh);
    
    return;
}

Açıklamalar

Sayfaların iletişim kutusu şablonları, simgeleri ve etiketleri, uygulamanın yürütülebilir dosyasında yer alan kaynaklardan yüklenir. Özellik sayfasının simgesi de uygulamanın kaynaklarından yüklenir.

Özellik Sayfalarını Kullanma

Özellik örneği