Summary: | 1Cv77: О программе не показывает все поля | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Vitaly Lipatov <lav> |
Component: | Общее | Assignee: | Анатолий Лютин <vostok> |
Status: | CLOSED FIXED | QA Contact: | Vitaly Lipatov <lav> |
Severity: | normal | ||
Priority: | P2 | CC: | baraka, vostok |
Version: | unspecified | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 42, 47, 584 |
Description
Vitaly Lipatov
2006-04-10 18:44:11 MSD
Они выводятся, но потом перекрываются каким-то другим полем (имеющим неверный размер?) В старой версии (полугодичной) всё показывается. W@E 1.0.5 всё также никак Беру себе. Делаю. Static сразу создаётся с текстом, только вот с каким-то странным: e:win:WIN_SetWindowLong 0x100b4 0 f264 W trace:win:WIN_CreateWindowEx "HHHHHHHHHHHHHHHH" "Static" ex=00000004 style=50020000 101,143 300x13 parent=0x200a6 menu=0x1052 inst=0x310000 00 params=(nil) trace:win:dump_window_styles style: WS_CHILD WS_VISIBLE WS_GROUP trace:win:dump_window_styles exstyle: WS_EX_NOPARENTNOTIFY trace:win:WIN_SetWindowLong 0x100b6 -12 1052 W trace:win:WIN_CreateWindowEx created window 0x100b6 trace:win:WIN_SetWindowLong 0x100b6 0 f264 W trace:win:WIN_CreateWindowEx "HHHHHHHHHHHHHHHH" "Static" ex=00000004 style=50020000 101,128 300x13 parent=0x200a6 menu=0x1059 inst=0x310000 00 params=(nil) trace:win:dump_window_styles style: WS_CHILD WS_VISIBLE WS_GROUP trace:win:du Похоже те поля, которые не отрисовываются созданы со стилем SS_SUNKEN. Сделал тестовую прогу - всё нормально отрисовывается - как при инициализации, так и после. Если 1с запускается и работает очень медленно (допустим с трейсом по all), то можно увидеть, как текст несколько раз ставится, а затем зарисовывается. Текст появляется даже если Static заблокировать обработку WM_SETTEXT, притом также появляется несколько раз и затирается. Похоже что все такие подписи в 1с выводятся в конечном итоге через ExtTextOutW Но до этого текст обрабатывается в STATIC_PaintTextfn. Spy++ показывает что данный статик создаётся со стилем 50000E (SS_BITMAP), в вайне же почему то данный статик создаётся как 500005 (SS_GRAYED) ?!! Всё - поймано! Текст отрисовывается нормально, просто static так сделан, что текст перерисовывается фукциями отрисовки рамок : STATIC_PaintRectfn. Да- действительно 1с зачем то принудительно делает статику стиль SS_BITMAP (?!!!), а там происходим зарисовка статика, если нет картинке, что естественно не совпадает с Виндой. Залечил. |