Forum Replies Created
-
AuthorPosts
-
TCountParticipant'Support' wrote:
Этого свойства не будет у каждой секции в версии 9, анимация будет сразу включена.
Хорошо, а скорость анимации будет настраиваться?
TCountParticipant'Support' wrote:1. Правильно
2. Про AlphaBlend можно не забывать )
3. Да, они специально оптимизированы под использование со скинами
4. Советую посмотреть этот топик: http://www.alphaskins.com/forum/index.php?showtopic=5889&view=findpost&p=33272
5. Про “осторожно” – правильно. При включенных ExtendedBorders изменение размеров за правый и нижний край формы происходит с лучшей перерисовкой, намного меньше черных прямоугольников. И часто ресайз формы быстрее, если включены ExtendedBorders. Если есть какие-то проблемы с этим, желательно описание мне прислать и желательно с демкой 🙂
Спасибо! Про AlphaBlend порадовало:)
TCountParticipant'Support' wrote:Не работает.
В последних версиях Windows не работает и без скинов тоже, если не ошибаюсь.
Спасибо за ответ.
Действительно, в “стандартной раскладке” это свойство не работает. Просто я подумал, что может Вы реализовали)
В принципе, это не важно, просто было интересно.
Меня больше беспокоит то, что при появлении меню оно как бы мигает (либо всё целиком, либо только рамка).
Говоря в целом, заметил такое поведение и, например, в муз. плеере Aimp. Не знаю, может ее внешний вид сделан с помощью AC, либо это снова проделки Windows:)
TCountParticipant'AbverSoft' wrote:sTrackBar при trVertical не правильно отображает значение т.е если выставить значение “мин -20” “макс 20” и поставить позицию “-7” то на sTrackBar значение “-7” отображается на вверху а должно быть внизу
стандартный TrackBar
– +20
–
– 0
–
— -7
– -20
sTrackBar
– +20
– -7
– 0
–
—
– -20
Вообще, по логике так и должно быть – вверху минимальные значения, внизу максимальные.
-20
…
-7
0
…
+20
Да и без разницы, просто в проге виузально оформь, как будто вверху значения +, а внизу -.
TCountParticipant'Support' wrote:Теперь понятно.
У меня сейчас тестируется версия 9, там много всяких новшеств и добавлено свойство ShiftContentOnClick в TsSkinManager.
Оно как раз указывает, когда нужно запретить этот сдвиг контента.
Вроде уже все работает и если нужно прямо сейчас, то я могу подготовить и выложить ссылки на эту Бету.
И мне теперь понятно) И я тоже ждал такого свойства, которое запрещело бы сдвигать контент куда-либо.
Здорово, что еще сказать:)
TCountParticipant'Support' wrote:s_GlobalInfo нужно заменить на s_TrackBar
Сорри, что сразу не написал, вот так это выглядит:
BorderIndex := SM.GetMaskIndex(SM.GetSkinIndex(s_TrackBar), s_TrackBar, s_SliderChannelMask);
Огромное спасибо! Работает 🙂
И последний вопрос по этой теме. Какой константой описаны бордюры sTrackBar?
P.S. Уже понял, s_BordersMask. Для любого компонента 🙂
TCountParticipant'Support' wrote:При добавлении новых пунктов никаких сообщений не приходит.
В какой момент добавляются эти MenuItems? При открытии меню?
Они добавляются при скрытом меню. Это не важно, все нормально. Я или с хуками буду или добавлю секцию формы в скин. Спасибо 🙂
TCountParticipant'Support' wrote:Здесь внизу об этом:
Спасибо.
Именно так я и делал всегда – через хук. Но ведь самое интересное, что если секция “Form” имеется в скине, то и хук не нужно применять, потому
что все прорисовывется.
TCountParticipant'Support' wrote:Да, это он и есть.
Сначала просто перебрал индексы, где-то до 76, дальше, видимо, уже ничего нет. Не встретил там ничего от изображений трэкбара.
Так тоже возвращает индекс -1:
BorderIndex:=SM.GetMaskIndex(SM.ConstData.IndexGlobalInfo, s_GlobalInfo,s_SliderChannelMask);
TCountParticipant'Support' wrote:В модуле sGraphUtils есть функция
function CreateAlphaBmp(const SrcMaskedBmp: TBitmap; const SrcRect: TRect): TBitmap;
Думаю, это то, что нужно.
Пример использования:
Code:if DefaultManager.ma[BorderIndex].Bmp = nil then
SBmp := DefaultManager.MasterBitmap
else
SBmp := DefaultManager.ma[BorderIndex].Bmp;ABmp := sGraphUtils.CreateAlphaBmp(SBmp, DefaultManager.ma[BorderIndex].R);
BorderIndex – это индекс картинки в массиве Manager.ma, с этим индексом нет проблем?
Спасибо огромное, уже чувствую, что это должно работать.
Вот как раз меня смущает этот индеск и соответственно вопрос: этот индекс можно получить для любой картинки?
В примере из Demo-apps индекс определяется так:
ImageIndex := sSkinManager1.GetMaskIndex(sSkinManager1.ConstData.IndexGlobalInfo, s_GlobalInfo,{внутреннее имя картинки});
Я смотрел константы картинок в модуле sSkinProps.
TCountParticipant'Support' wrote:Добрый день. В AlphaControls нет средств сохранения в формате Png, только чтение.
Могу сказать как сохранить в формате Bitmap 32 (где альфаканал – маска), но не Png.
Да-да! Забыл уточнить, что даже желательнее именно Bitmap 32bit. Буду благодарен Вам:)
Просто мне нужно скопировать некое изображение (с Alpha-каналом) из скина и далее использовать его в работающей программе.
TCountParticipant'Stertor' wrote:Здравствуйте, товарищи! Задался целью сделать кнопки вот с таким поведением (см. прилож. видео). Возможно ли это сделать с помощью alphaskins?
Не совсем понял задачи и что необычного в таких кнопках. Например, при помощи обычного TsBitBtn можно сделать такие кнопки.
Естественно, с любым фоном и формой кнопки.
TCountParticipant'alikskonst' wrote:да, от процедуры отказался сразу
решил по другому (цикл перелопачивания содержимого папки оставил):
var
lst1:TSearchRec;
begin
//
Form1.sImageList1.Items.Clear;
if FindFirst(ExtractFilePath(ParamStr(0))+'homeplimglist1*.png',faAnyFile,lst1)=0 then
begin
repeat
if FileExists(ExtractFilePath(ParamStr(0))+'homeplimglist1'+lst1.Name) then
begin
Form1.sImageList1.LoadFromFile(ExtractFilePath(ParamStr(0))+'homeplimglist1'+lst1.Name);
end;
until FindNext(lst1)<>0;
FindClose(lst1);
end;
//
end;
спасибо за помощь
Вот так и нужно было. Советую оптимизировать вот так:
var
lst1:TSearchRec;
path: string;
begin
//
Form1.sImageList1.Items.Clear;
path:=ExtractFilePath(ParamStr(0))+'homeplimglist1';
if FindFirst(path+'*.png',faAnyFile,lst1)=0 then begin
repeat
try
Form1.sImageList1.LoadFromFile(path+lst1.Name);
except end;
until FindNext(lst1)<>0;
FindClose(lst1);
end;
//
end;
TCountParticipant'Support' wrote:Спасибо
Дело в том, что назначение у события другое, это не то же, что OnClick.
OnValueChanged возникает при изменении свойства Checked, как написано в первом сообщении.
При изменении свойства Checked оно должно вызываться, нужна демка где это не работает.
Теперь понятно) Я попробовал программно изменить свойство Checked и событие произошло. Спасибо за разъяснения.
TCountParticipant'Support' wrote:Оно там есть только потому, что люди просили о таком событии. Можно пример посмотреть, где оно не работает?
Вот примерчик на Delphi.
TCountParticipant'DetSimen' wrote:Та я всё понимаю, как мама дорогая, только зачем тогда это событие наружу выставлять? Несколько раз уже накалывался, выставлю обработчик на это, вполне адекватное и правильно названное, событие, а оно не вызываецца, приходится OnClick на него перенаправлять, тогда всё работает. 🙂 Не исправят – и не надо, просто убрали бы его из published тогда.
Согласен 🙂
TCountParticipant'DetSimen' wrote:Почему-то у меня не вызывается OnValueChanged при смене значения Checked:= False/True;
Альфы версии 8.52, Дельфи ХЕ2, Виндовс 7 х86.
У меня тоже не вызывается, хотя я не вижу в этом событии никакого смысла, т.к. с тем же самым отлично справляется и OnClick, в котором и получаешь состояние бокса)
TCountParticipant'alikskonst' wrote:оке, спс, сейчас попробую все это в цикл впихнуть
если получится, то я здесь код покажу
Только процедура SetPng совсем необязательная. Ей я просто хотел показать, что итемы реально загружаются в AlphaImageList 🙄
Основной метод для загрузки – это LoadFromFile. Перебираешь пабку с Png'шками и каждую загружаешь этим методом.
TCountParticipant'Support' wrote:Version 9 will be released at the next month.
But I can share it for registered users right now, if someone want test it. 🙂
Perfect! :a3:
TCountParticipant'ralfiii' wrote:Cool!!! Looking forward to testing it…
It will not be soon. I noticed that version comes out about once a month.
-
AuthorPosts