Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не устанавливается стиль окна [XP]


IceBeerg ©   (2010-10-01 17:27:00) 

По сабжу:
Установка расширенного стиля работает, далее нет, что я не так делаю?
program OrNotWS_TolWindows;

{$APPTYPE CONSOLE}

uses
 Windows;

var
WND:HWND;
loop:Integer;
begin
loop:=0;
repeat
WND:=FindWindow(PChar('ThunderRT6Main'),PChar('M2WGUI2'));
if WND=0 then sleep(1000);
loop:=loop+1;
until ((loop>=10)or(WND>0));
If WND<>0 Then begin
SetWindowLong(WND,GWL_EXSTYLE,GetWindowLong(WND,GWL_EXSTYLE) or not WS_EX_TOOLWINDOW);
SetWindowLong(WND,GWL_EXSTYLE,GetWindowLong(WND,GWL_EXSTYLE) or WS_EX_APPWINDOW);
loop:=0;
repeat
loop:=loop+1;
SetWindowLong(WND,GWL_STYLE,GetWindowLong(WND,GWL_STYLE) or WS_CAPTION);
SetWindowLong(WND,GWL_STYLE,GetWindowLong(WND,GWL_STYLE) or WS_SYSMENU);
SetWindowLong(WND,GWL_STYLE,GetWindowLong(WND,GWL_STYLE) or WS_MINIMIZEBOX);
If GetWindowLong(WND,GWL_STYLE) or WS_CAPTION = WS_CAPTION Then loop:=10
else sleep(1000);
until loop>=10;
If loop>=10 then ExitProcess(2);
ExitProcess(0);
end else ExitProcess(1);
end.


IceBeerg   (2010-10-04 12:24:00) [1]


> ты не читаешь. некоторые стили кэшируются, для их изменения
> надо вызвать SetWindowPos

Да, действительно, плохо читал, извиняюсь...


Игорь Шевченко   (2010-10-04 11:26:00) [2]


> Но как тогда Winspector их применяет? Как-то пересоздавать
> окно надо?


ты не читаешь. некоторые стили кэшируются, для их изменения надо вызвать SetWindowPos


IceBeerg   (2010-10-04 11:03:00) [3]


> http://msdn.microsoft.com/en-us/library/ms633591(VS.85).
> aspx

:( After the window has been created, these styles cannot be modified
Но как тогда Winspector их применяет? Как-то пересоздавать окно надо?


Игорь Шевченко   (2010-10-01 18:08:00) [4]

http://msdn.microsoft.com/en-us/library/ms633591(VS.85).aspx


IceBeerg   (2010-10-01 18:04:00) [5]


> не все стили могут быть установлены

Как то же Winspector Spy их все же устанавливает... :(


Игорь Шевченко   (2010-10-01 17:58:00) [6]

не все стили могут быть установлены


IceBeerg   (2010-10-01 17:51:00) [7]

Да, забыл упомянуть, изменения применяются к программе запускаемой в батнике на строчку выше.


Наверх

Титульная страница Поиск, карта сайта Написать письмо