По какой-то причине, когда я объявляю свой контроль в глобальной области, мое приложение не будет компилироваться.Когда я объявляю переменную inline, все в порядке.Следующее не скомпилируется:
//Global
HWND hEdit;
...
case WM_CREATE:
{
// Create an edit box
hEdit= CreateWindowEx(WS_EX_CLIENTEDGE,
"EDIT",
"",
WS_CHILD|WS_VISIBLE|
ES_MULTILINE|ES_AUTOVSCROLL|ES_AUTOHSCROLL,
50,
100,
200,
100,
hwnd,
(HMENU)IDC_MAIN_EDIT,
GetModuleHandle(NULL),
NULL);
HGDIOBJ hfDefault = GetStockObject(DEFAULT_GUI_FONT);
...
}
break;
Следующее не скомпилируется.Ошибка:
'HGDIOBJ': недопустимое использование этого типа в качестве выражения
Однако, если я определю hEdit
inline в моем переключателе, эта ошибка исчезнет.
Итак, это скомпилируется:
case WM_CREATE:
{
// Create an edit box
HWND hEdit= CreateWindowEx(WS_EX_CLIENTEDGE,
"EDIT",
"",
WS_CHILD|WS_VISIBLE|
ES_MULTILINE|ES_AUTOVSCROLL|ES_AUTOHSCROLL,
50,
100,
200,
100,
hwnd,
(HMENU)IDC_MAIN_EDIT,
GetModuleHandle(NULL),
NULL);
HGDIOBJ hfDefault = GetStockObject(DEFAULT_GUI_FONT);
...
} break;
Я, должно быть, упускаю из виду что-то простое, но не могу его найти.Может кто-нибудь сказать мне, что я пропускаю?
Спасибо