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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2016, 20:04   #1
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию Обработка кнопок на StringGrid

Создаю на гриде кнопки:
Код:
 for i := 1 to 4 do
    with TBitBtn.Create(StringGrid1) do
    begin
      Caption := st[i];
      Parent := StringGrid1;
      BoundsRect := StringGrid1.CellRect(i, 0);
      Tag := i;
      Name := 'btSG' + IntToStr(i);
      OnMouseUp := btSGMouseUp;
      OnClick:=btSGClick;
    end;
Обработчик btSGMouseUp работает, btSGClick никак не хочет.
Надо обрабатывать каждую кнопку отдельным кодом, пытаюсь различать кнопки через Tag, но ничего не получается, где я туплю?
Код:
procedure TfmMain.btSGMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  case Tag of
    1:
      begin
       ShowMessage('1'); //Не работает
      end;
    2:
     begin
       ShowMessage('2'); //Не работает
     end;
    3:
        begin
           ShowMessage('3'); //Не работает
        end;
    4:
         begin
            ShowMessage('4'); //Не работает
         end;
  end;
   ShowMessage('x'); //Работает только это
end;
Код:
procedure TfmMain.btSGClick(Sender: TObject);
begin
  ShowMessage('x'); //Не работает вообще
end;

Последний раз редактировалось Replicant; 15.10.2016 в 20:09.
Replicant вне форума Ответить с цитированием
Старый 15.10.2016, 20:09   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
case Tag of
А tag то от формы, а не кнопки. А звезд для чего наставил?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.10.2016, 20:10   #3
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А tag то от формы, а не кнопки. А звезд для чего наставил?
Как правильно кнопки вписать, их то 4? Не получается, туплю где-то. Звездочки не ставил, глюк...
Replicant вне форума Ответить с цитированием
Старый 15.10.2016, 20:12   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

TBitBtn(Sender).Tag
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.10.2016, 20:15   #5
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
TBitBtn(Sender).Tag
Да, спасибо, работает.
А почему не пашет обычное нажатие, только через обработку мыши?
По идее туда вообще просто процедуру любую можно прилепить, но нет, не работает.
Replicant вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel to StringGrid and StringGrid to Exel Євгеній Бєлік Общие вопросы Delphi 3 24.11.2013 00:20
Мерцание кнопок внутри StringGrid mikhea Общие вопросы Delphi 12 20.10.2012 15:08
Массив кнопок Neorlin C# (си шарп) 5 18.04.2011 17:51
stringgrid+колесо мыши=>stringgrid.onclick aalleexxaa Общие вопросы Delphi 5 16.02.2011 16:58
18 кнопок Xcopy Общие вопросы Delphi 9 11.03.2010 20:56