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

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

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


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

    System.UIConsts.GetAlphaColorValues(Proc);


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

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

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


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

Код: pascal
1.
knownColor := AlphaColorToString(TAlphaColors.Aliceblue).Chars[0] <> '#';
...
Рейтинг: 0 / 0
11.11.2021, 08:05
    #40110929
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
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
11.11.2021, 10:13
    #40110955
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
Там нет названий :(
...
Рейтинг: 0 / 0
11.11.2021, 10:14
    #40110956
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
Kast2K
UniColorButton.ClientEvents.UniEvents -> ColorPicker


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


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

спасибо еще раз
...
Рейтинг: 0 / 0
11.11.2021, 11:47
    #40110978
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
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
11.11.2021, 12:32
    #40110987
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
X11
Черный и белый - не подходит в качестве nocolor (null).
Возьми любое другое значение. Например $000001. Врядли его пользователь выберет. Или $FFFFFFFF (да и любой другой со старшим байтом $FF)
...
Рейтинг: 0 / 0
11.11.2021, 13:09
    #40110995
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
X11
Там нет названий :(

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

Кстати, и для мобильной версии тоже.
...
Рейтинг: 0 / 0
11.11.2021, 13:48
    #40111004
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
Код: 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
11.11.2021, 13:53
    #40111007
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
Вы не поняли.
Вот так надо: Название (значение)
да и после выбора все равно цвет ведь не будет виден.
...
Рейтинг: 0 / 0
11.11.2021, 14:41
    #40111022
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
X11
Вы не поняли.
Вот так надо: Название (значение)

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


Код: 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
11.11.2021, 15:10
    #40111035
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл по полям записи TAlphaColorRec
X11,

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

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

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


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