TCount

Forum Replies Created

Viewing 20 posts - 341 through 360 (of 560 total)
  • Author
    Posts
  • in reply to: Частичная скинизация #52857
    TCount
    Participant
    'kao' wrote:

    Добрый день.

    Я бы хотел в своем проекте сделать частичную скинизацию контроллов.

    Меня, например, устраивает системный вид окна и стандартных контроллов.

    Я хочу скинизировать только кнопки и скроллбары.

    За основу был взят скин Notes Wood – в нем скроллбар без стрелок.

    Из скина почищены (кнопка Clear) данные всех секций, кроме секций Buttons и Scrollbar elements.

    Также почищены все иконки и рамки в General skin options.

    MASTER COPY.BMP оставил без изменений.

    В SkinManager:

    Code:
    ThirdParty: TButton, TListBox и TScrollBar.
    SkinnedPopups=False

    В SkinProvider:

    Рисунок 1:

    Code:
    DrawClientArea=True
    DrawNonClientArea=True

    Рисунок 2:

    Code:
    DrawClientArea=False
    DrawNonClientArea=True

    1. Почему скроллбар рисуется со стрелкой, если в скине он без стрелки?

    2. Почему по-разному скинизируются скроллбары для TListBox и TScrollBar?

    3. Почему скинизируется форма?

    Что я делаю не так?

    С уважением.

    Значит так:

    1. В SkinProvider отключаем DrawNonClientArea и включаем DrawClientArea.

    2. В SkinProvider включаем SkinData.CustomColor.

    3. В SkinManager отключаем SkinningRules.srStdForms.


    Ответы:

    1. Вы неправильно редактируете скроллбар в скине.

    2. Они не по-разному скинируются, просто Вы видете два разных скролла – горизонтальный и вертикальный, которые в Вашем скине настроены совершенно по-разному.

    3. Скинируется, потому как было включено ее скинирование:)

    Вообще, непонятно, какого вида Вам скроллбары нужны…так я помог бы скин сделать.

    in reply to: SkinManager.MenuSupoort #52850
    TCount
    Participant
    'Support' wrote:

    Должно работать с Сабменю. Можно глняуть скриншот, где не работает? Демка – было бы еще лучше.

    Прошу прощения, все нормально:)

    in reply to: OuterEffects #52826
    TCount
    Participant
    'AllNicksOver' wrote:

    Доброго здоровья.

    На рисунке панель “добро пожаловать” находится на панели “для начала добавьте класс” -> границы не пересекаются -> тень панели полная.

    А кнопка и “панель со стрелкой 3” находяться на форме, и при пересечении их границ их тень объединяется.

    Почему при пересечении границ компонентов, тень от них отрисовывается только по общему контуру?

    Собственно, эффекты прорисовываются только на родителе.

    TCount
    Participant
    'Kvadra256' wrote:

    Сделал TsAlphaHint на основе фрейма, но собыития onClick на фрейме, label внутри фрейма – не работают. Нажатие мыши происходит “сквозь” всплывающую подсказку.

    Подскажите пожалуйста, как сделать hint кликабельным ?

    Подозреваю, что подсказка AlphaHints – это THintWindow как многослойное окно (с прозрачным стилем EX_LAYRED). И на него выводится просто картинка, которая создается на основе фрейма.

    Поэтому какие-либо контролы нереальны.

    Можно как вариант использовать форму вместо хинта и показывать ее по событию Application.OnShowHint, ну или когда Вам вздумается.

    in reply to: Пару багов AlphaSkins 9.18 #52793
    TCount
    Participant
    'ms301' wrote:

    Скачал демо прилодение (ASkinDemo.zip (5.6 Mb, 19.11.2014)). Есть пару ошибок(обнаружил на win8.1).

    1. Не закрывается приложение, если нажать на крестик окна. Анимация кнопки закрытия отрабатывается – но приложение не закрывается.

    2. – Не могу точно определить в каком случае оно появляется. Кажется появляется через некоторое время после того, как форму переместить на задний фон.

    3. Не знаю, баг или просто не реализация возможности – но TsSlider не подсвечивается при наведении на него мышью, в отличии от других контролов

    Насчет остального не знаю, но в слайдере можно просто сменить секцию для скинирования.

    in reply to: sOpenDialog #52791
    TCount
    Participant
    'AllNicksOver' wrote:

    Доброго здоровья!

    Дано: Главная форма, на ней sSkinManager и sSkinProvider. Вторая форма, и на ней sOpenDialog и свои sSkinManager и sSkinProvider. sSkinManager второй формы isDefault=false.

    Главная форма вызывает form2.showmodal и устанавливает form1.sSkinManager.Saturation:= -100; (главная темнеет пока видна вторая).

    Проблема:

    Окно Выбора файла sOpenDialog подчиняется sSkinManager главной формы и имеет серый вид (Saturation:= -100);

    В настройках sOpenDialog нет возможности указать какой sSkinManager им управляет.

    Беда.

    AlphaSkin 9.17

    Delphi XE3

    Windows XP x32

    Я как-то и не замечал такого, не было надобности) В своей проге я сделал затемнение, просто создавая полупрозрачную форму нужного цвета (например, черную), которая накладывается на ту, которая должна стать неактивной.

    P.S. Может разработчик поможет Вам…

    TCount
    Participant
    'Michael' wrote:

    Отдельной демки нет, sPanel, на ней sSpeedButton у нее hint при наведении мышки на кнопку иногда выскакивает, у меня получилось такое только один раз и то во время обычной работы, но от клиентов отчеты приходят регулярно

    У меня тоже именно при нажатии на sSpeedButton ошибка вылетает иногда…Такую ошибку нельзя повтовить, потому как у меня она возникает не всегда.

    Есть подозрение, что эта ошибка вылезает в момент, когда уже должна появится подсказка, но происходит нажатие и фокус контрола уходит, а AlphaHints думает, что контрол активен… Не знаю, что-то вроде этого.

    В любом члучае, когда я сделал свой компонент для подсказок – проблема исчезла. Может в AlphaHints и фрейм как-то портачит, уж не знаю…

    TCount
    Participant
    'Stertor' wrote:

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

    hint не исчезает вообще, а начинает мигать. Используется HintManager. Баг не привязан к шкурам.

    HintManager уже давно в прошлом) AlphaHints пришел ему на смену.

    in reply to: sCheckBox – глюки с буквой "я" #52683
    TCount
    Participant
    'Boris' wrote:

    Версия 9.17 для Delphi 7

    Если значение Caption задать начинающимся с маленькой русской буквы “я” (например, “январь”), то при выполнении формы он не отображается. Против заглавной “Я” ничего не имеет против.

    В Delphi XE7 – полет нормальный.

    А что, если Вы тоже самое сделаете в стандартном TCheckBox?

    in reply to: TsComboBox: Так должно быть? #52673
    TCount
    Participant
    'Support' wrote:

    Будет поправлено в ближайшем релизе.

    В версии 9.17 исправлено)

    in reply to: Вопрос о фокусе контрола #52672
    TCount
    Participant
    'TCount' wrote:

    Решит на 100% ^_^

    Версия 9.17 – работает!

    in reply to: TsHTMLLabel: центрировка текста #52660
    TCount
    Participant
    'Support' wrote:

    Пока решения нет, надеюсь скоро будет.

    Подождем.

    in reply to: Вопрос о фокусе контрола #52657
    TCount
    Participant
    'Support' wrote:

    В ближайшем релизе будут работать OnMouseLeave и OnMouseEnter. Это решит вопрос?

    Решит на 100% ^_^

    in reply to: ProcessMessages, AC и эмулятор клавиатуры #52638
    TCount
    Participant
    'DWW' wrote:

    Просто интернет полон примеров, в которых идут вызовы keybd_event друг за дружкой, и все нажатия типа у них нормально эмулируются. У меня без PostMessage не получается это сделать. Если кто подскажет в чем моя ошибка и что я недопонимаю. буду благодарен. Т.е. проблема, я думаю, в очереди сообщений. Без PostMessage можно как-нибудь заставить отработать нормально keybd_event? Или только потоки и все?

    Просто непонятно, что прога будет делать. Виртуальная клава…Вижу, что месадж отправляется какому-то окну…Вопрос: какому?

    Есть обычная процедура нажатия, но она работает только внутри проги.

    procedure PressKey(Key:Integer);

    begin

    keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);

    keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY,0);

    keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);

    end;

    in reply to: ProcessMessages, AC и эмулятор клавиатуры #52636
    TCount
    Participant
    'DWW' wrote:

    то есть если я в потоке напишу:

    if VKShift then

    keybd_event(VK_SHIFT, 0, 0, 0);

    PostMessage(Wnd,WM_KEYDOWN, VKey,0);

    if VKShift then begin

    VKShift:=false;

    keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

    end;

    код отработает без проблем? только потом синхронизировать вывод надо?

    Я просто не знаю структуру проги. Но логика такова, что код в потоке, а операции с окном (формой) – через синхронизацию.

    in reply to: ProcessMessages, AC и эмулятор клавиатуры #52634
    TCount
    Participant
    'DWW' wrote:

    Попробовал. Не помогло.

    Кстати, Application.ProcessMessages опасная штука, особенно если использовать ее повсеместно. У меня в какой-то проге тоже из-за этого падения были. Именно потому, что Application.ProcessMessages манипулирует с очередью сообщений.

    Может лучше через потоки реализовывать?

    in reply to: ProcessMessages, AC и эмулятор клавиатуры #52632
    TCount
    Participant

    А почему бы не установить версию 9.16 и проверить на ней?)

    TCount
    Participant
    'gangamsoft' wrote:

    Здравствуйте! Подскажите как сделать, чтобы на копке было 2 строки.

    Первая строка – жирная и чуть больше шрифт

    Вторая строка – меньше шрифт

    Две строки легко сделать: Button.Caption:='Первая строка'+#13+'Вторая строка'

    Но разный шрифт не получится сделать.

    Единственное решение – это использовать событие OnPaint кнопки. Такое событие есть не у всех кнопок. Я бы взял TsSpeedButton.

    in reply to: Вопрос о фокусе контрола #52622
    TCount
    Participant
    'Stertor' wrote:

    Привет, возможно, я ошибаюсь, но кажется мне, нужно править скин – изменить кол-во состояний чекбоксов и выставить свойство active only в true.

    Если бы все так просто) Вообще, Active Only при выборе маски или картинки для секции скина указывает на то, что выбранная маска или картинка будет прорисовываться только в активном состоянии компонента.

    Здесь, по-видимому, дело в самих фокусах и событиях компонента. А именно в CheckBox эти события не работают.

    Например, тот же самый случай, только с tsButton…Только у кнопки работает onMouseLeave и если в этой процедуре прописать ActiveControl:=NIL или анимацию для “плавной потери фокуса”, то это сработает.

    TCount
    Participant
    'Stertor' wrote:

    Красиво смотрится. Отлично, значит, и с помощью панелек можно. Спасибо!

    Если будут проблемы – пиши в ЛС.

Viewing 20 posts - 341 through 360 (of 560 total)