Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Handle [D6, XP]


webpauk ©   (2008-02-14 18:20:00) 

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


Palladin   (2008-02-14 19:04:00) [1]

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


we   (2008-02-14 19:02:00) [2]

это ответ


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

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


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

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


ketmar   (2008-02-14 18:54:00) [5]

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


Palladin   (2008-02-14 18:54:00) [6]

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


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

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


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

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

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:44:00) [9]

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


Palladin   (2008-02-14 18:40:00) [10]

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

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

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


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


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

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


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


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

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


Palladin   (2008-02-14 18:33:00) [13]


> [2] we   (14.02.08 18:28)

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


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

> we   (14.02.08 18:28) [2]

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


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

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


Palladin   (2008-02-14 18:22:00) [16]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо