Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Найти номер строки в dbGrid по клику  (Прочитано 21704 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eugrita
Помогающий

ru
Offline Offline

« : 03-12-2014 23:26 » 

Эта тема старая. В Delphi решается вроде так
Код:
void __fastcall TfMain::dbgCellClick(TColumn *Column)
{
 i:=TStringGrid(dbg).Row;
В Builder попытка исправления этого кода с учетом синтаксиса С++
Код:
void __fastcall TfMain::dbgCellClick(TColumn *Column)
{
TStringGrid * sg=dynamic_cast< TStringGrid *> (dbg);
 int i=sg->Row;
...
на это  компилятор отвечает что не может преобразовать TDbGrid * в TStringGrid *
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 04-12-2014 05:05 » 

значит, не может. И его можно понять.

попробуй что-то вроде

TStringGrid(dbg).Row()

или метод вроде
dbg.GetSelection()
Записан

zubr
Гость
« Ответ #2 : 04-12-2014 06:13 » 

Имхо, правильнее было бы:
1. Получаем экранные координаты курсора GetCursorPos
2. Выполняем метод MouseCoord класса TCustomGrid, который является родителем для TDBGrid. TGridCoord::y - это и будет номер строки.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines