Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

Free Component   Найти похожие ветки 

 
webpauk   (2003-12-30 17:53) [0]

может кто подскажет, как после обработки события OnKeyDown удалить компоненет (ситуация такова: програмно создаётся TEdit, который после нажатия VK_Return или VK_Escape, програмно удаляется)


 
Плохиш_   (2003-12-30 17:57) [1]

OppsDeletedComponent.Free


 
Тимохов ©   (2003-12-30 17:58) [2]

Сделай ему free в обработчике.


 
webpauk   (2003-12-30 18:00) [3]

2Тимохов
а ты сам попробуй.
процедура имеет привелигированное значение и не позволяет из себя удалять вызвавший эту процедуру компонент


 
Тимохов ©   (2003-12-30 18:10) [4]

webpauk (30.12.03 18:00) [3]
Согласен. Давая ответ раньше я пробовал, но немного другой случай. Ты же на написал, что событие OnKeyDown у того компонента, который должен быть удален?

В данном случае, можешь посылать сообщение форме методом PostMessage и передавать кого, нужно удалить. Это точно работает - проверил.


 
webpauk   (2003-12-30 18:18) [5]

а точнее?


 
Тимохов ©   (2003-12-30 18:26) [6]

Что точнее?
Определяешь сообщение msgKill = WM_USER+1
В обработчкие OnKeyPress посылаешь
пишешь postmessage(handle, msgKill, integer(Edit), 0);
В форме пишешь обработчкик сообщение msgKill:
private procedure fMsgKill(var aMsg: TMessage);
message msgKill;
begin
TEdit(aMsg.Wparam).Free;
end;

Все!


 
webpauk   (2003-12-30 18:35) [7]

integer(Edit) -а это чего?


 
webpauk   (2003-12-30 18:40) [8]

Ни хрена не выходит
Может код кинешь


 
Тимохов ©   (2003-12-30 18:42) [9]

Я тебе кинул весь код.
Edit, это переменная, содержащая ссылку на TEdit, который ты хочешь удалить.

Код я тебе кидать не буду по причине желание тебе только добра - поучиться и почитать в хелпе о незнакомых тебе процедурах и методах очень полезно.

Удачи в Новом Году!


 
webpauk   (2003-12-30 18:48) [10]

SendMessage((Sender as TEdit).Handle, WM_CLOSE, 0, 0)

а такая бодяга удаляет Tedit bkb только скрывает?


 
Тимохов ©   (2003-12-30 18:52) [11]

Не знаю.
Но способ описанный мной, точно работает.
Сейчас к сожалению не могу почитать хелп, но если я не ошибась SendPessage ждет завершения обратотки, а postmessage - нет.
Именно postmessage тебе и нужен, т.к. до удаления tedit дожен до конца отрабоать ивент onkeypress и только потом обработаться посладнное postmessage сообщение и удалиться TEdit.



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

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
8-37805
Элл
2003-09-10 09:43
2004.01.13
Компоненты для работы с Jpeg


1-37717
radiosoft
2003-12-30 19:23
2004.01.13
Как изменить цвет стандартного ScrollBar?


3-37568
CraKer
2003-12-14 00:03
2004.01.13
Filter не делается по значениям с пробелом...


14-37878
Думкин
2003-12-22 08:05
2004.01.13
С днем рождения! 22 декабря.


3-37564
Vemer
2003-12-15 12:08
2004.01.13
Запуск ХП дя формирования