169 похожих чатов

Комрады, в VTV можно штатно отобразить чекбокс в произвольной колонке

по условию? вроде делал, но не могу в своих исходниках найти, а гпт и гугл предлагают рисовать самому

15 ответов

9 просмотров

Нельзя

Там насколько я помню можно первую колонку второй сделать или что-то типа такого, тогда чек будет не в самом начале отображаться. Но это я давноооо давно эксперементировал и нюансов уже не помню

Ed-Doc Автор вопроса
Александр (Rouse_) Багель
Там насколько я помню можно первую колонку второй ...

нет, мне надо тупо чекбоксом булева поля отображать с системной отрисовкой чекбокса, поэтому OnGetImageIndex мне тоже не катит

Ed Doc
нет, мне надо тупо чекбоксом булева поля отображат...

Ну почему не катит то? Ты вполне себе можешь в динамике создать IL нужного размера с нужным набором глифов. У меня моя деревяха так работает

Ed-Doc Автор вопроса
Александр (Rouse_) Багель
Ну почему не катит то? Ты вполне себе можешь в дин...

даже на гтк в разных темах наследники бутонов выглядят по разному (в т.ч. и с высотой отрисовки). Колхоз получится

Ed Doc
даже на гтк в разных темах наследники бутонов выгл...

А они то тут с какого боку если ты глифы руками будешь генерить? У меня в лине под GTK все достаточно нормально выглядит. Ща виртуалку подымо покажу скрин

Ed-Doc Автор вопроса
Александр (Rouse_) Багель
А они то тут с какого боку если ты глифы руками бу...

глифы же хардкорно рисуются из имейджлитса? Или ты что-то другое имеешь ввиду?

Ed Doc
глифы же хардкорно рисуются из имейджлитса? Или ты...

Рисуются то хардкорно, вопрос в том как ты их генерируешь. Как видишь отрисовка вполне себе нормальная

Это моя деревяшка - она не умеет в несколько столбцов :)

Ed Doc
нет, мне надо тупо чекбоксом булева поля отображат...

TVirtualTreeColumn. property CheckType: TCheckType read FCheckType write SetCheckType default ctCheckBox; property CheckState: TCheckState read FCheckState write SetCheckState default csUncheckedNormal; property CheckBox: Boolean read FCheckBox write SetCheckBox default False; TCheckType = ( ctNone, ctTriStateCheckBox, ctCheckBox, ctRadioButton, ctButton ); // The check states include both, transient and fluent (temporary) states. The only temporary state defined so // far is the pressed state. TCheckState = ( csUncheckedNormal, // unchecked and not pressed csUncheckedPressed, // unchecked and pressed csCheckedNormal, // checked and not pressed csCheckedPressed, // checked and pressed csMixedNormal, // 3-state check box and not pressed csMixedPressed, // 3-state check box and pressed csUncheckedDisabled,// disabled checkbox, not checkable csCheckedDisabled, // disabled checkbox, not uncheckable csMixedDisabled // disabled 3-state checkbox ); /// Adds some convenience methods to type TCheckState TCheckStateHelper = record helper for TCheckState strict private const // Lookup to quickly convert a specific check state into its pressed counterpart and vice versa. cPressedState: array[TCheckState] of TCheckState = ( csUncheckedPressed, csUncheckedPressed, csCheckedPressed, csCheckedPressed, csMixedPressed, csMixedPressed, csUncheckedDisabled, csCheckedDisabled, csMixedDisabled); cUnpressedState: array[TCheckState] of TCheckState = ( csUncheckedNormal, csUncheckedNormal, csCheckedNormal, csCheckedNormal, csMixedNormal, csMixedNormal, csUncheckedDisabled, csCheckedDisabled, csMixedDisabled); cEnabledState: array[TCheckState] of TCheckState = ( csUncheckedNormal, csUncheckedPressed, csCheckedNormal, csCheckedPressed, csMixedNormal, csMixedPressed, csUncheckedNormal, csCheckedNormal, csMixedNormal); cToggledState: array[TCheckState] of TCheckState = ( csCheckedNormal, csCheckedPressed, csUnCheckedNormal, csUnCheckedPressed, csCheckedNormal, csCheckedPressed, csUncheckedDisabled, csCheckedDisabled, csMixedDisabled); public function GetPressed(): TCheckState; inline; function GetUnpressed(): TCheckState; inline; function GetEnabled(): TCheckState; inline; function GetToggled(): TCheckState; inline; function IsDisabled(): Boolean; inline; function IsChecked(): Boolean; inline; function IsUnChecked(): Boolean; inline; function IsMixed(): Boolean; inline; end; TCheckImageKind = ( ckCustom, // application defined check images ckSystemDefault // Uses the system check images, theme aware. ); TVirtualNode = packed record ... CheckState: TCheckState; // indicates the current check state (e.g. checked, pressed etc.) CheckType: TCheckType; // indicates which check type shall be used for this node

Ed-Doc Автор вопроса
Alexey Gavrilov
TVirtualTreeColumn. property CheckType: TCheck...

Штатно это работает только для заголовка, и то, если не включена самостоятельная отрисовка

Ed-Doc Автор вопроса
Alexey Gavrilov
TVirtualTreeColumn. property CheckType: TCheck...

Лёш, сможешь публично демку выложить, где все само рисуется, буду публично признателен 😊

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта