![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 1 Всего: 5 |
Мне нужно чтобы при клике правой кнопки мыши по ячейке StringGrida она становилась селектированной
Когда то давно задавал такой вопрос по ListBox и мне правильно ответили :
А возможно ли сделать также просто для StringGrida ? |
|||
|
||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: нет Всего: 27 |
А инфа в гриде откуда грузится?
Это сообщение отредактировал(а) Staruha - 25.9.2008, 10:13 -------------------- Возмездие настигнет |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 1 Всего: 5 |
Из БД
А разве это имеет значение? |
|||
|
||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: нет Всего: 27 |
-------------------- Возмездие настигнет |
|||
|
||||
| Poseidon |
|
||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Staruha, ты не правильно поняла. StringGrid - это компонент отображения. Обратно, источнику данных, он ничего не отсылает (конечно, если его об этом специально не попросить)
Вот что пришло сразу на ум...
Это сообщение отредактировал(а) Poseidon - 25.9.2008, 13:46 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||
|
|||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: нет Всего: 27 |
Poseidon Теперь вижу что все правильно поняла.
Не понимаю только для чего столько усилий-что б ячейку выделить? Или все таки нужно потом какие то данные получить? -------------------- Возмездие настигнет |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 1 Всего: 5 |
Мне нужно чтобы при щелчке правой кнопки мыши я знал столбец Stringrida и селектировал быэту ячейку одновременно бы например на 3 столбце возникало PopupMenu1 а на 4 PopupMenu2
А то придется сначала левой кнопкой селектировать ячейку а потом правой вызывать popupmenu Это сообщение отредактировал(а) SlaUr - 25.9.2008, 14:45 |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Мне на ум только одно приходит: связать PopupMenu, и что бы в зависемости от ячейки выводились разные менюшки. В таком случае выделение ячейки по правому клику будет правдано.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 1 Всего: 5 |
Poseidon, вариант не подходит потому что столбцы разные по ширине
Это сообщение отредактировал(а) SlaUr - 25.9.2008, 14:48 |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
На сколько я помню, в СтрингГриде разные по ширене колонки можно сделать только руками, т.е. во время выполнения программы. И это никак не отловишь и даже не узнаешь новый размер. Может быть я ошибаюсь, т.к. давно не пользовался СтрингГридами. Их мне заменил VirtualStringTree.
Это сообщение отредактировал(а) Poseidon - 25.9.2008, 14:56 -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: нет Всего: 27 |
Попробуй определить по типу данных или по байтам - чем то столбцы должны отличаться
-------------------- Возмездие настигнет |
|||
|
||||
| SlaUr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 1 Всего: 5 |
Колонку я научился селектировать а вот со строкой что-то не выходит.
И PopupMenu тоже возникает ;Осталось селектировать верную строку,пока не могу Добавлено @ 15:44
Form1.StringGrid3.ColWidths[0] указывает ширину столбца (0) Это сообщение отредактировал(а) SlaUr - 25.9.2008, 15:47 |
||||
|
|||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: нет Всего: 27 |
А ты посмотри у Poseidonа код там же есть Left ,Top
(Я надеюсь ты не сердишься -я так учусь тоже) -------------------- Возмездие настигнет |
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 1 Всего: 5 |
Все оказалось намного проще
И все работает p.s. Я кстати задавал вопрос как узнать что кликнули по шапке так вот с помощью это процедуры можно тоже об этом узнать (MouseToCell) Это сообщение отредактировал(а) SlaUr - 25.9.2008, 16:17 |
|||
|
||||
| черная |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 17.2.2009 Репутация: нет Всего: нет |
А у меня такой вопрос: есть StringGrid, есть контекстное меню в котором пункты создаются программно при активации формы из БД (кэпшн у них соответсвенно значения из БД). По клику на пункте меню в селектированной ячейке StringGrid появляется кэпшн пункта меню. Так вот среди этих пунктов меню есть с кэпшном "8" и "7.12". В БД они символьного типа. А когда они попадают в ячейку StringGrid, перед ними появляется еще и "&". Почему это происходит и как от этого избавиться?
Это сообщение отредактировал(а) черная - 23.4.2009, 16:00 |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: нет Всего: 17 |
БД небось на фокспро а строка макс 4 символа?
Короче при прописании пунктов контекстного меню, обрабатывай кэпшан trim-ом P.S.один топ один вопрос -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| черная |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 17.2.2009 Репутация: нет Всего: нет |
БД в интербэйсе. А макс количество символов действительно 4. Я пробовала тримом - не помогает. Пробовала даже так (x и y на событие SelectCell получают номера столбца и строки ячейки):
и вот так:
Не помогает!!! |
||||
|
|||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: нет Всего: 17 |
ну тогда делай так
Ну а по делу, незнаю как в интербейс а в фокспро к примеру строка из 10 символов, ввел три символа, к этим трем еще 7 пробелов припишется. В интербейсе видать тоже что-то подобное, но не думаю что с таким символом '&' быть может там с кодировкой траблы какие? А вообще зачем строка если работаешь с вещественными числами Добавлено @ 16:07 в s1 будет строка без '&' Добавлено @ 16:14 или вот еще if (Sender as TMenuItem).Caption='8' then StringGrid1.Cells[x,y]:=trim(stringreplace(s,'&',' ',[rfreplaceall])); Это сообщение отредактировал(а) Palladin - 24.4.2009, 16:17 -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| черная |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 17.2.2009 Репутация: нет Всего: нет |
Дык в кэпшне меню то оно нормально пишется. А в ячейку уже с вот этой фигней вставляется. А строка потому что там не только эти числа есть, а есть еще и буквы разные. Буквы кстати нормально вставляются
А вот щас последний вариант попробую... Добавлено через 8 минут и 2 секунды Что-то он на меня ругается... Говорит: Incompatible types: Integer and Enumeration Добавлено через 12 минут и 39 секунд Я вобще надеюсь правильно поняла, что s в данном случае - кэпшн пункта меню? Это сообщение отредактировал(а) черная - 24.4.2009, 16:20 |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: нет Всего: 17 |
Попробуйте в ячейку стринггрида втсавить пробел, если вместо пробела придет '&' значит у вас пробелмы с кодировкой, либо в стринггриде либо еще где
Добавлено через 1 минуту и 56 секунд stringreplace(где ищем,что ищем,на что заменяем,[флаг, в моем случае смотреть всю строку]); -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| черная |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 17.2.2009 Репутация: нет Всего: нет |
Спасибо огромное!!!
Написала так:
Помогло!!! |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: нет Всего: 17 |
Это не решение это обход, по всей видимости действительно либо замарочи интербейс какие-то либо одно из двух
-------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| Kos9k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 12.5.2009 Репутация: нет Всего: нет |
О обитатели форума помогите мне с этим:
Мне надо сделать примерно так: щёлкая правой кнопкой мыши по строке в StringGrid вызвать контекстное меню http://myphoto.nnov.ru/a87d09ba571418d22104f69396f274fc.html корое будет осуществлять переход к другой форме и сразу находить запись по номеру http://myphoto.nnov.ru/3ae905c2c11190ffc60f7cddb0fee1d0.html для тех кто захочет помоч, прилогаю прогу http://rapidshare.com/files/232094100/__10..._1072_.rar.html и http://ifolder.ru/12076806 Это сообщение отредактировал(а) Kos9k - 12.5.2009, 16:34 |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Кстати, файлы до 1 мб можно прикреплять к сообщению. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |