
Разбираюсь с таб контролом, взял пример из книжки (см.ниже)
при компиляции говорит:
local variable 'hTabCtrlWnd' used without having been initialized
ничего не пойму

Подскажите плз....
Код: Выделить всё
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
HWND hTabCtrlWnd;
RECT rRect;
TC_ITEM TcItem;
static HWND hDlg = 0;
int nTab;
LPNMHDR lpNMHdr;
switch (message)
{
case WM_CREATE:
AddData = new AddDataType[LOTTERY_SIZE];
GetClientRect(hWnd,&rRect);
hTabCtrlWnd = CreateWindow(WC_TABCONTROL,"TabCtrl",WS_VISIBLE | WS_TABSTOP | WS_CHILD | TCS_TOOLTIPS,0,0,rRect.right,rRect.bottom,hWnd,NULL,hInst,NULL);
TcItem.mask = TCIF_TEXT;
TcItem.iImage = -1;
TcItem.pszText = "Additional lottery data";
TabCtrl_InsertItem(hTabCtrlWnd,0,&TcItem);
TcItem.pszText = "Combination cost table";
TabCtrl_InsertItem(hTabCtrlWnd,1,&TcItem);
hDlg = CreateDialog(hInst,(LPCTSTR)IDD_TABLE_DIALOG,hTabCtrlWnd,(DLGPROC)TableDialogProc);
//return 0;
break;
case WM_NOTIFY:
lpNMHdr = (LPNMHDR)lParam;
hDlg = CreateDialog(hInst,(LPCTSTR)IDD_TABLE_DIALOG,hTabCtrlWnd,(DLGPROC)AddDialogProc);
switch(lpNMHdr->code)
{
case TCN_SELCHANGE:
if(hDlg)DestroyWindow(hDlg);
nTab = TabCtrl_GetCurSel((HWND)lpNMHdr->hwndFrom);
if(nTab==0) hDlg = CreateDialog(hInst,(LPCTSTR)IDD_TABLE_DIALOG,hTabCtrlWnd,(DLGPROC)AddDialogProc);
if(nTab==1) hDlg = CreateDialog(hInst,(LPCTSTR)IDD_TABLE_DIALOG,hTabCtrlWnd,(DLGPROC)TableDialogProc);
break;
}
break;