powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Цикл по полям записи TAlphaColorRec
25 сообщений из 30, страница 1 из 2
Цикл по полям записи TAlphaColorRec
    #40110401
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TAlphaColorRec - это record, содержит список именованных цветов.
https://docwiki.embarcadero.com/Libraries/Sydney/en/System.UITypes.TAlphaColorRec

Мне надо это как-то вставить в комбобокс.
Подскажите, как.
Спасибо.
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110404
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если через RTTI не получится, то никак. Надо ж было так извратиться подобные константы задавать... того, кто это писал, сишники или прочие несчастные лишенные enum-ов люди покусали?
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110408
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

System.UIConsts.GetAlphaColorValues
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110545
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Туплю...
а как это использовать?


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
  begin
    var Proc: TGetStrProc;

    System.UIConsts.GetAlphaColorValues(Proc);


   comboColor3.Items.....
  end;
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110557
swame2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X11,

>>Мне надо это как-то вставить в комбобокс.

Пересмотреть задачу.
Вместо комбобокса использовать специализированные диалоги выбора цвета.
TAlphaColorRec для задачи выбора цвета не нужен.
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110558
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110564
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swame2
Вместо комбобокса использовать специализированные диалоги выбора цвета.


у меня uniGUI фреймворк, там пока нет специализированного
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110651
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопросик.
А как понять, есть ли у значения типа FF0578D4 соответствующее название или нету?
Я так подразумеваю, можно как-то использовать AlphaColorToIdent(), но не могу понять как? Или что-то другое для этого есть?
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110669
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Код: pascal
1.
knownColor := AlphaColorToString(TAlphaColors.Aliceblue).Chars[0] <> '#';
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110929
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
swame2
Вместо комбобокса использовать специализированные диалоги выбора цвета.


у меня uniGUI фреймворк, там пока нет специализированного


