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



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



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



X11Данные хранятся в базе. И сохраняется значение нормально.
...
Рейтинг: 0 / 0
12.11.2017, 11:54
    #39551666
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
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
12.11.2017, 12:28
    #39551675
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
Цвет не выбирается, вот код:
Код: pascal
1.
ComboColor1.ColorValue.ColorValue := 8421440;
...
Рейтинг: 0 / 0
12.11.2017, 12:30
    #39551677
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
Вот свойства

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

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

Надо исправить ColorComboStyle на стандартное cxccsComboEdit, и всё заработает.
...
Рейтинг: 0 / 0
12.11.2017, 13:24
    #39551692
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
Код: 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
12.11.2017, 16:26
    #39551730
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
ЧЯДНТ
...
Рейтинг: 0 / 0
12.11.2017, 16:33
    #39551731
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
DimaBr, у меня так тоже работает.

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



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


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

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

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

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



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

Что-то у тебя не то в коде -- надо сделать пустое приложение и попробовать вручную сохранять-грузить. Тупо копируется из реального приложения контрол с цветом (со всеми настройками), вставляется в новое пустое приложение, добавляется кнопка и на ней делается присвоение вида "ComboColor1.ColorValue := 16711808;". И дальше отключаются свойства до тех пор, пока не заработает: меняется одно нестандартное (жирное в дизайнере) свойство на стандартное, перезапускается приложение, нажимается кнопка и сверяется результат -- если фейл, то повторить со следующим нестандартным свойством. Начать стоит с ColorComboStyle, т.к. именно от него такое поведение происходит.
...
Рейтинг: 0 / 0
12.11.2017, 18:03
    #39551761
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
Если не знаем что делать - смотрим как это происходит при выборе
Код: 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
12.11.2017, 20:00
    #39551793
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
JaDiКогда задан заранее выбранный список и ничего другого выбрать нельзя.

Мне ограничения не нужны. Список cxplX11 вполне приемлемым. Плюс расширенный вариант, в общем, не нужно ограничений.
...
Рейтинг: 0 / 0
25.05.2018, 10:00
    #39649706
Gdalex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
А как в БД сохранить выбранный цвет?
У меня не получается. Использую 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
25.05.2018, 10:04
    #39649708
Gdalex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
Все, нашел подвох. Дельфи каким-то "чудом" (наверное, тем, которым Штирлиц зацепился за карниз. Оно потом распухло и мешало ходить) переключил поле, где хранится цвет ил fkData в fkCalculated.
...
Рейтинг: 0 / 0
25.05.2018, 10:22
    #39649716
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
GdalexДельфи каким-то "чудом"
Конпилятор во всем виноват (с)
...
Рейтинг: 0 / 0
25.05.2018, 11:12
    #39649766
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxColorCombobox не выбирает некоторые цвета
GdalexВсе, нашел подвох. Дельфи каким-то "чудом" (наверное, тем, которым Штирлиц зацепился за карниз. Оно потом распухло и мешало ходить) переключил поле, где хранится цвет ил fkData в fkCalculated.что бы было без сюрпризов люди репозитории ведут, и перед сливом в него очень внимательно смотрят где что поменялось
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxColorCombobox не выбирает некоторые цвета / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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