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

Вниз

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

 
webpauk ©   (2008-02-14 18:20) [0]

создаю свой клас
TPos = class(TComponent)
хочу послать ему сообщение. Проблема - у класса нет handle!
как его создаТЬ?


 
Palladin ©   (2008-02-14 18:22) [1]

Private
 m_hHandle:THandle
Public
 Property Handle:THandle Read m_hHandle;

так ты контрол создаешь все таки или класс? если контрол, и ему нужен handle для пересылки ему Windows сообщения (у меня сейчас телепатор перегреется) то наследоваться нужно не от TComponent, а от TWinControl...


 
we   (2008-02-14 18:28) [2]

ну поменял на TWinControl
а m_hHandle=0 - не задано


 
Семеныч   (2008-02-14 18:30) [3]

> we   (14.02.08 18:28) [2]

У TWinControl хэндл уже и так есть, второй не нужен.


 
Palladin ©   (2008-02-14 18:33) [4]


> [2] we   (14.02.08 18:28)

для понимания столь сложных вещей нужно не тупо копировать и вставлять, а идти чего нибудь читать прекрасного про создание компонентов...


 
we   (2008-02-14 18:35) [5]


> Palladin ©   (14.02.08 18:33) [4]

согласен!
тока нужно срочно...


 
we   (2008-02-14 18:37) [6]


> Семеныч   (14.02.08 18:30) [3]

убрал m_handle
теперь вылетает ошибка Contol has no parent window


 
Palladin ©   (2008-02-14 18:40) [7]

и чего? ошибка тебе ни о чем не говорит?

и вообще, что за навязчивая идее отправлять сообщения классу через send/postmessage

вызвал метод да и все... чего конкретно хочешь то?


 
we   (2008-02-14 18:44) [8]

class содержит несколько Tlabel, для одно из которых задано событие OnClick - уничтожение собственного класса


 
we   (2008-02-14 18:48) [9]

ладно, пойдем другим путем...
куда засунуть в сообщение ссылку на класс, из которого посылается сообщение?

procedure TPos.OnDelClick(Sender: TObject);
begin
 if MessageDlg(LblName.Caption, mtConfirmation, [mbYes, mbNo], 0)<>mrYes then Exit;

 PostMessage(TPos(Owner).Handle, WM_DELVAR, 0, 0);
end;


 
we   (2008-02-14 18:50) [10]

вернее
PostMessage(Tform1(Owner).Handle, WM_DELVAR, ???, ???);


 
ketmar ©   (2008-02-14 18:54) [11]

Удалено модератором


 
Palladin ©   (2008-02-14 18:54) [12]

про приведение типов/type casting хоть одним глазом слышал?


 
we   (2008-02-14 18:55) [13]

essage(Tform1(Owner).Handle, WM_DELVAR, integer(self), ???);


 
Palladin ©   (2008-02-14 18:58) [14]

это вопрос или константация факта?


 
we   (2008-02-14 19:02) [15]

это ответ


 
Palladin ©   (2008-02-14 19:04) [16]

аа... типа сам себе FAQ... панятна :)



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
11-1184105149
Dimaxx
2007-07-11 02:05
2008.03.09
Установка пакета KOL 2.73 начисто - что случилось?


15-1201827329
Tirael
2008-02-01 03:55
2008.03.09
вопрос по Wget


2-1202979105
Ega23
2008-02-14 11:51
2008.03.09
Запуск внешней программы в невидимом режиме


10-1132058772
ForgotPass
2005-11-15 15:46
2008.03.09
COM-объект FlashGet ("JetCar.Netscape")


15-1202135900
oldman
2008-02-04 17:38
2008.03.09
Где можно бесплатно завести большой почтовый ящик?