Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2015, 13:28   #11
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
...
procedure TForm1.Label1DblClick(Sender: TObject);
begin
  Label2.Caption:='DblClick';
end;
Уважаемый,
а вот если сообщение выводить не на Label2, а вот например в "showmessage", или разные процедуры начать выполнять (как у меня), в зависимости от количества нажатий кнопки мышки. Код начинает сбоить.

Цитата:
Сообщение от Stilet Посмотреть сообщение
...
Будет тебе триггер своеобразный.
а ваш код подходит.

Всем спасибо

Последний раз редактировалось KBO; 18.11.2015 в 13:44.
KBO вне форума Ответить с цитированием
Старый 18.11.2015, 13:43   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Код начинает сбоить
Не понял. Сделай как Stilet предлагает, т.е. в любой момент времени только один обработчик
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.11.2015, 13:57   #13
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не понял. Сделай как Stilet предлагает, т.е. в любой момент времени только один обработчик
я имел в виду, то что перестает правильно работать при

Код:
procedure TForm3.Label1Click(Sender: TObject);
var
  Msg: TMsg;
  Ticks: Cardinal;
begin
  Ticks:=GetTickCount+GetDoubleClickTime;
  while GetTickCount<Ticks do
    if PeekMessage(Msg,Panel1.Handle,WM_LBUTTONDBLCLK,WM_LBUTTONDBLCLK,PM_NOREMOVE) then Exit;
  showmessage('Click');
end;

procedure TForm3.Label1DblClick(Sender: TObject);
begin
  showmessage('DblClick');
end;
или, вместо "showmessage('Click');" и "showmessage('DblClick');" происходит вызов определенных процедур.

Да, да, я уже сказал у "Stilet" - эта штука отрабатывает как нужно
KBO вне форума Ответить с цитированием
Старый 18.11.2015, 15:13   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Всем спасибо
Не за что )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.11.2015, 16:22   #15
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
я имел в виду, то что перестает правильно работать при
У меня почему-то работает как положено
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.11.2015, 17:13   #16
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
У меня почему-то работает как положено
не знаю, у меня при сообщениях, вылазит только одно сообщение "showmessage('Click');" при разных количествах нажатия кнопки.

Ну да ладно...

И еще такой небольшой вопрос

Я код "Stilet" решил вынести в отдельную процедуру (ну чтоб для большинства компонент использовать):
Код:
procedure TFMain.EXTENDED_COMPONENT(ASender: TObject; ANumClick: integer);
//extended component in mode "edit"
begin
  case ANumClick of
    1:
      with TMemo(ASender) do
      begin
        OnDblClick := Memo1DblClick;

        showmessage('1');
        OnClick := nil;
      end;
    2:
      with TMemo(ASender) do
      begin
        OnDblClick := nil;
        showmessage('2');
        OnClick := Memo1Click;
      end;
  end;
end;
и у меня вопрос: "Memo1DblClick" - какого типа? просто мне его нужно передать в процедуру.
Какой правильный ситнтаксис - "OnDblClick := TMemo(ASender)DblClick;" - как-то не очень. Вечно я в этом торможу...

Последний раз редактировалось Stilet; 18.11.2015 в 17:42.
KBO вне форума Ответить с цитированием
Старый 18.11.2015, 17:42   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Memo1DblClick" - какого типа?
TNotifyEvent
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.11.2015, 18:02   #18
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

А вот насчет синтаксиса (на будущее), можно в "Memo1DblClick", часть "Мемo1" - привратить в переменную? Чтобы ее менять можно было? И если можно, то как это будет выглядеть? (тогда мне и третьего параметра в процедуре, не нужно будет передавать)

Последний раз редактировалось KBO; 18.11.2015 в 18:05.
KBO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработка числовых последовательностей и последовательная обработка символов Renat(kai) Помощь студентам 3 28.03.2012 23:22
Обработка нажатия динамической кнопки Mr_freeman PHP 10 28.11.2011 23:45
Обработка события нажатия кнопки masm Microsoft Office Access 6 22.08.2011 11:21
Обработка нажатия кнопки на форме myprog Microsoft Office Access 8 17.12.2010 22:37
Обработка сообщения отжатия левой кнопки мыши на компоненте TrackBar CyberJohn Общие вопросы Delphi 5 08.02.2009 12:34