Вниз
Скачать: CL | DM;

Оконная функция нового контрола   Найти похожие ветки 

← →
Yuri Btr ©   (2004-03-21 21:16) [0]

Ув. мастера, столкнулся с такой проблемой расширяя функциональность не моей программы - я на постороннем окне создаю контрол - класс "Button", и пытаюсь назначить ему новую оконную функцию для реагирования на оконные сообщения вот таким образом:
...
SetWindowLong(hButton,GWL_WNDPROC,Integer(@WindowProc));
...
function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
end;

Как видите я почти ничего не изменил, для контрола всё вроде бы должно быть прозрачно однако он даже перестал прорисовываться, хотя DefWindowProc вызывается...
Подскажите, где ошибка
Заранее спасибо


← →
Yuri Btr ©   (2004-03-21 21:54) [1]

Cпасибо..:)
Решение нашлось

var
 Form1: TForm1;
 FNewProc:pointer;
 FOldProc:pointer;

function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;

implementation
...

function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
Result := CallWindowProc(FOldProc,hWnd, uMsg, wParam, lParam);
end;

....
FNewProc:=Pointer(@WindowProc);
FOldProc:=Pointer(GetWindowLong(handle,GWL_WNDPROC));
SetWindowLong(handle,GWL_WNDPROC,Integer(@WindowProc));



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.965 c
1-1080195613
stelius
2004-03-25 09:20
2004.04.11
Директива анализатора XML


1-1082638763
han
2004-04-22 16:59
2004.04.11
Найти все окна в приложении


1-1080345215
Новичек
2004-03-27 02:53
2004.04.11
[Fatal Error] File not found: D: .. .. .. delphix Source GL.pas


14-1079261719
syte_ser78
2004-03-14 13:55
2004.04.11
Помогите ответить на вопрос


14-1082108906
Jonny5
2004-04-16 13:48
2004.04.11
Терминал




   Наверх