Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.06.2013, 16:04
rrr rrr вне форума
Прохожий
 
Регистрация: 14.06.2013
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Переопределить Mousedown

Хочу набросать на panel много прямоугольников с полями и двигать их мышкой.

Объявляю тип:
Код:
type
TPost = class( TPanel)
LabelCode: TLabel;
LabelName: TLabel;
EditCode: TEdit;
EditName: TEdit;
procedure MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

Пишу процедуру:

procedure TPost.MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
frmMain.StatusBar.SimpleText:='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
end;

По клику создаю прямоугольник (он честно появляется на панели)

Код:
TPost.Create(Self).Name := ('Post'+inttostr(nPanNumber) );

Присваиваю ему top, left, и прочие свойства. Тыкаю мышкой - процедура не вызывается. Ставил чекпойнт в дебаггере - таки не вызывается.
Что я делаю не так, подскажите, pls.

MAD: Пользуемся тегами, или последуют санкции!

Последний раз редактировалось M.A.D.M.A.N., 14.06.2013 в 16:24.
Ответить с цитированием
  #2  
Старый 14.06.2013, 17:02
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

а созданому элементу своё событие MouseDown назначил?
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #3  
Старый 14.06.2013, 17:09
rrr rrr вне форума
Прохожий
 
Регистрация: 14.06.2013
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию А вот это не оно?

Код:
procedure MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Ответить с цитированием
  #4  
Старый 14.06.2013, 17:38
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Это объявление, а не назначение.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #5  
Старый 14.06.2013, 17:43
rrr rrr вне форума
Прохожий
 
Регистрация: 14.06.2013
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию А как правильно?

А как правильно?
Ответить с цитированием
  #6  
Старый 14.06.2013, 17:49
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
blabla.onmousewheel := blabla;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 14.06.2013, 18:13
rrr rrr вне форума
Прохожий
 
Регистрация: 14.06.2013
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Подробнее бы...

Не объясните ли подробнее? Что вместо блабла и в какой раздел это писать?
Ответить с цитированием
  #8  
Старый 14.06.2013, 18:28
Аватар для AlexandrV
AlexandrV AlexandrV вне форума
Начинающий
 
Регистрация: 10.02.2013
Сообщения: 197
Версия Delphi: XE3
Репутация: -624
По умолчанию

Код:
blabla.onmousewheel := blabla;
Ну например так если правильно понял.

Объект.onmousewheel:=твоя процедура

только я не понял а зачем тебе движения колесика
onmousewheel - Движения колесиком мышки на объекте
Ответить с цитированием
  #9  
Старый 14.06.2013, 18:35
rrr rrr вне форума
Прохожий
 
Регистрация: 14.06.2013
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию У меня OnMouseDown

Это MADMAN написал про OnMouseWheel, наверное, для примера.

Но не объясните ли подробнее? Вот я создаю объект:

Код:
  TPost.Create(Self).Name := ('Post'+inttostr(nPostCounterMax) );
  with TPost (FindComponent('Post' + IntToStr(nPostCounterMax))) do begin
      Parent := self;
      Tag:=nPostCounterMax;
      Color :=clSilver;
      Left := 20 +  + nCellWidth + nCellHorInterval;
      Top  := nPostCounterMax* (nCellHeight + nCellVerInterval);
      Visible:=true;
      OnMouseDown:= TPost.OnMouseDown;
    end;

На такую конструкцию ругается. Где надо прописать правильную?
Ответить с цитированием
  #10  
Старый 14.06.2013, 20:55
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Не борзейте, это можно прочитать в любой книге по дельфи в разделе "свойства", дак нет же, нам лень заглянуть в раздел "http://delphisources.ru/forum/forumdisplay.php?f=54" и посмотреть какие книги рекомендуют по дельфям и прочесть по диагонали.

Да чего уж там, лень в гугл зайти.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:49.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025