Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 'WS_EX_LAYERED' : undeclared identifier 
:(
    Опции темы
devmstr
Дата 22.10.2005, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



Что я делаю не так?
Пишет -
'WS_EX_LAYERED' : undeclared identifier
'LWA_ALPHA' : undeclared identifier
Причем если 'WS_EX_LAYERED' заменить константой из заголовочного файла, то первая ошибка пропадает, но вторая никак не решается!
Код
#include <windows.h>
#define CW_DEF CW_USEDEFAULT


LONG WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wPar, LPARAM lPar);

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASS wnd;
    memset(&wnd, 0, sizeof(wnd));
    wnd.hbrBackground    = (HBRUSH)COLOR_WINDOW;
    wnd.hCursor            = LoadCursor(NULL, IDC_ARROW);
    wnd.hIcon            = LoadIcon(NULL, IDI_APPLICATION);
    wnd.hInstance        = hInst;
    wnd.lpfnWndProc        = WndProc;
    wnd.lpszClassName    = "iClock";
    wnd.style            = CS_HREDRAW|CS_VREDRAW;
    if (!RegisterClass(&wnd))
    {
        DWORD Error = GetLastError();
        MessageBox(NULL, "Error create class", "Error", MB_ICONERROR|MB_OK);
        return 1;
    }

    HWND hWnd = CreateWindow("iClock", "Hello Word", WS_OVERLAPPEDWINDOW,  10, 20, 500, 600, NULL, NULL, hInst, NULL);
    if (!hWnd)
    {
        MessageBox(NULL, "Error create window", "Error", MB_OK|MB_ICONERROR);
        return 1;
    }
    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);

    SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);
    SetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA);

    MSG msg;

    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.lParam;
}

LONG WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wPar, LPARAM lPar)
{
    switch (msg)
    {
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, msg, wPar, lPar);
    }
    return 0;
}


Это сообщение отредактировал(а) magician - 22.10.2005, 09:55


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
Earnest
Дата 22.10.2005, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 33
Всего: 183



Если эта константа точно есть в подключаемом заголовочном файле, а компилятор ее не видит, то проверь, не закрыта ли она какими-либо #ifdef'ами (связанными с ОС).


--------------------
...
PM   Вверх
devmstr
Дата 22.10.2005, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



Да вроде нет. Юзаю WinXp, так что прозрачность работать должна!
Но он еще не хавает 0x00000002 равное LWA_ALPHA
Пишет identifier not found, even with argument-dependent lookup


Добавлено @ 11:00
Нужно юзать #define _WIN32_WINNT 0x0500.


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.