Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Цвет в StringGrid [D5, Win95/98]


Schummi ©   (2002-04-02 07:44:00) 

Мастера, доброе время суток! Скажите, как в TStringGrid изменить цвет выделения? Спасибо!


panov   (2002-04-04 09:45:00) [1]

>Schummi © (04.04.02 07:51)
OFFTOPIC


MBo   (2002-04-04 09:05:00) [2]

Tcolor=Integer
байты со старшего
вспомогательный B G R
т.е. $00FF00FF - синий и красный без зеленого
используй функцию RGB

Selection менял?
DrawCell рисовал?


Schummi   (2002-04-04 08:38:00) [3]

2MBo А как ты так узнаешь цвета? А, например, светло-светло-розовый?
Так как там убрать выделение? Что-то у мя не получается!


MBo   (2002-04-04 08:13:00) [4]

const clVeryLightGreen=$00C0FFC0;


Schummi   (2002-04-04 07:51:00) [5]

Да, пасиба. Теперь тогда такой вопрос: как определять свои цвета в Delphi? Допустим надо нарисовать выделение в TStringGrid не одним из имеющихся цветов, а например, светло-светло-зелёным.


Johnmen   (2002-04-03 10:25:00) [6]

>ilysha © : With влияет на компактность скомпиленного кода и на быстродействие...хотя точно сказать, насколько быстрее - проблематично...


Anatoly Podgoretsky   (2002-04-03 10:15:00) [7]

Song © (03.04.02 08:37)
Я думаю это борланд стиль, тип + номер

Schummi + Grid + 1 = sg1

Song © (03.04.02 08:49)
Хотя это дело вкуса, но первая конструкция воспринимается тяжелее, надо напрягаться что бы понять к чему относится SelStart, Text - конечно речь не об этом простом случае, а о более сложном, а сколько при этом бывает ошибок, особенно в извращенных садомазохистких случаях

With a,b,c или with a with b with c

Вторая конструкция не оставляет пути для неверной интерпритации, как человеком, так и компилятором.
А вот первую форму применяю в особых случаях для работы с анонимными объектами.

with TFormX.Create(Self) do
try
ShowModal;
finally
Free;
end;


ilysha   (2002-04-03 09:46:00) [8]

Конечно, это не по теме вопроса, но Song прав - хотя на скорость выполнения вид
> With Edit1 Do SelStart:=Length(Text);
или
> Edit1.SelStart:=Length(Edit1.Text);
не влияют, но логигу программы лучше понимать в первом случае. В конце-концов, не зря же придумали конструкцию with.
Но всё это так...


Song   (2002-04-03 08:49:00) [9]

2MBo © (03.04.02 08:45)
Не знаю, мне кажется наоборот, что с With лучше.
А хотя, наверно это всё идёт из-за лени.. С With писать меньше :))
Извиняюсь за offtopic, но все-равно, мне нравится, ИМХО так:
With Edit1 Do SelStart:=Length(Text);
чем
Edit1.SelStart:=Length(Edit1.Text);


MBo   (2002-04-03 08:45:00) [10]

да я всегда для себя так делаю, чтобы поменьше писать, а
with затрудняет восприятие ;)


Song   (2002-04-03 08:37:00) [11]

2MBo © (03.04.02 06:05)
Вы спецом назвали грид Sg1 чтобы он разбирался подольше? :))


MBo   (2002-04-03 06:05:00) [12]

procedure TForm1.sg1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if gdSelected in State then begin
sg1.canvas.fillrect(rect);
sg1.canvas.TextOut(rect.left+2,rect.top+2,sg1.cells[acol,arow]);
end;
end;


Schummi   (2002-04-02 21:03:00) [13]

Plz, объясните, как вот
> в DrawCell рисовать самому при gdSelected


MBo   (2002-04-02 08:02:00) [14]

убрать выделение -
установить Selection в -1,-1,-1,-1

изменить цвет - в DrawCell рисовать самому при gdSelected


Schummi   (2002-04-02 07:56:00) [15]

Да, и ещё. Как при старте(запуске) программы, убрать енто самое выделение ячеек?


Наверх

Титульная страница Поиск, карта сайта Написать письмо