UniColorButton.ClientEvents.UniEvents -> ColorPicker
Код: pascal
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
function ColorPicker.beforeInit(sender, config)
{
  sender.colors=[
    '000000',
'FFFAFA',
'FFFAF0',
'FFF0F5',
'FDF5E6',
'FFFFF0',
'FFF8DC',
'F5F5DC',
'FAEBD7',
'F5DEB3',
'F0F8FF',
'F8F8FF',
'E6E6FA',
'FFF5EE',
'FFFFE0',
'FFEFD5',
'FFDEAD',
'FFE4B5',
'DEB887',
'F0FFFF',
'F5FFFA',
'F0FFF0',
'FAF0E6',
'FFFACD',
'FFEBCD',
'FFE4C4',
'FFDAB9',
'D2B48C',
'FFFF00',
'FF8C00',
'FF0000',
'8B0000',
'800000',
'CD5C5C',
'FA8072',
'FF7F50',
'FFD700',
'FF6347',
'DC143C',
'A52A2A',
'D2691E',
'F4A460',
'FFA07A',
'F08080',
'FFA500',
'FF4500',
'B22222',
'8B4513',
'A0522D',
'CD853F',
'E9967A',
'BC8F8F',
'EEE8AA',
'FAFAD2',
'808000',
'228B22',
'ADFF2F',
'7FFF00',
'90EE90',
'7FFFD4',
'2E8B57',
'DAA520',
'F0E68C',
'6B8E23',
'008000',
'9ACD32',
'7CFC00',
'98FB98',
'66CDAA',
'3CB371',
'B8860B',
'BDB76B',
'556B2F',
'006400',
'32CD32',
'00FF00',
'00FF7F',
'00FA9A',
'8FBC8F',
'20B2AA',
'AFEEEE',
'E0FFFF',
'ADD8E6',
'87CEFA',
'6495ED',
'00008B',
'4B0082',
'48D1CC',
'40E0D0',
'00FFFF',
'00FFFF',
'B0E0E6',
'87CEEB',
'4169E1',
'0000CD',
'191970',
'00CED1',
'5F9EA0',
'008B8B',
'008080',
'00BFFF',
'1E90FF',
'0000FF',
'000080',
'9400D3',
'9932CC',
'FF00FF',
'FF00FF',
'8B008B',
'C71585',
'DB7093',
'8A2BE2',
'BA55D3',
'9370DB',
'800080',
'FF1493',
'FFB6C1',
'EE82EE',
'DA70D6',
'DDA0DD',
'D8BFD8',
'FF69B4',
'FFC0CB',
'B0C4DE',
'7B68EE',
'778899',
'FFFFFF',
'D3D3D3',
'808080',
'4682B4',
'6A5ACD',
'708090',
'F5F5F5',
'C0C0C0',
'696969',
'FFE4E1',
'483D8B',
'2F4F4F',
'DCDCDC',
'A9A9A9'];

sender.width=300;
sender.height=200;
}
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110955
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там нет названий :(
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110956
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K
UniColorButton.ClientEvents.UniEvents -> ColorPicker


спасибо за идею, не знал
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110963
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K
UniColorButton.ClientEvents.UniEvents -> ColorPicker


Может, подскажете еще?
Например, как добавить что-то вроде noColor т.е. что-то вроде "Очистить", ничего не выбрать, чтобы можно было выбрать "пустой цвет". Черный и белый - не подходит в качестве nocolor (null).
А можно ли как-то квадратики увеличить?
Можно ли как-то отображать визуально выбранный цвет на самой кнопке?

спасибо еще раз
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110978
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
А можно ли как-то квадратики увеличить?


сделал так:
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
.x-color-picker-item{
    width: 25px;
    height: 25px;
}

.x-color-picker-item-inner{
    height: 20px;
}
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110987
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
Черный и белый - не подходит в качестве nocolor (null).
Возьми любое другое значение. Например $000001. Врядли его пользователь выберет. Или $FFFFFFFF (да и любой другой со старшим байтом $FF)
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40110995
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
Там нет названий :(

В чем проблема сделать комбобокс с цветными прямоугольниками в элементах?
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111001
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том, что я не знаю как :)
Вернее, я почти сделал, но я не знаю, как покрасить строки в цвет, указанный в скобках и не знаю, как вывести выбранный цвет в виде прямоугольника.

Кстати, и для мобильной версии тоже.
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111004
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
procedure TMainForm.UniComboBox1RemoteQuery(const QueryString: string; Result: TStrings);
  function ColorToHex(Color : TColor) : string;
  begin
    Result := '#' +
    IntToHex(GetRValue(Color), 2) +
    IntToHex(GetGValue(Color), 2) +
    IntToHex(GetBValue(Color), 2) ;
  end;
begin
  for var i:=1 to 9 do begin
    var Color:=random($1000000);

    var s:='<div style="display:flex;align-items:center;">'+
           '<div style="height:20px;width:20px;border:1px solid black;margin-right:15px;background-color:'+ColorToHex(Color)+';">'+
           '<span style="margin-left:22px;">'+ColorToHex(Color)+'</span></div>';

    Result.AddObject(s,pointer(i));
  end;
end;
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111007
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не поняли.
Вот так надо: Название (значение)
да и после выбора все равно цвет ведь не будет виден.
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111022
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
Вы не поняли.
Вот так надо: Название (значение)

Ну и отредактируй как тебе надо.
да и после выбора все равно цвет ведь не будет виден.
Javascript и CSS тебе в руки. Дерзай. :)
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111027
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё, я так не играю
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111033
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот пытаюсь разобраться в разметке


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure TfrdEditObject.FillColorsCombobox;
begin
  comboColor3.Clear;
  comboColor3.Items.AddObject(Format('%s (%x)', [constEmptyColor, 0]), Pointer(0));// Цвет не выбран
  System.UIConsts.GetAlphaColorValues(FillColorsCombo);
end;

procedure TfrdEditObject.FillColorsCombo(const ColorName: String);
begin
var s:='<div style="display:flex;align-items:center;">'+
           '<div style="height:20px;width:20px;border:1px solid black;margin-right:15px;background-color:'+ColorName+';">'+
           '<span style="margin-left:22px;">'+ColorName+'</span></div>';

  comboColor3.Items.AddObject(Format('%s (%x)', [s, StringToAlphaColor(ColorName)]), Pointer(StringToAlphaColor(ColorName)));
end;
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111035
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Выкини нафиг format. У меня уже есть название цвета в строке.
Его меняй.
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111052
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, точно...
но после выбора все равно беда
...
Рейтинг: 0 / 0
Цикл по полям записи TAlphaColorRec
    #40111054
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Client events тебе в руки.

Ну и это может поможет:

https://stackoverflow.com/questions/917610/put-icon-inside-input-element-in-a-form
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Цикл по полям записи TAlphaColorRec
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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