Erstellen eines Eigenschaftenblatts
Im Beispiel in diesem Abschnitt wird ein Eigenschaftenblatt erstellt, das zwei Seiten enthält– eine zum Festlegen der Schriftarteigenschaften einer Zelle in einer Kalkulationstabelle und eine andere zum Festlegen der Rahmeneigenschaften der Zelle.
Im Beispiel werden die Seiten definiert, indem ein Paar von PROPSHEETPAGE-Strukturen gefüllt und die Adresse in der PROPSHEETHEADER-Struktur angegeben wird, die an die PropertySheet-Funktion übergeben wird.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
Erstellen eines Eigenschaftenblatts
Im folgenden Codebeispiel wird veranschaulicht, wie ein zweiseitiges Eigenschaftenblatt erstellt wird.
// 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;
}
Bemerkungen
Die Dialogfeldvorlagen, Symbole und Bezeichnungen für die Seiten werden aus den Ressourcen geladen, die in der ausführbaren Datei der Anwendung enthalten sind. Das Symbol für das Eigenschaftenblatt wird ebenfalls aus den Ressourcen der Anwendung geladen.
Zugehörige Themen