Прозрачное окно поверх катьки

Программирование для CATIA.

Прозрачное окно поверх катьки

Сообщение Artem » 22 окт 2008 08:40

Пытаюсь создать форму с прозрачным фоном поверх катии . На фоне меняющийся текст(строка состояния + текст окна кнопки на
которую наведена мышь)
Конструкция вроде
Ret = Ret Or WS_EX_LAYERED Or WS_EX_TOPMOST
SetWindowLong Me.hwnd, GWL_EXSTYLE, Ret
SetLayeredWindowAttributes Me.hwnd, 1, 255, LWA_COLORKEY Or LWA_ALPHA
Работает замечательно когда мое окно поверх любого приложения кроме катьки,а вот на ее фоне остается либо серый след , либо
"отпечаток" старого состояния катькиного окна - который обновляется когда:
1.Убираю мое окно к краю
2.Увеличиваю/уменьшаю/двигаю сборку/деталь/чертеж
3.Ставлю окно на место
Если опять изменить состояние модели то мое окно опять "заморозит" часть экрана
Таймер не катит т.к. а)Мерцание б)Обновляется сама модель, а если передвигаю дерево - то оно (дерево) обновляется на моем окне где-то
раз в 15 секунд
Все вроде нормально когда в таймере делаю Result = SetForegroundWindow(Me.hwnd)
но при этом мое окно делается активным (приходится отслеживать активацию подменю у кнопок,подозреваю что еще что-нибудь всплывет.
Вызов в таймере Call SetWindowPos(Me.hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
не дает вообще ничего ,как и ShowWindow UpdateWindow RedrawWindow InvalidateRect.......
Думаю вот организовать все через регионы - но если каждый раз при изменении текста создавать новый и переназначать, то это очень
медленно, а хранить не текст, а картинку(регион) как то не то (хотя наверное получше форегроунда)...
Кто-нибудь сталкивался?
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Вернуться в CAA-RADE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron