Вниз
Скачать: 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.029 c
6-1086845012
AndrewK
2004-06-10 09:23
2004.08.08
Как отправить письмо с уведомлением о доставке


6-1086867946
_ice_
2004-06-10 15:45
2004.08.08
WNetCancelConnection2


3-1089719178
denis24
2004-07-13 15:46
2004.08.08
adotable1.FieldByName( fl_prov ).Asboolean


3-1089794019
CAMCOH
2004-07-14 12:33
2004.08.08
Реакция программы на ошибку соединения


6-1086354999
Viland
2004-06-04 17:16
2004.08.08
Глюк с TClientSocket




   Наверх