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

Каким образом обработать нажатие на кнопку по описателю окна?   Найти похожие ветки 

 
Nomolos   (2004-06-25 22:47) [0]

Пишу плагин в Delphi. Имеется описатель кнопки (hButton) и её родителя (hWindow), надо обработать нажатие на кнопку, то есть обработать WM_COMMAND окна по-своему, однако процедуру обработки окна, как я понял, изменить не удастся. Как же быть?


 
GuAV ©   (2004-06-25 23:21) [1]

А почему не удастся SetWindowLong ? Откуда информация такая ? И если пишешь плагин к чему-то и там даны хендлы, то должен быть дан и способ обработки...


 
Mim1 ©   (2004-06-26 06:12) [2]

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


 
Nomolos   (2004-06-26 10:20) [3]

Плагин к моей же программе. У меня в DLL плагина функция function ShowConfigWindow(hWindow: HWND): Boolean;
Кнопочки и меточки - просто в лёт, а вот их обработка... Считаете, есть смысл получать от драйвера собственную процедуру обработки WM_COMMAND? А два плагина по определению у меня загружаться не будут. Спасибо всем, уже немало помогли.


 
GuAV ©   (2004-06-26 11:19) [4]

В dll должна имхо быть создана своя очередь сообщений. ShowConfigWindow должна возвращать только при закрытии этого ConfigWindow. если VCL то копай в сторону ShowModal если на API - CreateDialogParam.


 
Nomolos   (2004-06-26 20:53) [5]

У меня конфиг показывается в закладке. Спасибо, всё уже сделал с помощью SetWindowLong, давно не читал на неё хелп, использовал её только для изменения стилей. И, причём, только через HWND =)


 
GuAV ©   (2004-06-27 00:19) [6]


> У меня конфиг показывается в закладке.

Сделал бы по подобию IShellPropSheetExt


 
GrayFace ©   (2004-06-27 09:33) [7]

А че это такое?


 
YuRock ©   (2004-06-27 17:30) [8]

GuAV ©   (26.06.04 11:19) [4]
В dll должна имхо быть создана своя очередь сообщений

Зачем? Не понятно...



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

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



Память: 0.46 MB
Время: 0.037 c
1-1090563325
goliath
2004-07-23 10:15
2004.08.08
Invalid canvas state request


3-1089633365
Tempo
2004-07-12 15:56
2004.08.08
Параметры Locate


1-1090494788
~ShamaN~
2004-07-22 15:13
2004.08.08
Quick Report


14-1090409056
ййй
2004-07-21 15:24
2004.08.08
PHP NUKE


14-1090576672
igosm
2004-07-23 13:57
2004.08.08
Как посмотреть ассемблерный код программы на Delphi?




   Наверх