vladman
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору svs123456789 Цитата: как проще всего русифицировать DevExpr_v45_09_07_2009 ? ini или pas ? | Смотря что вы понимаете под словом *проще*. Оба способа, как по мне, равнозначны по сложности. Добавлено: DroN_S Цитата: народ, подскажите, как отобразить иконку в cxGrid??? понятно что в событии OnCustomDrawCell... но как | Скорее всего, вы имели ввиду отображение иконки в одном из View грида, а не в самом cxGrid. Во-первых, у cxGrid нет такого обработчика, во-вторых, тяжело себе представить необходимость отображения иконки именно в cxGrid. Для отображения иконки не обязательно обрабатывать событие OnCustomDrawCell. Если речь идет о cxGridTableView, например, то достаточно свойству Properties необходимого cxGridColumn присвоить значение *ImageComboBox*, настроить его необходимые свойства (*Images*, *Items*) и у вас, в зависимости от значения будет отображаться соответствующая иконка из ImageComboBox.items. Добавлено: DroN_S Но если есть необходимостьименно в onCustomDrawCell, то можно отобразить и в обработчике onCustomDrawCell. JohnSilver182 Я бы немного подправил ваш код. procedure <YourForm>.<YourcxGridTableView>CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); begin if AViewInfo.Item = <YourcxGridTableView>ColumnForImage then begin ACanvas.Brush.Color := clWhite; ACanvas.FillRect(AViewInfo.Bounds); <YourcxImageList>.Draw(ACanvas.Canvas, AViewInfo.Bounds, 0, False, True, True); ADone := True; end; end; За ототбражение конкретной иконки отвечает третий параметр (0) - это индекс иконки в <YourcxImageList>. Изменения: - Отрисовывать иконку только для определенного столбца (<YourcxGridTableView>ColumnForImage) - Не изменять размеры иконки при изменении размеров колонки и строки Добавлено: JohnSilver182 Цитата: 2 ALL Кстати для чего нужны три первые команды ????? | ADone := true; - Признак того, что вы полностью отвечаете за прорисовку конкретной ячейки и не хотите чтобы грид перерисовывал/дорисовывал ее своими стандартными средствами. ACanvas.Brush.Color := clWhite - Установить цвет кисти в белый для заполнения этим цветом всей ячейки командой ACanvas.FillRect(AViewInfo.Bounds); |