Пишу базу данных на WNAPI без MFC VC6.0 Предполагается MDI фрейм главного окна и CHILD окна для работы с таблицами и отчетами. Речь идет об объектно-ориентированном программировании по этому я хочу преобразовать оконные функции в класс окна. т.е. каждому виду CHILD окна соответствует свой класс. Не могу приобразовать нижеследующий код в один класс для обработки формы. Приму любые идеи.Особо интересует механизм передачи сообщений при этом преобразовании.  с процедурой StyleDlgProc | Код |
#include <windows.h> #include "prsht.h" extern HINSTANCE hInst ; extern HICON hiconApp ;
//------------------------------------------------------------------- BOOL CALLBACK StyleDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG : { } case WM_COMMAND : { return TRUE ; } case WM_NOTIFY : { } default : return FALSE ; } return 0; }
//------------------------------------------------------------------- BOOL CreatePropertySheet (HWND hwndParent) { PROPSHEETHEADER pshead ; PROPSHEETPAGE pspage[1] ; static LPDWORD pTheExStyles ; DWORD dwStyleWindowsProper = WS_CHILD | WS_VISIBLE | WS_BORDER | WS_CAPTION ; DWORD dwFlagsProper = PSH_PROPTITLE | PSH_PROPSHEETPAGE | PSH_USECALLBACK | PSH_USEHICON; // Zero out property PAGE data ZeroMemory (&pspage, 2 * sizeof (PROPSHEETPAGE)) ; // PAGE 1 -- window style page pspage[0].dwSize = sizeof (PROPSHEETPAGE) ; pspage[0].dwFlags = PSP_USECALLBACK | PSP_USEICONID ; pspage[0].hInstance = hInst ; pspage[0].pszTemplate = MAKEINTRESOURCE (IDD_PROPERTYAPP) ; pspage[0].pszIcon = MAKEINTRESOURCE (hiconApp) ; pspage[0].pfnDlgProc = StyleDlgProc ; pspage[0].lParam = (LPARAM) dwStyleWindowsProper; pspage[0].pfnCallback = NULL ; // Initialize property sheet HEADER data ZeroMemory (&pshead, sizeof (PROPSHEETHEADER)) ; pshead.dwSize = sizeof (PROPSHEETHEADER) ; pshead.dwFlags = dwFlagsProper; pshead.hwndParent = hwndParent ; pshead.hInstance = hInst ; pshead.hIcon = hiconApp ; pshead.pszCaption = "" ; pshead.nPages = 1 ; pshead.nStartPage = 0 ; pshead.ppsp = pspage ; pshead.pfnCallback = NULL ; // --------- Create & display property sheet --------- PropertySheet(&pshead) ; return 1; }
|
|