Megosztás a következőn keresztül:


Tulajdonságlap létrehozása

Az ebben a szakaszban szereplő példa egy kétoldalat tartalmazó tulajdonságlapot hoz létre– az egyik egy cella betűtípustulajdonságainak beállításához egy számolótáblában, egy másik pedig a cella szegélytulajdonságainak beállításához.

A példa úgy határozza meg a lapokat, hogy kitölt egy pár PROPSHEETPAGE struktúrákat, és megadja a PROPSHEETHEADER struktúrában található címet, amelyet a Tulajdonságlap függvénynek ad át.

Amit tudnia kell

Technológiák

Előfeltételek

  • C/C++
  • Windows felhasználói felület programozása

Előírás

Tulajdonságlap létrehozása

Az alábbi példakód bemutatja, hogyan hozható létre kétoldalas tulajdonságlap.

// 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;
}

Megjegyzések

A lapokat tartalmazó párbeszédpanelsablonok, ikonok és címkék az alkalmazás végrehajtható fájljában található erőforrásokból töltődnek be. A tulajdonságlap ikonja az alkalmazás erőforrásaiból is betöltődik.

Tulajdonságlapok használata

tulajdonságminta