Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
Borland C/C++
(Модераторы:
nikedeforest
,
Вад
) > Тема:
Вопрос про StringGrid
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Вопрос про StringGrid (Прочитано 14362 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alex87
Постоялец
Offline
Пол:
Вопрос про StringGrid
«
:
27-05-2010 06:29 »
Есть StringGrid у него стоит Option->goRowSelect по умолчанию синим цветом подсвечивается
При закрашивании ячеек в StringGrid это самое подсвечивание пропадает остается только контур на той ячейке на которой стоит курсор. Вопрос, как вернуть обратно подсвечивание?
в onDrawCell:
Код:
if (ARow != 0)
{
if (CheckBox5->Checked == true)
{
if ( StringGrid1->Cells[4][ARow] == "Emergency")
{
StringGrid1->Canvas->Brush->Color = StringToColor(Colors_mes->color1);
StringGrid1->Canvas->Font->Color = StringToColor(Colors_mes->text1);
}
//...............
}
int y=Rect.top+(Rect.Height()-StringGrid1->Canvas->TextHeight(StringGrid1->Cells[ACol][ARow]))/2;
StringGrid1->Canvas->FillRect(Rect);
StringGrid1->Canvas->TextOutA(Rect.Left+2, y, StringGrid1->Cells[ACol][ARow]);
}
После закраски и пропадает... =(
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Вопрос про StringGrid
«
Ответ #1 :
27-05-2010 07:11 »
борланд не ведаю, но а есть ли что нибудь вроде
StringGrid1->Canvas->SetBkMode(TRANSPARENT)
?
это сделает фон шрифта прозрачным.
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
RXL
Технический
Администратор
Offline
Пол:
Re: Вопрос про StringGrid
«
Ответ #2 :
27-05-2010 07:22 »
Это две разные вещи - курсор и выделение.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
alex87
Постоялец
Offline
Пол:
Re: Вопрос про StringGrid
«
Ответ #3 :
27-05-2010 07:44 »
Цитата: Алексей1153++ от 27-05-2010 07:11
борланд не ведаю, но а есть ли что нибудь вроде
StringGrid1->Canvas->SetBkMode(TRANSPARENT)
?
это сделает фон шрифта прозрачным.
неа, нету такого=(
Цитата: RXL от 27-05-2010 07:22
Это две разные вещи - курсор и выделение.
ну когда передвигаешь что? выделение что ли.. По мне курсор, как в Екселе там же курсор который подсвечивает ту ячейку на которой стоит.
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: Вопрос про StringGrid
«
Ответ #4 :
27-05-2010 07:57 »
Когда перемещаешь курсор стрелками, то и выделение перемещается. Однако если скролировать колесом, то перемещается курсор, а выделение остается на месте. Так сделано в BCB...
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
alex87
Постоялец
Offline
Пол:
Re: Вопрос про StringGrid
«
Ответ #5 :
27-05-2010 08:43 »
Есть еще предложения?
пробовал в событии onSeleckSell
Код:
StringGrid1->Canvas->Brush->Color = clBlue;
и просто
Код:
StringGrid1->Brush->Color = clBlue;
не выходит
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Вопрос про StringGrid
«
Ответ #6 :
27-05-2010 08:48 »
alex87
, я шота не пойму. Ты ячейку закрашиваешь ? Закрашиваешь
StringGrid1->Canvas->FillRect(Rect);
Текст выводишь ? Ага
StringGrid1->Canvas->TextOutA(Rect.Left+2, y, StringGrid1->Cells[ACol][ARow]);
что при этом произойдёт ?
PS либо я что-то не понимаю...
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
zubr
Гость
Re: Вопрос про StringGrid
«
Ответ #7 :
27-05-2010 09:06 »
alex87
, так в чем проблема. Там же в обработчике onDrawCell для выделенных ячеек устанавливай синий цвет у канваса, используя свойство Row:
Код:
if(StringGrid1->Row == ARow)
StringGrid1->Canvas->Brush->Color = clBlue;
else
StringGrid1->Canvas->Brush->Color = clRed;
Записан
alex87
Постоялец
Offline
Пол:
Re: Вопрос про StringGrid
«
Ответ #8 :
28-05-2010 01:01 »
Цитата: zubr от 27-05-2010 09:06
alex87
, так в чем проблема. Там же в обработчике onDrawCell для выделенных ячеек устанавливай синий цвет у канваса, используя свойство Row:
Код:
if(StringGrid1->Row == ARow)
StringGrid1->Canvas->Brush->Color = clBlue;
else
StringGrid1->Canvas->Brush->Color = clRed;
о, точно. Спасибо огромное!
Записан
alex87
Постоялец
Offline
Пол:
Re: Вопрос про StringGrid
«
Ответ #9 :
28-05-2010 01:05 »
Цитата: Алексей1153++ от 27-05-2010 08:48
alex87
, я шота не пойму. Ты ячейку закрашиваешь ? Закрашиваешь
StringGrid1->Canvas->FillRect(Rect);
Текст выводишь ? Ага
StringGrid1->Canvas->TextOutA(Rect.Left+2, y, StringGrid1->Cells[ACol][ARow]);
что при этом произойдёт ?
PS либо я что-то не понимаю...
не ячейку а полностью строку в которой значение определенного столбца совпадает с заданным.
Происходит закрашивание строки, но при этом пропадает подсвечивание выбранной ячейки.
Комрад zubr, меня понял меня, ему спасибо огромное.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
Borland C/C++
(Модераторы:
nikedeforest
,
Вад
) > Тема:
Вопрос про StringGrid
Загружается...