Forum Replies Created
-
AuthorPosts
-
WitcherParticipant
Изучая этот вопрос я использовал компонент TsAlphaHints вместо TsHintManager.
Для вывода хинта в нужных координатах я использовал событие OnShowHint данного компоента:
Code:procedure TForm1.myShowHint(var HintStr: string; var CanShow: Boolean;
var HintInfo: THintInfo; var Frame: TFrame);
var
P : TPoint;
begin
GetCursorPos(P);
P.X := P.X + 5;
P.Y := P.Y + 8;
HintInfo.HintPos := P;
end;Собственно, ввашем коде в OnGetHint я добавил только одну строку для показа скинированного хинта:
Code:sAlphaHints1.ShowHint((Sender as TControl), HintText);Проблема в том, что при втором и последующих показах хинта именно скинированне хинты не пропадают (именно на VirtualStringTree):
[attachment=5560:1.jpg]
WitcherParticipantYou can use TsButton component instead TButton. Just set property sButton.SkinData.SkinManager to TsSkinManager which contain and use needed skin.
Skinning for standard VCL components (like TButton, TBitBtn etc.) is supported, but it's not native skinning (for skinning this controls default TsSkinManager used (in your case this placed on main form), so you can't make VCL Button1 with one skin and Button2 with different. For Button1 and Button2 in same time will be used skin from default TsSkinManager component).
WitcherParticipantПредложение хорошее, принято на заметку. По срокам ничего точно сказать не могу.
WitcherParticipantСпасибо. В ближайшее время попробую посмотреть, что можно сделать без особых хирургических вмешательств.
Добавлено:
Без хирургии тут никак похоже. Скиновый хинт можно показать в нужном месте, но возникают другие проблемы пока:
1. Нужно убрать предыдущий хинт от АС.
2. Нужно скрыть стандартный хинт (ShowHint := False – не вариант).
WitcherParticipantQuote:На форме находится компонент sPageControl, вкладки я для него создаю динамически, причем без верхней закладки(она не видима). В результате работы программы, через некоторое время исчезают все надписи на sLabel, причем АБСОЛЮТНО все, те которые и на других(пока еще не открытых формах) и даже на форме которая вызывается командой ShowMessage('Skin') пропадает эта надпись 'скин'!О наличии таких проблем нам уже сообщали, что есть вроде как некоторые траблы с TsPageControl, но беда в том, что в стандартной демке АС у этого компонента так же создаются динамические вкладки, но проблему там воспроизвести не удается пока что.
Если не сложно, то можно ли сюда запостить исходники демки, которая иллюстрировала бы эту проблему?
WitcherParticipantЕсли не затруднит, то можно ли сюда запостить очень простенькую демку (исходники) с TVirtualStringTree, я попробую сделать скиновые хинты в ней.
WitcherParticipantQuote:Компоненты самые последние(одни из самых последних)Видимо, имелось ввиду, из какого набора сам TRichViewEdit.
Quote:большая часть скина – черный цвет с зеленым шрифтом), фон TRichViewEdit окрашивается черным цветом.Все верно, sSkinManager поддерживает скинирование этого компонента и отрисовывает его в соответствии со скином. Если вы используете другой скин, где Edit-контролы имеют белый фон, например, Air, BlueGauze, то TRichViewEdit будет иметь белый фон.
Quote:можно ли какимнибуть способом отключить действие скина на поле ввода текстаЗаходите в sSkinManager.ThirdParty и убираете TRichViewEdit из списка слева (список скинируемых компонент).
Quote:нужно чтобы скин отрисовывал только ползунок компонента и окантовкуБоюсь так просто не получится “тут скинируем, тут не скинируем”. Либо компонент целиком обрабатывается в sSkinManager, либо нет.
А вообще хотелось бы, если не демку, то уж пару скриншотов точно, ибо сложно по словесному описанию понять, что точно нужно.
February 29, 2012 at 8:08 am in reply to: what should i add for fastreport support get skinned ? #47887WitcherParticipantPerhaps problem in different case in component names.
ThirdParty list is a case sensitive!
In your post before you wrote: “frxfastreport”. Be sure that in your code this component have type named TfrxReport, i.e.
frxfastreport : TfrxReport;
but not
frxfastreport : tfrxreport;
WitcherParticipantЭто вы демку от пакета АС использовали?
WitcherParticipantHello!
Yesterday I made additional tests with installation AC (with AlphaDB package) under Delphi 2010 and no problems appeared.
Added:
Please, make full re-install AC package (include AlphaD:cool:. Drop acnt*.bpl and acnt*.dcp and AlphaDB*.dcp and AlphaBD.bpl.
Then make “clear” install for package: acntDelphiXE2_R.dproj (compile only), acntDelphiXE2.dproj (install), AlphaDBDelphiXE2.dproj(install).
WitcherParticipantThanks for your message. But this property was always case-sensitive. This made for speed-up string works when Third-party list contains many different types.
February 29, 2012 at 5:58 am in reply to: what should i add for fastreport support get skinned ? #47881WitcherParticipantHello!
Look for ThirdParty property in TsSkinManager component. In property editor just select Fast/Quick Report package item and press “<<" button to add this package in skinned controls list. Thats all.
WitcherParticipantВ Демке 7.61 не получается такое воспроизвести, к сожалению.
WitcherParticipantHello!
Quote:Will this bring any future problems for me?No.
Now this situation was fixed and AC 7.61 was re-uploaded.
WitcherParticipant'Kirill_' wrote:Здравствуйте! Скачал вчера архив к 2010 Делфи и при попытке установить DB компоненты появилась ошибка “[DCC Fatal Error] sDBComboBox.pas(10):F1026 File not found sDebugMsgs.dcu”. Я проверил, действительно такого файла нет в архиве. Исправьте пожалуйста!
Исправлено.
WitcherParticipantQuote:Использовал бы первый вариант, но странный эффект в реальной программе, label, image, checkbox перестают вообще отображаться, из-за чего неясно.Можно сделать небольшую демку именно с этой ошибкой, если получится?
WitcherParticipantБерем стандартную демку АС. Я для чистоты эксперимента брал 7.33 и 7.60
Запускаем. Выбираем нужный скин (я выбирал указанные Sapphire и Shine) в демке выбираем страничку Edit Controls, и теперь пытаемся сделать MouseEnter/MouseLeave с этитами. Ну и естественно, играемся с фокусом на Edit'ах.
Никаких визуальных изменений, т.е. как были контролы, так и остались.
А теперь попробуем сменить скина на SnowLeopard или MacOS2. Ситуация кардинально поменялась Теперь контролы ввода меняют свой вид как по MouseEnter/MouseLeave, так и при фокусе на них появляется рамка.
Может быть года 2 назад у скинов Shine и Sapphire и было такое поведение (точно не помню), но не даром же при обновлении АС рекомендуется так же и обновлять скины, т.к. в них могу вноситься изменения, что, по-видимому, и произошло.
И, (не обязательно, но ради интереса), можно запостить сюда кусок скриншота с Edit'ами из вашей старой программы, где они подсвечиваются при фокусировании?
WitcherParticipantА она точно была? Во всех скинах?
Насколько я помню, такое было лишь в некоторых скинах.
WitcherParticipantКакая у вас операционная система и конфигурация железа?
Есть подозрение, что просто не хватает ресурсов машины, у меня на старых клиентских машинах порой тормоза наблюдаются вообще при анимации формы, не говоря про Extended Borders.
Ниже прилагаю видео, в котором пробовал проделать описанное вами. Только учтите, что само по себе видео подтормаживает (из-за его сжатия, полагаю), а в реальности все выглядит значительно лучше (хотя некоторое мерцание формы есть, практически не заметное). Win XP SP3.
WitcherParticipantА можно хотя бы приблизительный пример формы, которая должна скинироваться иначе?
Или хотя бы скриншот.
Что-то подсказывает мне, что 2 скин-менеджера все же вполне могут справиться с этой задачей, если сделать все аккуратно.
-
AuthorPosts