Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.12.2007, 16:11
Scooter Scooter вне форума
Прохожий
 
Регистрация: 02.07.2007
Сообщения: 18
Репутация: 10
Вопрос Проблемма с TStringGrid

Здраствуйте помогите решить такую проблемку. Есть StringGrid из 3 колонок и 20 строк... Свойство goRowSelect стоит в True...

Проблема вот в чем, если кликать левой кнопкой мыши по этому гриду то выделяеться определённая строка как и надо, можно без проблем узнать номер строки и чтото с ней сделать... А если нажать на Grid правой кнопкой мыши то строка не выделяеться... Как заставить правую кнопку на гриде работать также, как работает левая, или как выделить эту строку программно, которая лежит под курсором через правую кнопку??? Помогите пожалуста уже всю голову себе изломал...
Ответить с цитированием
  #2  
Старый 26.12.2007, 16:26
Scooter Scooter вне форума
Прохожий
 
Регистрация: 02.07.2007
Сообщения: 18
Репутация: 10
По умолчанию

Частично решил проблемку:
Код:
procedure TFReklam.StringGrid1ContextPopup(Sender: TObject;
  MousePos: TPoint; var Handled: Boolean);
  Var
  Row,Col:integer;
begin
(Sender as TStringGrid).MouseToCell(MousePos.X,MousePos.Y,Col,Row);
end;
Но как теперь выделить нужную строку самому зная номер строки непойму... Помагите пожалуста господа програмисты

Используй теги!!!!
Ответить с цитированием
  #3  
Старый 27.12.2007, 07:22
Scooter Scooter вне форума
Прохожий
 
Регистрация: 02.07.2007
Сообщения: 18
Репутация: 10
По умолчанию

Извиняюсь, постоянно забываю про теги... Ну так что никто не подскажет по теме?
Ответить с цитированием
  #4  
Старый 27.12.2007, 19:24
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Код:
procedure SetGridFocus(SGrid: TStringGrid; r, c: integer);
var
  SRect: TGridRect;
begin
  with SGrid do
  begin
    SetFocus; {Передаем фокус сетке}
    Row := r; {Устанавливаем Row/Col}
    Col := c;
    SRect.Top := r; {Определяем выбранную область}
    SRect.Left := c;
    SRect.Bottom := r;
    SRect.Right := c;
    Selection := SRect; {Устанавливаем выбор}
  end;
end;

Использование:
Код:
SetGridFocus(StringGrid1, 10, 2);
Ответить с цитированием
  #5  
Старый 28.12.2007, 08:13
Scooter Scooter вне форума
Прохожий
 
Регистрация: 02.07.2007
Сообщения: 18
Репутация: 10
По умолчанию

~ SaM ~ +1 ... Спасибо за помощь еще не пробовал но вижу что все должно заработать .... Большое тебе человеческое спасибо
Ответить с цитированием
  #6  
Старый 28.12.2007, 08:39
Scooter Scooter вне форума
Прохожий
 
Регистрация: 02.07.2007
Сообщения: 18
Репутация: 10
Хорошо

Работает !!!
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:02.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter