powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxColorCombobox не выбирает некоторые цвета
24 сообщений из 24, страница 1 из 1
TcxColorCombobox не выбирает некоторые цвета
    #39551611
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все не проверял, только несколько.
Данные хранятся в базе. И сохраняется значение нормально.
При открытии окна выполняется код:
Код: pascal
1.
ComboColor1.ColorValue := FieldByName('color').Value;



Вот эти цвета не выбираются. А другие - нормально.



Т.е. после открытия окна cxColorCombobox пишет "color not selected" и цвет не выбран:
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551627
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А первоначально эти цвета в этом же комбобоксе выбираются?
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551646
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну конечно. Они же в базу как-то сохраняются.



X11Данные хранятся в базе. И сохраняется значение нормально.
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551666
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Надо смотреть настройки контрола. Скорее всего еще что-то там не то настроено (можно сюда копи-паст сюда контрола, если так и не получится разобраться). Хотя бы отладку сделай и попробуй присвоить этому контролу напрямую 16711808, чтобы убедиться, что это не загрузка из базы виновата (присвоится -- база косячит, не присвоится -- контрол).

По умолчанию всё корректно грузится и сохраняется (выставлено лишь AllowSelectColor = True):
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
object cxColorComboBox1: TcxColorComboBox
  Left = 8
  Top = 8
  Properties.AllowSelectColor = True
  Properties.CustomColors = <>
  Properties.OnEditValueChanged = cxColorComboBox1PropertiesEditValueChanged
  TabOrder = 3
  Width = 177
end



...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551675
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цвет не выбирается, вот код:
Код: pascal
1.
ComboColor1.ColorValue.ColorValue := 8421440;
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551677
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот свойства

....
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551683
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

CTRL+C, CTRL+V на компоненте в делфи, чтобы все разом и текстом сюда скопировать (измененные значения в контроле), а не картинки вставлять, мучаться.

Надо исправить ColorComboStyle на стандартное cxccsComboEdit, и всё заработает.
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551692
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
object cxColorComboBox: TcxColorComboBox
  Left = 524
  Top = 432
  ParentShowHint = False
  Properties.AllowSelectColor = True
  Properties.ClearKey = 46
  Properties.ColorBoxWidth = 50
  Properties.ColorComboStyle = cxccsComboList
  Properties.ColorValueFormat = cxcvInteger
  Properties.CustomColors = <>
  Properties.DefaultColor = clNone
  Properties.DefaultColorStyle = cxdcClear
  Properties.DefaultDescription = #1062#1074#1077#1090' '#1085#1077' '#1074#1099#1073#1088#1072#1085
  Properties.DropDownRows = 10
  Properties.DropDownSizeable = True
  Properties.ImmediateDropDownWhenActivated = True
  Properties.ImmediatePost = True
  Properties.ImmediateUpdateText = True
  Properties.MaxMRUColors = 12
  Properties.NamingConvention = cxncX11
  Properties.PostPopupValueOnTab = True
  Properties.PrepareList = cxplX11
  ShowHint = True
  Style.HotTrack = False
  Style.Shadow = False
  TabOrder = 50
  Width = 316
end
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551730
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧЯДНТ
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551731
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr, у меня так тоже работает.

я же не зря примеры кода привел
Код: pascal
1.
ComboColor1.ColorValue := FieldByName('color').Value;



Код: pascal
1.
ComboColor1.ColorValue.ColorValue := 8421440;


X11Т.е. после открытия окна cxColorCombobox пишет "color not selected" и цвет не выбран:
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551747
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

см. пост выше 20946757 -- там написано решение проблемы.
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551749
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiНадо исправить ColorComboStyle на стандартное cxccsComboEdit, и всё заработает.

а зачем тогда нужен cxccsComboList?
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551751
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё хуже получается.
Я выбираю "Цвет не выбран", т.е. как бы сбрасываю, а в базу сохраняется "536870911" почему-то черный цвет.
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551752
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, поспешил, это в любом случае "Цвет не выбран" получается черным.
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551753
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
procedure TForm1.Button1Click(Sender: TObject);
begin
 cxColorComboBox.Properties.CustomColors.AddColor(8421440, '');
 cxColorComboBox.EditValue := 8421440;
end;
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551754
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переделал так:

Код: pascal
1.
2.
3.
4.
    if ComboColor1.ColorValue = clNone then
      FBN('color').Clear
    else
      FBN('color').Value              := ComboColor1.ColorValue;
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551755
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
Код: pascal
1.
2.
3.
4.
5.
procedure TForm1.Button1Click(Sender: TObject);
begin
 cxColorComboBox.Properties.CustomColors.AddColor(8421440, '');
 cxColorComboBox.EditValue := 8421440;
end;



это что значит?
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551760
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11а зачем тогда нужен cxccsComboList?
Когда задан заранее выбранный список и ничего другого выбрать нельзя. Там же можно любые цвета указать (см. скриншот выше, как эти кастомные цвета записываются в RGB).

Что-то у тебя не то в коде -- надо сделать пустое приложение и попробовать вручную сохранять-грузить. Тупо копируется из реального приложения контрол с цветом (со всеми настройками), вставляется в новое пустое приложение, добавляется кнопка и на ней делается присвоение вида "ComboColor1.ColorValue := 16711808;". И дальше отключаются свойства до тех пор, пока не заработает: меняется одно нестандартное (жирное в дизайнере) свойство на стандартное, перезапускается приложение, нажимается кнопка и сверяется результат -- если фейл, то повторить со следующим нестандартным свойством. Начать стоит с ColorComboStyle, т.к. именно от него такое поведение происходит.
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551761
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не знаем что делать - смотрим как это происходит при выборе
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
function TcxCustomColorComboBox.DoSelectCustomColor(AColor: TColor; ANeedFireEvent: Boolean): Integer;
var
  AColorDescription: string;
begin
  if DoOnSelectCustomColor(AColor, AColorDescription, ANeedFireEvent) then // если выбрали цвет
    ActiveProperties.CustomColors.AddColor(AColor, AColorDescription);     // добавляем его в список
  AddMRUColor(AColor);                                                     // добавляем его в MRU список
  Result := ActiveProperties.GetIndexByColor(AColor);                      // получаем результат
end;
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39551793
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiКогда задан заранее выбранный список и ничего другого выбрать нельзя.

Мне ограничения не нужны. Список cxplX11 вполне приемлемым. Плюс расширенный вариант, в общем, не нужно ограничений.
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39649706
Gdalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как в БД сохранить выбранный цвет?
У меня не получается. Использую cxGrid. При открытии формы к гриду привязываю DataSet. При создании столбцов к нужному притягиваю TcxColorComboBox из репозитария.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
procedure TMainForm.GridViewAddColumns;//(GridView:TcxGridDBTableView; DS : TADOQuery);
var i : integer;
begin
 cxgvNSI.BeginUpdate;
 cxgvNSI.ClearItems;
 cxgvNSI.DataController.CreateAllItems;
 for i:=0 to cxgvNSI.ColumnCount-1 do
  begin
   cxgvNSI.Columns[i].HeaderAlignmentHorz:=taCenter;
   cxgvNSI.Columns[i].HeaderAlignmentVert:=vaCenter;
   if cxgvNSI.Columns[i].DataBinding.Field.Tag = 10
    then begin
     cxgvNSI.Columns[i].RepositoryItem := cxcbColors;
    end;
  end;
 TcxGridDBTableView(cxgvNSI).ApplyBestFit();
 cxgvNSI.EndUpdate;
 end;



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

Код: pascal
1.
2.
3.
4.
5.
6.
7.
procedure TMainForm.cxcbColorsPropertiesEditValueChanged(Sender: TObject);
begin
 if cxLevel1.GridView.Name = cxgvNSI.Name
  then begin
   cxgvNSI.Controller.SelectedRows[0].Values[cxgvNSI.GetColumnByFieldName('MaterialColorCode').Index] := inttostr(TcxColorComboBox(Sender).ColorValue);
  end;
end;
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39649708
Gdalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, нашел подвох. Дельфи каким-то "чудом" (наверное, тем, которым Штирлиц зацепился за карниз. Оно потом распухло и мешало ходить) переключил поле, где хранится цвет ил fkData в fkCalculated.
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39649716
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GdalexДельфи каким-то "чудом"
Конпилятор во всем виноват (с)
...
Рейтинг: 0 / 0
TcxColorCombobox не выбирает некоторые цвета
    #39649766
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GdalexВсе, нашел подвох. Дельфи каким-то "чудом" (наверное, тем, которым Штирлиц зацепился за карниз. Оно потом распухло и мешало ходить) переключил поле, где хранится цвет ил fkData в fkCalculated.что бы было без сюрпризов люди репозитории ведут, и перед сливом в него очень внимательно смотрят где что поменялось
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxColorCombobox не выбирает некоторые цвета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]