Форум: "WinAPI";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];
ВнизЧто здесь неправильно? Найти похожие ветки
← →
Витамин (2002-03-02 18:25) [0]
wl:=getwindowlong(handler,GWL_STYLE);
if (wl and WS_OVERLAPPED)<>0 then some_proc(handler);
wl объявлена как Longint. По идее в процедуру some_proc должен передаваться хандлер окна со стилем WS_OVERLAPPED, но этого почему-то не происходит. В чем тут дело?
← →
VuDZ (2002-03-02 18:32) [1]а что происходит?
← →
Dimaond Cat (2002-03-02 23:03) [2]вообще-то если внимательно посмотреть то WS_OVERLAPPED сам по себе =0 вот кусок файла windows.pas
const
{ Window Styles }
{$EXTERNALSYM WS_OVERLAPPED}
WS_OVERLAPPED = 0;
соответственно при данной постановке, твой if при любом wl будет пролетать мимо
← →
Anatoly Podgoretsky (2002-03-03 00:01) [3]Это как раз пример что не надо резельтат логическиз операций сравнивать с нулем
Правильнее делать следующее if (wl and flag) = flag и не требуется знать значение флага.
← →
Витамин (2002-03-03 12:14) [4]У меня есть хук, который перехватывает создание окна (WH_CALLWNDPROCRET, перехват WM_CREATE). ну и по идее должны обрабатываться окна с WS_OVERLAPPED, но не происходит!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c