![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перекрашенные ячейки StringGrid_a и выделение. [D7, WinXP]
Zheksik © (2008-01-17 11:41:00)При выделении, ячейки которые были перекрашены, не выделяются цветом выделения. Как сделать, чтобы выделялись все ячейки, независимо от того, были ли они предварительно перекрашены?
P.S. Вопрос, как и ответ, по идее не сложный, но пока разобраться не получилось. Если есть желающие помоч, жду варианты решения.
p.s.2 не нужно умничать, я никого не заставляю отвечать, просто спрашиваю у тех кто знает ответ и готов помоч.
MsGuns (2008-01-18 10:22:00) [1]Стрингрид иногда "капризничает", не желая перерисовывать ячейки даже при "насильном" вызове Update (в частности, этот эффект возникает при отрисовке поверх сетки других контролов: TImage,TEdit, TCombobox.. с последующим их прятанием) - в этом случае можно "дергать" его с помощью прыгания от текущей ячейки в соседнюю и обратно.
Zheksik (2008-01-17 12:29:00) [2]сдаюсь
{RASkov} (2008-01-17 12:25:00) [3]> [14] Zheksik © (17.01.08 12:23)
> а облетал, т.к. опять же имело значение state = [gdSelected..gdFocused]
"Облетал" твое условие, но никак не обработчик :) Ага)
Zheksik (2008-01-17 12:23:00) [4]{RASkov} © (17.01.08 12:20) [12]
серьёзно.
а облетал, т.к. опять же имело значениеstate = [gdSelected..gdFocused]
Zheksik (2008-01-17 12:22:00) [5]{RASkov} © (17.01.08 12:18) [9]
красота.
Спасибо.
{RASkov} (2008-01-17 12:20:00) [6]> [10] Zheksik © (17.01.08 12:18)
> да и вообще, при активации ячейки... облетаю вход в этот
> обработчик...
Вот уж не обманывай :)
{RASkov} (2008-01-17 12:19:00) [7]> И наверняка ИмеющаяФокус еще и выделенная.... проверь.
Т.е. нечто так:
if gdFocused in state then
begin
!!!!!!!!!!!!!!!!!
end;
{RASkov} (2008-01-17 12:18:00) [8]> [8] Zheksik © (17.01.08 12:15)
Выделенных может быть много, а ИмеющаяФокус - одна...
И наверняка ИмеющаяФокус еще и выделенная.... проверь.
Zheksik (2008-01-17 12:18:00) [9]да и вообще, при активации ячейки... облетаю вход в этот обработчик...
Zheksik (2008-01-17 12:15:00) [10]{RASkov} © (17.01.08 12:05) [7]
:) прочитал
странно, почему я не попадаю в процедуру:
if (state = [gdFocused]) then
begin
!!!!!!!!!!!!!!!!!
end;
при выделении в таблице?
{RASkov} (2008-01-17 12:05:00) [11]> [6] Zheksik © (17.01.08 12:01)
:)
Надеюсь про третье значение сего параметра сам в хелпе прочитаешь...:)
Zheksik (2008-01-17 12:01:00) [12]{RASkov} © (17.01.08 11:59) [5]
спасибо
{RASkov} (2008-01-17 11:59:00) [13]> [4] Zheksik © (17.01.08 11:54)
Тот же параметр, только проверяй gdFocused
Zheksik (2008-01-17 11:54:00) [14]кто-нибудь знает для чего первая ячейка остаётся не выделенной и как её выделять наравне с другими???
Zheksik (2008-01-17 11:50:00) [15]Григорьев Антон © (17.01.08 11:48) [1]
{RASkov} © (17.01.08 11:48) [2]
спасибо. Это то что нужно.
Григорьев Антон (2008-01-17 11:48:00) [16]Если уж вы перерисовываете ячейки, вы отвечаете за всё, в т.ч. и за выделение цветом при выборе. У события OnDrawCell есть параметр State - проверяйте в нём флаг gdSelected и в зависимости от этого закрашивайте ячейку обычным или выделенным цветом.
{RASkov} (2008-01-17 11:48:00) [17]> [0] Zheksik © (17.01.08 11:41)
Как и где красишь? Параметр State - учитываешь?