forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Winapi смена "стиля окна" на классический? (http://forum.boolean.name/showthread.php?t=6208)

Alex_Noc 04.08.2008 23:35

Winapi смена "стиля окна" на классический?
 
Проблема в следующем:
Создал PRESETUP окно , через апи сделал его скругленным и обрезал заголовок.
Но вылезла проблема окторую пока не нашел как решить- заключаеться она в том что стили окно имеют разную толщину. Т.е если я пишу под классическим стилем то и запуская прогу из блица наблюдаю нормльно все потому что окно для запущенной проги создаеться с тем же стилем что и установлен в винде.
Но обнаружил некий глюк - при запуске на других компах все внутри окна приложения сдвинуто на несколько пикселей (от 3 до 5 ) и всю красоту портит зияющая полоска обрезанного окна :(
Выяснилось (Огромное спасибо Моке) что вина в этом стилей виндовса.
Собственно протестив - обнаружил что это действительно так.
Но терь встяла проблема - как же решить сей неприятнейший момент.
порылся в нете нашел только вот эти 2 функции с которыми так и не разобрался как они работают:
api_GetWindowLong% (hwnd%, GWL_STYLE ) - это получение стиля окна
api_SetWindowLong% (hwnd,GWL_STYLE,style ) - это смена текущего на новый

по крайней мере я так понял.
Покопавшись так ниче и непонял :(.
Если кто сталкивался с данной проблемой - или же просто знает как решить эту проблему - прошу подсказать.
С благодарностью заранее - спасибо.

Alex_Noc 07.08.2008 08:59

Ответ: Winapi смена "стиля окна" на классический?
 
Вобщем ниче не нашел - зато получилось схитрить 6) - вобщем оставил примерное по 10 пикселей канвы у фона меню. Ну и обрезаю в апи окно чуть шире чем без канвы - пирмерно на +4 пикселя сверху и снизу. И когда стиль в винде стоит шире то меню сьезжает - но вместо необрезанной области (полоска фона блица) терь показываеться канва :) - а она как бы продолжение менюхи. ну фобщем некий сдвиг сделал на случай не однородности стиля - который при разных стилях сьезжает вниз или приподнимаеться вверх на 4 пикселя (примерно). Таким образом глюк у меня был решен. Надеюсь кому то поможет - если так же как и я не найдет решение нормальное.Всем УДАЧИ!


Часовой пояс GMT +4, время: 08:53.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot