Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.055 c
2-1202681835
Бэтман
2008-02-11 01:17
2008.03.09
Дата


2-1202720850
lead-in
2008-02-11 12:07
2008.03.09
проблема с Socket`ами


11-1183368735
Delphuk
2007-07-02 13:32
2008.03.09
Ошибка после нескольких вызывов MCK формы из DLL


2-1202796912
жорик
2008-02-12 09:15
2008.03.09
открыт ли файл


2-1202681612
Artem
2008-02-11 01:13
2008.03.09
Динамически созданный Memo на PageControl





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский