Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Прозрачный EditBox в окне

9.7K
05 августа 2008 года
Reskator
26 / / 07.02.2007
Как средствами WinAPI, создать полупрозрачный editbox на непрозрачном (полупрозрачном) окне?

Похоже, что нужно использовать примерно такой код:

Код:
hWnd=CreateWindowEx(WS_EX_APPWINDOW | WS_EX_LAYERED, _TEXT("resclass"), _TEXT("resclass"), WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN,230,250,600,250,NULL,NULL,hInstance,NULL);
    hWndEdit=CreateWindowEx(WS_EX_CLIENTEDGE | WS_EX_LAYERED, _TEXT("resclass"), NULL, WS_OVERLAPPEDWINDOW|WS_CHILD|WS_VISIBLE,10,10,400,22,hWnd,NULL,hInstance,NULL);

    if (SetLayeredWindowAttributes(hWnd, RGB(255, 255, 255), 255, LWA_ALPHA) == FALSE)
    {
        MessageBox(NULL, _TEXT("SetLayeredWindowAttributes hWnd"), _TEXT("failed"), MB_OK);
    }
    if (SetLayeredWindowAttributes(hWndEdit, RGB(255, 255, 255), 255, LWA_ALPHA) == FALSE)
    {
        MessageBox(NULL, _TEXT("SetLayeredWindowAttributes hWndEdit"), _TEXT("failed"), MB_OK);
    }
    MessageBox(NULL, _TEXT("SetLayeredWindowAttributes"), _TEXT("successfuly"), MB_OK);

    UpdateWindow(hWnd);
    UpdateWindow(hWndEdit);
    ShowWindow(hWnd,nCmdShow);    
    ShowWindow(hWndEdit,nCmdShow);


Но не работает - слетает на SetLayeredWindowAttributes(hWndEdit, RGB(255, 255, 255), 255, LWA_ALPHA) :( Помогите!
341
06 августа 2008 года
Der Meister
874 / / 21.12.2007
Для дочерних окон WS_EX_LAYERED не канает.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог