Vasya
-
Постов
12 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Vasya
-
-
Ещё раз сделал цепочку действий:
1. Двойной клик на StyleBook, лежащий на форме
2. Загружаю в него коллекцию стилей из файла "C:\Program Files (x86)\Embarcadero\Studio\21.0\Redist\styles\Fmx\Win10Modern.Style"
3. Слева вижу, что "background" имеет иконку как у меня (растровую), а не как у тебя
ЧЯДНТ?
-
На вид соответствует (сорри за гигантскую фотку, не уменьшается):
Из этого всего надо вытащить цвет selection.
Upd: аааааа, у видел разницу в иконке... и что делать? Этот стиль не я создавал, это стандартные стили из дитрибутива Борланда, называется "Windows 10"
-
Я это прекрасно понимаю, но нет там nil!
-
Что здесь не так?
Canvas.Fill.Color := (Sender as TStringGrid).StylesData['background.content.selection.Fill.Color'].AsType<TAlphaColor>
выдаёт exception чтения с нулевого адреса. Если же в качестве пути к стилю написать любую ерунду вроде 'aaabbbccc', то выдаёт 0 и не вылетает. Сам Sender приходит нормальный, можно заменить прямо на MyGrid - будет тоже самое. Можно написать AsInteger - будет тоже самое.
Вылетает вот здесь:
function TRttiProperty.GetValue(Instance: Pointer): TValue; begin if not IsReadable then raise EPropWriteOnly.Create(Name); Result := DoGetValue(Instance); end;
Про TAlphaColors.Null понял.
-
2 часа назад, gonzales сказал:
Если Вы рисуете на канве, то какие стили могут быть?
Я хочу рисовать на канве цветом, прочитанным из стандартного стиля вот в этом месте, т.к. конкретно в этом месте нет необходимости его переопределять:
if TGridDrawState.RowSelected in State then Canvas.Fill.Color := ??? else Canvas.Fill.Color := ???;
Т.к. если я этого не сделаю, то вместо синего фона для выбранной строки будут белые дыры с синими рамками.
В Вашем примере
form1.Style
это что? Я думал, что это адресация к стилям из StyleBook, прикреплённого к форме.
Ещё я заметил, что есил вместо условия, приведённого выше, просто написать
Canvas.Fill.Color := 0;
то фон будет всегда нормальный. Ничего не понимаю ) Где это всё описано чётко?
-
-
Я на FMX раньше не писал, но на VCL выглдело чуть по-другому - антиалиасинг даже другой был.
-
Спасибки!
Я почему не люблю с собственным рисованием - потому что никакой гарантии, что это будет в точности также (геометрически), как это делает оригинал...
-
Как в TStringGrid изменить цвет текста по условию желательно без рисования самого текста в ячейке самостоятельно, т.е. только за счёт указания, каким цветом рисовать?
Или с рисованием текста, но тогда как его сделать абсолютно точно совпадающим (кроме цвета) с тем, что по-умолчанию выводится?
-
Благодарю, очень интересно!
Я тут уже откопал, что их можно загружать в редакторе стилей.
Но споткнулся о следующую проблему - в IDE в форме моего приложения видны загруженные мною в редакторе стилей стили, а после запуска приложения опять все стили тёмные ((( Как этим управлять?
-
Приветствую!
Чайниковский вопросы:
1. Как глобально во всём приложении для Windows 10 на десктопе изменить стилевое оформление (тему) через IDE?
2. А где вообще в IDE увидеть список доступных стилей, с которым поставляется версия 10.4.2?
Вопросы продиктованы следующим: я не могу понять, почему у меня стили всего приложения чёрные... В StyleBook Styles[0] содержат действительно какие-то чёрные стили. Как и где их все сменить разом на что-то другое?
Upd: Нашёл в кучку файлов C:\Program Files (x86)\Embarcadero\Studio\21.0\Redist\styles\Fmx\*.Style, похожую на коллекцию стилей. А как и где их можно выбрать для создаваемого приложения под Windows?
Как вернуть консольный ввод/вывод при отладке в терминал Ubuntu?
в Отладка
Опубликовано · Изменено пользователем Vasya
Приветствую всех!
Я пытаюсь отлаживать консольное Linux x64 приложение, запущенное в WSL2 (Ubuntu 22.04 LTS) из Windows с использованием PAServer, запущенного на Ubuntu. Отладчик в приницпе работает, только есть одно "но" - весь консольный вывод сыплется в окно Events в IDE, а не в терминал Ubuntu, где я его ожидаю. И, соответственно, консольный ввод (ReadLn) не работает.
Но стоит запустить всё тоже самое без отладки (Ctrl+Shift+F9) - как весь консольный вывод и ввод остаётся в терминале и всё хорошо. Ну и просто если зайти в Ubuntu и запустить программу - она работает работает с терминалом нормально.
Как запустить отладчик так, чтобы в качестве консоли был терминал в Ubuntu?