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

Динамическое событие onDrawCell у StringGrid

02.04.2010, 21:29. Показов 5692. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я создал динамический StringGrid. Теперь хочу ему сделать событие OnDrawCell. Функцию с нужными параметрами создал, но при компиляции вылетает ошибка. Аналогичным образом я создал событие OnDblClick и оно работает.
C++
1
2
3
4
5
6
// созданная функция
void __fastcall TStep2::DgridDrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State)
{
   AC= ACol;
   AR= ARow;
}
C++
1
2
3
4
5
6
7
void __fastcall TStep2::Button1Click(TObject *Sender)
{
TStringGrid *Dgrid[9];
Dgrid[i]=new TStringGrid(this);
Dgrid[i]->Parent= this;
Dgrid[i]->OnDrawCell =DgridDrawCell;
}
при попытке компиляции выдает ошибку указивая на Dgrid[i]->OnDrawCell =DgridDrawCell;
: [BCC32 Error] Step2U.cpp(54): E2034 Cannot convert 'void (_fastcall * (_closure )(TObject *,int,int,TRect &,TGridDrawState))(TObject *,int,int,TRect &,TGridDrawState)' to 'TDrawCellEvent'

Добавлено через 7 часов 23 минуты

Добавлено через 1 минуту
народ хелп
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2010, 21:29
Ответы с готовыми решениями:

Событие OnDrawCell
Доброго времени суток ! Помогите мне вызвать событие OnDrawCell компонента StringGrid. В общем должно выйти так: procedure...

Не вызывается OnDrawCell в StringGrid
Всем Доброго Времени Суток! В начале проекта я написал обработчик события OnDrawCell и он работал. Потом я решил его закомментить, что бы...

Сохранение значения переменной в событии OnDrawCell на объекте StringGrid
Как в событии OnDrawCell на объекте StringGrid можно сохранить переменную? к примеру кусок кода: procedure...

3
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
02.04.2010, 22:06
DGrid у тебя - TStringGrid, а последний ничего не знает о введенной тобой (уже в производном классе TStep2) функции DGridDrawCell
Наверное, надо обьявить TStep2 *DGrid[9];
Но тогда иназначение функции не требуется, просто в обработчике OnDblClick для TStep2
вызвать DGridDrawCell.
Если я правильно тебя понял.
Сам в Бюлдере недавно.
А может быть событию OnDrawCell нельзя присваивать эту функцию ?
ЗЫ. Тут мы с тобой как 2 чукчи в самолете. Подождем, пока проспится пилот.
2
4 / 4 / 1
Регистрация: 10.03.2010
Сообщений: 35
03.04.2010, 21:01  [ТС]
StringGrid *Dgrid[9]; я оставил так же, так как при TStep2 *DGrid[9]; вылетала ошибка мол не может конвертировать из TStep2 в стринг грид. Единственное Dgrid[i]->OnDrawCell =DgridDrawCell; я поменял на Dgrid[i]->OnDrawCell; А событию OnDrawCell в делфи я присваивал эту функцию, по логике должно и тут.
Вопрос теперь в другом Как это сделать?)

Добавлено через 11 минут
вот собственно код делфийского происхождения :
Delphi
1
2
3
4
5
6
7
procedure Tmedit.DgridDraw(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
  State: TGridDrawState);
var i:integer;
begin
            AC:=ACol;
            AR:=ARow;
end;
Delphi
1
2
3
4
5
6
7
function TStep1.kriteriy(c: Integer): Integer;
var
  i: Integer;
begin
Dgrid[i] := TStringGrid.Create(Application);
Dgrid[i].OnDrawCell := medit.DgridDraw;
end;
Добавлено через 21 час 23 минуты
Cвою проблему решил... вместо OnDrawCell вызвал OnSelectCell. С дравом я хз че делать.. Тему можно прикрыть.
0
5 / 5 / 2
Регистрация: 21.12.2015
Сообщений: 14
21.12.2015, 10:20
Вот описание этого бага и решение проблемы:
http://qc.embarcadero.com/wc/qcmain.aspx?d=57585
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.12.2015, 10:20
Помогаю со студенческими работами здесь

Динамическое создание StringGrid
Привет всем! Помогите решить такую задачу. Имеется один ComboBox, нужно чтобы при выборе к примеру первой записи создалась таблица...

Динамическое создание StringGrid
Всем привет! Я создаю Stringgrid динамически. Создалось. Хочу написать проверку вводимых символов на ячейки матрицы. Но выдает ошибку...

Stringgrid: динамическое обновление записей
Люди помогите! Есть Stringgrid и форма для добавления записей в нее. Все данные записываются по коду товара. Надо сделать так чтобы при...

StringGrid динамическое суммирование ячеек
Доброго времени суток. Описание: есть StringGrid, колонка "сумма"(заполняется пользователем). Ячейка "Всего" реагирует на...

Динамическое удаление строк из StringGrid
Добрый день. подскажите как можно удалить сразу несколько выделенных строк в stringrid. Одну строку удаляю ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru