![]() |
|
|
![]()
|
|
| reddevel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 8.12.2004 Где: Россия Репутация: нет Всего: нет |
Есть
class TFormObject { public: TImage *pict; void OnMD(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void OnMM(TObject *Sender, TShiftState Shift, int X, int Y); void OnMU(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); }; описан в Unit1.h #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int X0,Y0; bool move=false; void TFormObject::OnMD(TObject *Sender, TMouseButton Button, TShiftState Shift, int X,int Y) {if (Button !=mbLeft) return; X0=X; Y0=Y; move=true; ((TControl*)Sender)->BringToFront(); }; //-------------------------------------------- void __fastcall TForm1::ToolButton1Click(TObject *Sender) { TFormObject obj; if(ComboBox1->ItemIndex==0) { obj.pict= new TImage(Form1); obj.pict->Picture->LoadFromFile("pict//ico_1//krivo.ico"); obj.pict->Parent= Form1; obj.pict->AutoSize=true; obj.pict->Left=15; obj.pict->Top=40; obj.pict->Show(); obj.pict->OnMouseDown=OnMD; }; почему компилятор ругается на строчку obj.pict->OnMouseDown=OnMD; А ругается вот так: Undefined symbol 'OnMD' Это сообщение отредактировал(а) reddevel - 3.3.2005, 12:23 |
|||
|
||||
| Adil' |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 4 Всего: 15 |
obj.pict->OnMouseDown=obj.OnMD;
Добавлено @ 12:49 И в данном случае, я бы не рекомедовал создавать obj на стеке: TFormObject obj; -------------------- Удачи |
|||
|
||||
| reddevel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 8.12.2004 Где: Россия Репутация: нет Всего: нет |
obj.pict->OnMouseDown=obj.OnMD; - пробывал не работает при вводе obj. выпадает список в котором только переменна pict и не более того! на сколько я понимаю после = надо поставить указатель на адрес памяти функции OnMD но как это сделать я не понимаю все методы (.*,&,&&,->,->*) перепробывал не помогает, и при некоторых попытках говорит что не может конвертировать "инт" в "воид" ?! а по поводу TFormObject obj; был вариант TFormObject call; - да при таком подходе результат остается неизменным!!!! |
|||
|
||||
| Adil' |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 4 Всего: 15 |
просто ты еще и __fastcall забыл:
-------------------- Удачи |
||||||
|
|||||||
| reddevel |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 8.12.2004 Где: Россия Репутация: нет Всего: нет |
пасибо огронмное __fastcall все вылечил |
||||||||
|
|||||||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |