Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
2 / 2 / 1
Регистрация: 16.06.2013
Сообщений: 33

StringGrid и события OnMouseWheelUp и OnMouseWheelDown

26.09.2013, 22:09. Показов 2283. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться.
Почему когда кидаю StringGrid на форму и создаю события

C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::StringGrid1MouseWheelDown(TObject *Sender,
      TShiftState Shift, TPoint &MousePos, bool &Handled)
{
   ShowMessage("down");
}
 
void __fastcall TForm1::StringGrid1MouseWheelUp(TObject *Sender,
      TShiftState Shift, TPoint &MousePos, bool &Handled)
{
  ShowMessage("up");
}
Обработчик работает нормально.
Но если создаю динамически, то не работает.

//---------------------------------------------------------------------------

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
TStringGrid *StringGrid1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::StringGrid1MouseWheelDown(TObject *Sender,
      TShiftState Shift, TPoint &MousePos, bool &Handled)
{
   ShowMessage("down");
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::StringGrid1MouseWheelUp(TObject *Sender,
      TShiftState Shift, TPoint &MousePos, bool &Handled)
{
  ShowMessage("up");
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    StringGrid1 = new TStringGrid(this);
    StringGrid1->Parent= Form1;
    StringGrid1->RowCount=100;
    StringGrid1->Width=1000;
    StringGrid1->Height=500;
    StringGrid1->OnClick=StringGrid1Click;
    StringGrid1->OnMouseWheelDown=StringGrid1MouseWheelDown;
    StringGrid1->OnMouseWheelUp=StringGrid1MouseWheelUp;
}
 
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1Click(TObject *Sender)
{
ShowMessage("Click");        
}
//-
--------------------------------------------------------------------------


Ошибки
[C++ Error] Unit1.cpp(43): E2034 Cannot convert 'void (_fastcall * (_closure )(TObject *,TShiftState,TPoint &,bool &))(TObject *,TShiftState,TPoint &,bool &)' to 'void (_fastcall * (_closure )(TObject *,TShiftState,const TPoint &,bool &))(TObject *,TShiftState,const TPoint &,bool &)'
[C++ Error] Unit1.cpp(44): E2034 Cannot convert 'void (_fastcall * (_closure )(TObject *,TShiftState,TPoint &,bool &))(TObject *,TShiftState,TPoint &,bool &)' to 'void (_fastcall * (_closure )(TObject *,TShiftState,const TPoint &,bool &))(TObject *,TShiftState,const TPoint &,bool &)'
Но событие OnClick, сделанное по аналогии работает.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.09.2013, 22:09
Ответы с готовыми решениями:

События StringGrid
procedure TForm1.TableKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin // end; Выдает ошибки : 'Word' is not a...

События Скроллбара на StringGrid
Итак, к-во строк превысило высоту и появляется ... ScrollBar! Подскажите, плз 1) как повесить обработчик на событие OnScroll - в...

Fixed Row в StringGrid и события
День добрый. Прошу помочь. Есть StringGrid, у которого закреплен первый ряд. В обычгый условиях данный ряд не активен, т.е. на...

2
12 / 12 / 4
Регистрация: 07.09.2012
Сообщений: 542
26.09.2013, 22:14
Прочитай свою ошибку и в функции попробуй поменять TPoint & на const TPoint & вобщем попробуй исправить функции по коду ошибки
1
2 / 2 / 1
Регистрация: 16.06.2013
Сообщений: 33
26.09.2013, 23:01  [ТС]
Цитата Сообщение от klynxe Посмотреть сообщение
Прочитай свою ошибку и в функции попробуй поменять TPoint & на const TPoint & вобщем попробуй исправить функции по коду ошибки
как все в итоге просто оказалось )) благодарю)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.09.2013, 23:01
Помогаю со студенческими работами здесь

Как для TPanel задать событие OnMouseWheelUp, можно ли это сделать?
У scrollbox и у формы есть уже эти события, как их сделать еще для панелей?

Обработчик события изменения ширины колонок StringGrid
Доброго всем дня! Вопрос собственно вытекает из названия темы. Как я понял стандартного event-а у StringGrida нет. Как можно реализовать...

Ошибка при назначении события, динамически созданному StringGrid
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids,...

Перехват события нажатия кнопок вверх/вниз в StringGrid
Как осуществить перехват нажатия кнопок вверх, вниз, вправо, влево ну и заодно кнопки НамЛока? Нужно отследить это событие, но не по...

Delphi 7 Stringgrid Нужно сделать цикл для заполнения Stringgrid данными из другого Stringgrid
Нужно чтобы из Stringgrid1 данные переносились в Stringgrid2 Но ТОЛЬКО ПО УСЛОВИЮ Таблицы Stringgrid2 На рис всё показано. За работающий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru