Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему срабатывает StringGrid.onclick? 
V
    Опции темы
Lunatikus
Дата 20.2.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: нет
Всего: 6



Здравствуйте!
Возникла непонятная ситуация,надеюсь на вашу помощь:
на одной странице tabcontrol расположен stringgrid.Когда происходит событие tabcontrol.onchange почему-то срабатывает событие onclick StringGrid'a!почему???и как запретить это событие так,чтобы срабатывало, только когда действительно мышкой щелкаешь по stringgrid'у?



--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Rodman
Дата 20.2.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



а ты в события каждого компонента смотрел? может у тебя и там и там одна функция-обработчик?!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Lunatikus
Дата 20.2.2008, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: нет
Всего: 6



Разные:
в обработке tabcontrol.onchange описано,что и как надо отобразить на странице,в том числе, и рисование StringGrid.
А в stringgrid.onclick другие действия ,которые срабатывают когда не надо,т.е. при нажатии на страницу tabcontrol

Добавлено @ 14:22
причем, действия,записанные в onclick'е срабатывают при выполнении следующей части функции tabcontrol.onchange:
Код

with DF do
    begin
    i:=0;
    if ADOQ14_1.Active then ADOQ14_1.Close;ADOQ14_1.SQL.Clear;
    ADOQ14_1.SQL.Text:='SELECT data,code,auto FROM '+auto[NomSelectFilial]+' ORDER BY data';
    ADOQ14_1.open;
    SG.RowCount:=ADOQ14_1.RecordCount;
    while not ADOQ14_1.Eof do
      begin
      if ADOQ14_1.Fields[0].AsString=formatdatetime('dd.mm.yyyy',now()) then begin SG.Row:=i+46;SG.Row:=i;end;
      SG.Cells[0,i]:=ADOQ14_1.Fields[0].AsString;
      if ADOQ14_1.Fieldbyname('auto').Asstring='1' then SG.Cells[1,i]:='М';
      if ADOQ14_1.Fieldbyname('code').AsInteger=2 then SG.cells[2,i]:='2';
      if ADOQ14_1.Fieldbyname('code').AsInteger=1 then SG.Cells[2,i]:='1';
      i:=i+1;
      ADOQ14_1.Next;
      end;
    end;


Это сообщение отредактировал(а) Lunatikus - 20.2.2008, 14:23


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
Lunatikus
Дата 20.2.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 503
Регистрация: 29.6.2007

Репутация: нет
Всего: 6



более того,инициирующий код сузился до размеров:
Код

while not ADOQ14_1.Eof do
      begin
      if ADOQ14_1.Fields[0].AsString=formatdatetime('dd.mm.yyyy',now()) then begin SG.Row:=i+46;SG.Row:=i;end;
      SG.Cells[0,i]:=ADOQ14_1.Fields[0].AsString;
      if ADOQ14_1.Fieldbyname('auto').Asstring='1' then SG.Cells[1,i]:='М';
      if ADOQ14_1.Fieldbyname('code').AsInteger=2 then SG.cells[2,i]:='2';
      if ADOQ14_1.Fieldbyname('code').AsInteger=1 then SG.Cells[2,i]:='1';
      i:=i+1;
      ADOQ14_1.Next;
      end;

в конце цикла происходит срабатывание события onclick

Добавлено через 8 минут и 7 секунд
опа,оказывается установка значения StringGrid.row и вызывает событие onclick...


--------------------
TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games).
сайт гильдии
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.