dnekrasov

Пользователи
  • Публикаций

    173
  • Зарегистрирован

  • Посещение

  • Победитель дней

    15

dnekrasov стал победителем дня 12 января

dnekrasov имел наиболее популярный контент!

Информация о dnekrasov

  • Звание
    Продвинутый пользователь
  • День рождения 21.02.1974

Информация

  • Пол
    Мужчина
  • Город
    Минск

Посетители профиля

804 просмотра профиля
  1. Лет 15 назад меня заставили написать один сборный контрол (как я ни старался убедить что фрейм лучше - не прокатило) - до сих пор - как вспомню, так вздрогну Чё тут думать - ТРЯСТИ НАДО :)
  2. Не легче ли использовать фреймы?
  3. Вот только все они наследованы не от TStyledControl. Очень редко можно встретить в стиле что-то заранее стилизованное. Не подходит StyleData - кто Вам мешает работать с FindStyleResource Сделать можно все что угодно - вот только насколько оно будет обосновано и стоит ли оно затраченного времени - решать Вам
  4. О как! Вы решили создать стиль для всего ОКНА! Стили для этого не предназначены. Ну так Вы же сами себе и ответили. Отсюда следует, что механизм работы со стилями просто для этого не подходит.
  5. Чёт я вообще ничего не понял... Что такое "скрол" и куда он "бросается". Что означает "намертво съедает чаилдов". StylesData чего и куда не может добраться? На каком этапе Вы выполняете указанный вами код? Из чего состоит "MessageBoxStyle". Что означает "ну не загрузился еще стиль" - вы не подгрузили его в проекте или предполагаете, то он еще не применился к контролу?
  6. По-моему вообще некорректно. Внешне-то будет выглядеть как надо, а вот логики работы не будет вообще. Ведь стиль - это только описание того, как контрол должен выглядеть, а не как работать. Кстати, копию стиля легче получить так MainControl := FindStyleResource('ScreenFogStyle', True);
  7. Из этого следует вывод, что шрифты надо регистрировать до применения стиля (если через TStyleManager) или до создания формы (если StyleBook). В общем лучше делать сразу после Application.Initialize - думаю это правильнее всего.
  8. Единственное моё предположение из-за чего это может быть - это момент регистрации шрифтов. Т.к. у меня это воспроизвести не получается - то у меня большая просьба к @wamaco отредактируйте, плз, файл проекта и попробуйте запустить ... begin TIconicFont.FontsReg; try Application.Initialize; TStyleManager.TrySetStyleFromResource('STYLE_Dark'); Application.CreateForm(TMainForm, MainForm); Application.Run; finally TIconicFont.FontsUnreg; end; end. Ну и если запустится нормально, то еще 2 варианта (чтоб точно знать когда надо регистрировать шрифты) 1: ... begin Application.Initialize; TIconicFont.FontsReg; try TStyleManager.TrySetStyleFromResource('STYLE_Dark'); Application.CreateForm(TMainForm, MainForm); Application.Run; finally TIconicFont.FontsUnreg; end; end. 2: ... begin Application.Initialize; TStyleManager.TrySetStyleFromResource('STYLE_Dark'); TIconicFont.FontsReg; try Application.CreateForm(TMainForm, MainForm); Application.Run; finally TIconicFont.FontsUnreg; end; end.
  9. Вертикальное смещение юникодных шрифтов

    Ну почему же: var F: TFont; PD: TPathData; begin F := TFont.Create; try F.Family := 'Kozuka Gothic Pr6N B'; F.Size := 60; with TBitmap.Create do try Canvas.Font.Assign(F); PD := TPathData.Create; try if Canvas.TextToPath(PD, RectF(0, 0, 10000, F.Size), '字字字 AsD АыЩ', False, TTextAlign.Leading, TTextAlign.Leading) then begin PathLabel.Width := PD.GetBounds.Width; PathLabel.Data := PD; end; finally PD.Free; end; finally Free; end finally F.Free; end; end;
  10. Ручками в поле "Resource identifier" Если Вы вставляли - то Вы и заполняли
  11. Вертикальное смещение юникодных шрифтов

    Чё-то я изначально затормозил... Если Вам просто надо отобразить иероглиф - то можно ведь сделать всё намного проще - через TPathLabel (она должна сама обрезать все отступы) var F: TFont; FG: TFontGlyph; bmp: TBitmap; begin F := TFont.Create; try F.Family := 'Kozuka Gothic Pr6N B'; F.Size := 60; FG := TFontGlyphManager.Current.GetGlyph(Char.ConvertToUtf32('字', 0), F, 1, [TFontGlyphSetting.Path]); try PathLabel.Width := FG.Path.GetBounds.Width; PathLabel.Height := F.Size; PathLabel.Data := FG.Path; // ну и если всё-таки bitmap-ка нужна bmp := PathLabel.MakeScreenshot; try // что-то делаем с битмапкой finally bmp.Free; end; finally FG.Free; end; finally F.Free; end; end;
  12. Теперь понял Не через Deploymet, а через пункт меню Project->Resources and Images
  13. Судя по коду - у Вас стиль в базе хранится (хотя тоже под вопросом - что такое dm, dm.UniConnection1, AppStyleParamName и что делает dm.GetOption2Param). Если так - то как они туда попадают? Так что не зная логики проекта или не видя исходники - трудно сказать. А само применение стиля - это последняя строчка - TStyleManager.SetStyle(aStyle)
  14. Куда подевался сохраненный стиль?

    Хм... Странно... Ведь стиль с названием "Windows 10 Desktop" создаётся автоматически именно в момент создания view "Windows Desktop"