FeLDMaRShaL

Forum Replies Created

Viewing 20 posts - 41 through 60 (of 65 total)
  • Author
    Posts
  • in reply to: TRichViewEdit + RTF #48197
    FeLDMaRShaL
    Participant
    'Support' wrote:

    Посмотрите, мне кажется эта тема похожа…

    Оказывается я плохо искал по форуму. Спасибо за ссылку!

    Да тема мне близка, воспользовался вашим советом в той теме, но обнаружил баг

    Пытаюсь изменить цвет фона вот так (сразу после кода создания вкладки):

    Code:
    SkinData := TsCommonData(cf.RichViewEdit1.Perform(SM_ALPHACMD, MakeWParam(0, sMessages.AC_GETSKINDATA), 0));
    if SkinData <> nil then
    SkinData.SkinSection := 'MYRICH';

    где cf – динамически созданная вкладка у TsPageControla, RichViewEdit1 – компонент у которого надо цвет фона поменять.

    Ну так вот, если данная вкладка не активная то SkinData, будет равен nil, соответственно цвет фона не изменится (как показывают опыты она должна быть не только активна, но еще и визуально отображаться, т.е. если мы RichViewEdit1 создадим с Visible=false, то SkinData также будет равна nil).

    Как быть в этом случае?

    P.S. прикладываю пример(более упрощенный чем прошлый раз) + exe файл, в котором одна кнопка перед созданием 5 вкладок делает их активными(и код срабатывает нормально), а в теле процедуры второй кнопки строчка изменяющая активную вкладку закомментирована, и фон не меняется из за этого.

    in reply to: TJvCaptionButton + Skin #48110
    FeLDMaRShaL
    Participant

    Ап

    in reply to: TRichViewEdit + RTF #48109
    FeLDMaRShaL
    Participant

    Ап

    in reply to: TRichViewEdit + RTF #48072
    FeLDMaRShaL
    Participant

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

    in reply to: TJvCaptionButton + Skin #48071
    FeLDMaRShaL
    Participant

    Вопрос актуален. Может мне какой то другой необходимо использовать метод чтобы загрузить картинку в кнопку?

    in reply to: TRichViewEdit + RTF #48060
    FeLDMaRShaL
    Participant

    Как временный вариант изменяю цвет фона вот так:

    Code:
    RichViewEdit.Color := clWhite

    Но делаю это каждый раз после создания новой вкладки(в той программе которую я представил как демку).

    Т.е. поясню подробнее в чем проблема. Почему то AC при компиляции проекта (наверно в момент скинезауии) меняют у компонента TRichViewEdit свойство Color. И мне приходится его вручную изменять снова на clWhite.

    P.S. это свойство может измениться только если компонент сейчас видимый. Если он не видим (Visible=False) то свойство остается без изменения.

    in reply to: TJvCaptionButton + Skin #48058
    FeLDMaRShaL
    Participant
    'Torbins' wrote:

    Выдрать из скина любой графический элемент не сложно. И на сайте в разделе демок и на форуме выкладывались примеры.

    На тот момент я вас не понял, я думал вы мне предлагаете вручную поправить все скины.

    'Support' wrote:

    Возможно, этот пример пригодится : http://www.alphaskins.com/sfiles/demos/extractimage.zip

    Да, это именно то, что мне было нужно!

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

    Пытаюсь вот так, где я ошибся:

    Code:
    procedure TForm1.MyPaint();
    var
    ImageHeight: integer;
    begin
    ImageIndex := sSkinManager1.GetMaskIndex(sSkinManager1.ConstData.IndexGlobalInfo, s_GlobalInfo, sComboBox1.Text);
    if ImageIndex > -1 then begin
    DrawSkinGlyph(sSkinProvider1.TitleButtons.Items[0].Glyph, Point(0, 0), 0 , 1, sSkinManager1.ma[ImageIndex] , MakeCacheInfo(sSkinProvider1.TitleButtons.Items[0].Glyph));
    DrawSkinGlyph(sSkinProvider1.TitleButtons.Items[0].Glyph, Point(0, 0), 1 , 1, sSkinManager1.ma[ImageIndex] , MakeCacheInfo(sSkinProvider1.TitleButtons.Items[0].Glyph));
    DrawSkinGlyph(sSkinProvider1.TitleButtons.Items[0].Glyph, Point(0, 0), 2 , 1, sSkinManager1.ma[ImageIndex] , MakeCacheInfo(sSkinProvider1.TitleButtons.Items[0].Glyph));
    end;
    end;
    in reply to: TRichViewEdit + RTF #48057
    FeLDMaRShaL
    Participant

    Увидел новый билд скиновых компонентов, где в истории изменения указаны исправления по моим вопросам в компоненте RichViewEdit. Может для устранения моей последней проблемы нужно всего лишь обновить версию скин компонентов?

    in reply to: TRichViewEdit + RTF #48056
    FeLDMaRShaL
    Participant

    Огромное спасибо за помощь. Но я опять со своими помидорами.

    Есть скины которые правильно отображают мой компонент, а есть которые не совсем так как я хочу. Но таких скинов не так уж и много, поэтому было принято решение немного исправить существующие Ваши скины. Но проблемы в том что я не могу найти нужную секцию которую надо править у скинов.

    К топику прикладываю пример (такой же как прошлый раз), на котором есть кнопка смены скина (в проекте применяются скины FalloutStyle.asz и Nautilus.asz).

    Оба скина имеют Черную секцию “Edit” но у второго скина основная часть компонента остается белой, а у первого она меняется на черный цвет.

    Не могли бы Вы мне подсказать где и что мне поменять у скина FalloutStyle.asz, чтобы область редактирования у компонента RichViewEdit была такой же как и у скина Nautilus.asz.

    in reply to: TRichViewEdit + RTF #48004
    FeLDMaRShaL
    Participant

    Еще одинбаг всплал. Теперь я справо от компонента RichViewEdit расположил родной скиновый компонент TsScrollBar (как временное решение пытался через него произвести отображение полосы прокрутки).

    Но вот в чем загвоздка, как только я заставляю компонент изменять свойство Position, как сама полоса теряет отрисовку скина, и до тех пор пока я не наведу (просто наведу) хотябы 1 раз мышку на этот компонент.

    P.S. для того чтобы воспроизвести данный баг, необходимо сначала создать вкладку (кнопка Add Page), потом подвести мышку на компонент и покрутить колесиком верх/вниз.

    P.S. мышка не должна случайно попасть ан компонент скролбара, иначе баг прекращяется.

    P.S. использую Windows7.

    in reply to: TRichViewEdit + RTF #48002
    FeLDMaRShaL
    Participant

    Попробовал еще вариант (все в этом же событи скин провайдера)

    Code:
    SkinSection := sScrollBar1.SkinData.SkinSection;

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

    in reply to: TRichViewEdit + RTF #48001
    FeLDMaRShaL
    Participant

    Попробовал использовать событие:

    Code:
    procedure TForm1.sSkinProvider1SkinItem(Item: TComponent;
    var CanBeAdded: Boolean; var SkinSection: string);
    begin
    if Item.Name = 'qwert' then
    begin
    SkinSection := 'MYEDIT';
    CanBeAdded := True;
    end;
    end;

    Но после долгих и упорных размышлений, пришел к выводу что изменять все скины это будет проблематично, так как это будет не решением проблемы, а лишь скрытие от глаз (+ при каждом новом обновлении данную операцию придется проделывать заново). Остается надежда на администраторов/модераторов, у которых получится воспроизвести вышеупомянутый баг (на Windows7), и в ближайших релизах можно будет увидеть правильно работающий компонент.

    in reply to: TRichViewEdit + RTF #47996
    FeLDMaRShaL
    Participant

    Немного не понял. Создать секцию вот так как на скриншоте:

    И второй вопрос, каким образом на стороннем компоненте можно прописать использовать именно эту секцию за место стандартной?

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

    P.S. можно показать на примере sRichView – компонент входящий в состав AC (я так понимаю принцип будет схожий)

    in reply to: TRichViewEdit + RTF #47971
    FeLDMaRShaL
    Participant

    Если не затруднит, то можно ли поподробнее с этим вариантом, а то я не совсем Вас понял.

    in reply to: TRichViewEdit + RTF #47960
    FeLDMaRShaL
    Participant

    Кстати, если кого не затруднит, может ктонибуть скажет как пользоваться AlphaSkinsEditorom. Мне нужно чтобы у компонента sRishView фон стал белым(прозрачным).

    Открываю например скин Terminal4bit, захожу в пункт Sections, выбираю пункт EditControls, далее выбираю пункт Edit, там изменяю свойство Color на белый цвет, а он мне меняет все компоненты. Как сделать так, чтобы был изменен только фон у компонента SRichView? (это будет запасной вариант, если с тем что я озвучил в предыдущем посте не получится)

    in reply to: TRichViewEdit + RTF #47959
    FeLDMaRShaL
    Participant
    'Mike' wrote:

    Если имеется возможность использовать отредактированный скин, то сделайте новую секцию на основе стандартной Edit и в ней измените фон на белый. Если нужен Glowing и т.п. – добавьте новую секцию во все разделы, где присутствует Edit.

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

    А можно ли какнибуть сделать так, чтобы у компонента TsSkinManager, у свойства ThirdPaty добавить еще один пункт в “Type of skin”, назвать его например MyGrid, который будет точно такой же как Grid, за исключением того, что он не будет закрашивать фон?

    Или есть ли возможность гденибуть подправить и изменить стандартный тип Grid?

    in reply to: TVirtualStringTree + Hint #47954
    FeLDMaRShaL
    Participant

    Дома поэкспериментирую, вечером отпишусь о результатах.

    in reply to: TRichViewEdit + RTF #47953
    FeLDMaRShaL
    Participant

    Действительно, один и тотже ехе файл ведет себя по разному. У меня тоже (на виртуальной машине) на Windows XP sp3 данный баг не задетектился. Но стабильно детектится на Windows7.

    С учетом Вашего опыта, а также вышесказанного следует возможный вывод что только на Windows7 наблюдается это бедствие.

    in reply to: TJvCaptionButton + Skin #47946
    FeLDMaRShaL
    Participant

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

    Но самое главное, что при определенных скинах данная кнопка не рисуется, т.е. ее визуально не видно, причем таких скинов довольно много (например, Terminal4bit)

    in reply to: TVirtualStringTree + Hint #47938
    FeLDMaRShaL
    Participant

    Хинт скрыть – довольно просто.

    Из моего примера можно сделать например вот так: в конце метода OnGetHint мы можем дописать пару строчек. Например вот таких

    Code:
    MyHint := HintText
    HintText := ''

    Где MyHint – какая то глобальная переменная. И сразу после этих строк вызвать Ваш хинт, который будет содержать этот самый MyHint в качестве хинта.

    Следовательно вопрос, какой командой можно вызвать Ваш хинт, зная текст хинта, а также координаты местоположения мышки. (Из этих координат необходимо чтоб Ваш хинт брал начало).

Viewing 20 posts - 41 through 60 (of 65 total)