Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Вниз

TStringGrid   Найти похожие ветки 

 
SaperXL   (2003-01-15 23:54) [0]

Мастера, подскажите пожалуйста, как в этом компоненте сделать, чтобы не было выделения активной ячейки таблицы. Дело в том, что она всегда синяя (полностью не согласуется с дизайном...), а мне вообще говоря нужно только показывать табло из строк, без перемещений по нему... Если нельзя совсем убрать выделения, то как хотя бы сделать его только по контуру ячейки, а не закрашиванием всей ячейки?


 
ЮЮ   (2003-01-16 03:04) [1]

DefaultDraw := false и вся отрисовка в OnDrawCell


 
Юрий Зотов   (2003-01-16 06:28) [2]

Уберите goDrawFocusSelected из Options, вот и все.


 
SaperXL   (2003-01-16 13:39) [3]

в Options у меня уже давно пусто
А DefaultDraw сносит всю прорисовку: прорисовку самих строк, закрашивание фиксированной зоны... Это что же полегче нет ничего?


 
gsu   (2003-01-16 13:53) [4]

в OnDrawCell можно нарисовать почти все
полегче, попробуй установить цвет активной ячейки таким же как цвет сетки


 
SaperXL   (2003-01-16 13:55) [5]

не понял...
Что значит нарисовать все полегче?
А где установить цвет активной ячейки?


 
gsu   (2003-01-16 14:07) [6]

сорри про установку, имелась в виду перерисовка ячейки


 
Cu   (2003-01-16 14:43) [7]

бррр а по-моему помогает установка
goRangeSelect в false :-/ (in Options)


 
SaperXL   (2003-01-20 04:19) [8]

Повторяю: в Options ни одно св-во не уст. в true...


 
Юрий Зотов   (2003-01-20 06:38) [9]

Не знаю, кто тут кому пудрит, извините, мозги, но вот только что проверил и убедился, что goDrawFocusSelected прекрасненько работает - включает и выключает подсветку ячейки цветом clHighlight.

В чем, собственно, и сомнений не было. И что и было сказано с самого начала. И если у Вас Options действительно пусто, то проблема непонятна.


 
MBo   (2003-01-20 06:48) [10]

procedure TForm1.StringGrid1Exit(Sender: TObject);
begin
StringGrid1.Selection:=TGridRect(Rect(-1,-1,-1,-1));
end;

И при необходимости CanSelect:=False в OnSelectCell


 
ЮЮ   (2003-01-20 06:57) [11]

TCustomGrid.Paint

if DefaultDrawing or (csDesigning in ComponentState) then
with Canvas do
begin
Font := Self.Font;
if (gdSelected in DrawState) and
(not (gdFocused in DrawState) or
([goDrawFocusSelected, goRowSelect] * Options <> [])) then
begin
Brush.Color := clHighlight;
Font.Color := clHighlightText;

end
else
Brush.Color := Color;
FillRect(Where);
end;
DrawCell(CurCol, CurRow, Where, DrawState);


Поэтому никак ты не избавишься от синего квадрата, пока не установишь DefaultDrawing в False

>А DefaultDraw сносит всю прорисовку: прорисовку самих строк, закрашивание фиксированной зоны... Это что же полегче нет ничего?

Не так уж там и много писать, зато всё в твоих руках
procedure TForm1.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with TStringGrid(Sender) do
if gdFixed in State then
DefaultDrawing := true // это пусть рисует сам
else begin
DefaultDrawing := false;
Canvas.Brush.Color := Color;
Canvas.FillRect(Rect);
if gdSelected in State then begin
Canvas.Brush.Color := clBlue;
Canvas.FrameRect(Rect);
InflateRect(Rect, -1, -1);
Canvas.Brush.Color := Color;
Canvas.TextRect(Rect, Rect.Left, Rect.Top, Cells[ACol, ARow]);
end;
end;
end;





 
ЮЮ   (2003-01-20 07:01) [12]

>Юрий Зотов © (20.01.03 06:38)
Не знаю, кто тут кому пудрит, извините, мозги, но вот только что проверил и убедился, что goDrawFocusSelected прекрасненько работает - включает и выключает подсветку ячейки цветом clHighlight.

Только когда StringGrid в фокусе. Поставь два StringGrid и всё летит ко всем чертям :-)


 
SaperXL   (2003-01-20 07:58) [13]

Ага, вопрос оказался глобальней... Простите, но мне противно писать программы на Дельфи со структурой чистых API-программ на голом C++. Мне кажется, что Дельфя для того и существует, чтобы Я этого не делал... Хотя по-другому видимо никак...
Всем спасибо.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
7-87148
maxim2
2002-11-14 12:51
2003.01.27
Подскажите у кого стоит WinME, WinNT, Win2000 и WinXP


6-87007
Troll
2002-12-01 19:58
2003.01.27
что с ВебМонием???


1-86849
Анатолий
2003-01-18 21:18
2003.01.27
Консольное приложение


14-87069
Gunzzz
2003-01-07 21:58
2003.01.27
Nero


4-87183
LazorenkoX
2002-12-11 00:32
2003.01.27
Помогите с версией файла!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский