Andrew

Forum Replies Created

Viewing 18 posts - 1 through 18 (of 18 total)
  • Author
    Posts
  • in reply to: Не работает sSkinManager.CommonSections #56055
    Andrew
    Participant
    'Support' wrote:

    Проблема не в CommonSections.

    Да, похоже на то: если в свойстве SkinSection метки прописать, например, STATUSBAR, то наблюдается аналогичное поведение.

    'Support' wrote:

    Дело в том, что метки берут цвет шрифта от парента, так как в разных скинах цвета парента может быть очень разным, что влияет на читаемость меток.

    На мой взгляд, приоритет при выборе цвета должен быть у поля SkinSection, а если оно не заполнено, тогда запрашивать у родителя.

    P.S. Странно, что до последних версий на протяжении нескольких лет все было нормально.

    in reply to: THtmlViewer #56790
    Andrew
    Participant

    Возможно ли у TsScrollBar изменить размер кнопок, как, например, в TMemo ?

    in reply to: Не работает sSkinManager.CommonSections #56746
    Andrew
    Participant

    В версии 12.10 проблема осталась.

    Демка, собранная с версией 12.04: все метки – белые

    [attachment=8328:Demo_12.04.png]

    Демка, собранная с версией 12.10: метка на панели – черная

    [attachment=8329:Demo_12.10.png]

    in reply to: Не работает sSkinManager.CommonSections #56664
    Andrew
    Participant

    В версии 12.08 исправлено

    Upd. Исправлено частично: если sLabel положить на sPanel – текст остается черным. Если у панели прописать SkinSection = TRANSPARENT или GROUPBOX, то текст метки – белый.

    in reply to: Проблемы с Windows XP #53020
    Andrew
    Participant

    У многих словарей есть функция “Перевод слова под курсором” для реализации которой используются хуки. Я так понимаю, AlphaControls тоже активно их использует. При корректной реализации, конфликтов быть не должно, так что, проблема, вероятно, все-таки имеется.

    To Inegeld: Lingvo, насколько я помню, может переводить слово под курсором как по горячим клавишам, так и просто при наведении и задержке курсора. Возможно, отключение последнего в настройках даст возможность использовать обе программы одновременно.

    in reply to: Не разворачивается форма #53001
    Andrew
    Participant

    Столкнулся с той же проблемой (AC9.19 D2007 Win7) – на Win8.1 не проявляется.

    На Win7:

    * Включение ExtendedBorders решает проблему

    * При отключенном ExtendedBorders отключение AnimEffectsMinimizing частично решает проблему: при разворачивании сначала появляется белый квадрат на том месте где должно быть окно, а потом окно “летит”, увеличиваясь, из таскбара и в конце концов занимает место белого квадрата.

    in reply to: TsLabel – проблемы с прозрачностью #50826
    Andrew
    Participant

    Большое спасибо, помогло.

    [attachment=6423:TsLabelFX_no_trans_4.png]

    А что насчет TImage под TsLabel?

    Перебирать все компоненты, лежащие ниже Label и имеющие с ним пересечения, при каждой перерисовке, наверное, накладно.

    Может быть новый компонент TBGImage, который в DesignTime отображается как TImage, а в RunTime невидимый, но при отрисовке фона формы накладывает хранящееся в нем изображение? В этом случае все лежащие на форме компоненты получат корректный фон родителя.

    in reply to: TsLabel – проблемы с прозрачностью #50820
    Andrew
    Participant

    Он в архиве: BinSkinsWhiteAndBlue (распакованный)

    in reply to: TsLabel – проблемы с прозрачностью #50813
    Andrew
    Participant

    Прикрепил

    [attachment=6420:TsLabel_trans_v2.zip]

    На этом примере лучше видно

    [attachment=6421:TsLabelFX_no_trans_3.png]

    [attachment=6422:TsLabel_trans_v3.zip]

    Если положить под Label TImage или TsImage, то получается тот же эффект – белые углы. Я понимаю, что Image не является родителем для Label, но может есть какой-нибудь способ корректно отобразить прозрачность хотя бы для случая, когда Label полностью вписывается в границы Image'а.

    in reply to: TsLabel – проблемы с прозрачностью #50803
    Andrew
    Participant

    Label лежит на панели, у которой фон SKIN_SECTION отличается от формы (в данном случае панель выглядит как кнопка). По идее панель должна быть родителем или компоненты всегда берут фон формы?

    in reply to: TsLabel – проблемы с прозрачностью #50787
    Andrew
    Participant

    И снова здравствуйте.

    Спасибо за исправление, но появилась новая проблема, возможно связанная с предыдущей, поэтому не создаю новую тему.

    Создал новую секцию в скине, в качестве ControlBorders используется область MasterBitmap с маской. Результат видно на скриншоте ниже:

    [attachment=6414:TsLabelFX_no_trans_2.png]

    Справа вынесен увеличенный левый верхний угол (сверху вниз):

    • TsLabelFX на форме
    • TsLabelFX на панели
    • Фон секции в MasterBitmap
    • Маска секции в MasterBitmap

    При расположении TsLabelFX на форме, маска вроде применяется правильно, а при расположении на панели результат не совпадает с ожидаемым.

    Пробовал заменять TsLabelFX на TsLabel и TsPanel, обновил компоненты с 8.42 до 8.45 – без изменений.

    Оффтоп: Чем Вы создаете маску, т.е как из 32-битного png получить 24-битный bmp в виде изображения и маски? Написал свое, но не может быть, чтобы не было готового решения (Яндекс отказывается сотрудничать). Или может есть возможность использовать png напрямую?

    Andrew
    Participant

    Будем ждать. Спасибо

    Andrew
    Participant

    А в чем проявляется “зависание”? Столкнулся с тем же или чем-то похожим: программа сворачивается на панель задач и больше не разворачивается. Но поскольку ее можно закрыть через контекстное меню иконки на панели задач не прибегая к диспетчеру, то зависанием это вроде и не назовешь.

    По показаниям свидетелей (у меня на Win7 x64 не воспроизводится ни с моим приложением, ни с демкой, предоставленной IoRRik) программа нормально сворачивается и разворачивается какое-то время, а потом очередная минимизация становится для нее роковой. Причем произойти это может часа через 3 после запуска. Первое замечание было от тестера еще в апреле, вчера – дважды проявилось у другого человека.

    В обоих случаях проблемы наблюдались на WinXP. Разработка велась на D2007. Последняя сборка на AC 7.34, однако замечания были еще до выхода этой версии.

    in reply to: Конфликт с нативным png в Delphi XE #46533
    Andrew
    Participant

    Ну в данном случае вопрос даже не “кто обрабатывает PNG”, а “как” он это делает.

    Тем не менее, вопрос поддержке: есть ли причины, мешающие сделать так?

    Code:
    {$IF CompilerVersion >= 20} // Delphi 2009 or later
    {$DEFINE NOACPNG} // Do not use AlphaControls Png loader automatically
    {$ELSE}
    {.$DEFINE NOACPNG} // Do not use AlphaControls Png loader automatically
    {$IFEND}

    Другими словами: стоит ли использовать свой велосипед там, где уже есть встроенный?

    in reply to: Исчезновение sStatusBar #45822
    Andrew
    Participant

    К теме минимизации:

    Проблема 1.

    Окно программы после первого запуска и восстановленное после минимизации:

    [attachment=4852:1. FirstStart.png][attachment=4853:2. AfterMinimize.png]

    Думаю, найти 2 отличия труда не составит.

    Проблема 2.

    После минимизации (или восстановлении – не знаю) окна происходит утечка памяти:

    [attachment=4854:3. CloseAfterMinimize.png]

    Причем с каждой последующей минимизацией ситуация усугубляется.

    Проблема 3.

    Если включены ExtendedBorders, при первом после запуска сворачивании окна остается артефакт под курсором – исчезает сам примерно через секунду:

    [attachment=4855:Skins742Bug.png]

    При последующих сворачиваниях не наблюдается.

    Под WinXP (если включены ExtendedBorders) данная проблема не проявляется, но наблюдается однократное мерцание окна после каждого восстановления из минимизированного состояния.

    AC 7.42, D2007, Win7x64

    in reply to: TsSpeedButton.OnPaint #43496
    Andrew
    Participant

    Становится совсем непонятно…

    Если установить жирный шрифт или “задизейблить” кнопку, текст, как и положено, отрисовывается коричневым цветом.

    Если же шрифт нормальный и кнопка в обычном состоянии, текст отрисовывается черным, хотя прямоугольник (с заданным тем же цветом) отрисовывается коричневым. При этом в “горячем” и “нажатом” состояниях – текст также отрисовывается коричневым.

    Code:
    procedure TForm1.sSpeedButton1Paint(Sender: TObject; Bmp: TBitmap);
    var
    Btn: TsSpeedButton;
    begin
    with Bmp.Canvas do
    begin
    Btn := TsSpeedButton(Sender);

    Font.Color := sSkinManager1.gd[Btn.SkinData.SkinIndex].FontColor[1];
    if Sender = sSpeedButton3 then
    Font.Style := [fsBold];
    Font.Size := 20;

    if Btn.CurrentState = 2 then
    TextOut(11, 20, 'TEXT');
    else
    TextOut(10, 19, 'TEXT');

    Pen.Color := Font.Color;
    Brush.Color := Font.Color;
    Rectangle(80, 15, 120, 55);
    end;
    end;

    [attachment=4232:Screenshot2.png]

    Выставление свойству SkinSection родного значения “SPEEDBUTTON” никак не влияет на ситуацию.

    Хм, нашел костыль – передернуть свойство FontStyle:

    Code:
    Font.Style := [fsItalic];
    Font.Style := [];

    В этом случае текст отрисовывается коричневым во всех состояних.

    Тогда, используя состояние кнопки, получаем полное соответствие цветов своего текста и заголовка:

    Code:
    Font.Color := sSkinManager1.gd[Btn.SkinData.SkinIndex].FontColor[Btn.CurrentState+1];

    Спасибо за наводку на свойство “CurrentState”, которое я долго и безуспешно искал.

    in reply to: TsSpeedButton.OnPaint #43494
    Andrew
    Participant

    Да, при обновлении компонентов, скины беру из архива. Единственное, они распакованы и все bmp преобразованы в 24-битные (для запуска под Wine'ом)

    Уточнение: такое поведение наблюдается и при использовании неизмененных запакованных скинов.

    in reply to: TsSpeedButton.OnPaint #43476
    Andrew
    Participant

    Версия 6.68. Там. к сожалению, нет ни States, ни Props.

    Не могу найти в хелпе описание gd.FontColor. Попробовал так:

    Code:
    Font.Color := Btn.SkinData.SkinManager.gd[Btn.SkinData.SkinManager.GetSkinIndex('BUTTON')].FontColor[Btn.CurrentState];

    В неактивном состоянии цвет текста как у 'BUTTON_HUGE' – желтоватый, в остальных – черный.

Viewing 18 posts - 1 through 18 (of 18 total)