Forum Replies Created
-
AuthorPosts
-
pukinParticipant
Привет.
Сам этим компонентом не пользовался, но смею предположить, что у него есть какое-нибудь событие, в котором он передаёт свой Sender. Через Sender компонента можно добраться (Parent.Parent…) до корневой панели и узнаешь необходимую информацию. Дебугрежим тебе в руки. <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />pukinParticipantПривет.
“Cannot focus a disabled or invisible window“
Ищи (CTRL+SHIFT+F) “.SetFocus;” по своему проекту.
Вероятно, найдёшь в каком-нибудь из обработчиков событий SkinManager/SkinProvider.Безусловно, лучшим решением будет сделать демку, но что-то мне подсказывает, в ней данная ситуация не будет воспроизводится
pukinParticipantPukin ты не прав (с)
У каждого своя правда.А мне кажется, что если в проекте есть с десяток PageControl, то реализовывать для каждого функционал переноса табов не совсем правильно, если это легко можно сделать в самом компоненте.
Достаточно создать один свой наследник от класса TsPageControl и реализовать в нём всё что угодно.Как это не является проблемой?? А править генофонд Вы считаете верным вариантом? <img src="style_emoticons//laugh.gif” style=”vertical-align:middle” emoid=”:lol:” border=”0″ alt=”laugh.gif” />
К тому-же саппорт пообещал 9 декабря Попробую сделать что-то в sPageControl скоро, может получится. <img src="style_emoticons//tongue.gif” style=”vertical-align:middle” emoid=”:P” border=”0″ alt=”tongue.gif” />
Ну не обещал, а сказал, что “попробует”. Повторюсь, это не проблема Alpha Controls – это проблема Delphi, причём, довольно старая. <img src="style_emoticons//dry.gif” style=”vertical-align:middle” emoid=”<_pukinParticipantОчень хотелось-бы, чтобы TsPageControl имел свойство перемещения вкладок, ну и соответственно свойство разрешающее / запрещающее данный функционал. В демке показан стандартный пример реализации.
Нет отступа для кнопки закрытия вкладки, кнопка перекрывает текст. Недоделка с бородой, которую до сих пор не поправили… не думаю что это сложно реализовать <img src="style_emoticons//wub.gif” style=”vertical-align:middle” emoid=”:wub:” border=”0″ alt=”wub.gif” />
Мне кажется, что данный функционал программист должен реализовывать сам. К тому же это не так уж и сложно. 10 мин. работы от силы.Случайно наткнулся, катастрофическая ошибка, скорее всего она и вызывает всякие тормоза и вылет программ. Видео в замедленном действии, и видно, что когда закрываешь одну вкладку, то сначала активной становится предыдущая вкладка, потом первая вкладка, а потом опять предыдущая вкладка. Функция на закрытие вкладки вряд-ли может создать такой глюк, она лишь уничтожает форму на вкладке
Это “катастрофическая ошибка” – не является проблемой AC. Вам следует заглянуть в этот топик: http://www.alphaskins.com/forum/index.php?showtopic=4873pukinParticipantвсе простые способы я уже перепробовал.. :'-(я имею в виду – может есть какие-то AlphaControls-специфичные штуки-дрюки.. типа PrepareForAnim/AnimShowControl
Мой вариант чем не подошёл? <img src="style_emoticons//blink.gif” style=”vertical-align:middle” emoid=”:eek:” border=”0″ alt=”blink.gif” />pukinParticipantПеред изменением размеров: LockWindowUpdate(Form1.Handle);
После изменения размеров: LockWindowUpdate(0);<img src="style_emoticons//rolleyes.gif” style=”vertical-align:middle” emoid=”:roll:” border=”0″ alt=”rolleyes.gif” />
pukinParticipantpukin, искренне благодарю!
Нашёл подтверждение, что это возможно:
http://www.alphaskins.com/forum/index.php?showtopic=2305
Да не за что <img src="style_emoticons//blush.gif” style=”vertical-align:middle” emoid=”:blush:” border=”0″ alt=”blush.gif” />По поводу стиля формы “без рамок”: имеется ввиду Forms.BorderStyle?
Да, TForm.BorderStyle := bsNone;pukinParticipantQUOTE (SoftSintez @ Dec 16 2009, 11:30 AM) <{POST_SNAPBACK}>К этой же теме.
AC 6.52 ОС Любая.
При отображении окна невидно главного меню, пока на него не наведешь.
Пункты создаются динамически на OnShow формы.
В 6.48 проблемы нет
На вскидку..
Быть может, попробовать добавить sSkinManager.SkinableMenus.UpdateMenus; после дин. создания меню?pukinParticipantНасколько мне известно, есть способ получения графики шкурок для системных кнопок окна. Если интересно – поиск по форуму решит эту проблему.
А вот по поводу “красивого стиля с рамками” не совсем понял..pukinParticipantСамый простой способ – стиль формы без рамок и реализовывать свой заголовок, имитируя события системных кнопок самому.
pukinParticipantПервая вкладка отрисовывается с небольшим отступом от левого края, а на самом PageCоntrol этот край закруглен. Вот это мне и надо получить.
Astii ответил вам как это можно реализовать.
+ Для закруглённости краёв у шкурки TsPageControl – надо править ручками тот скин, который вы используете в проекте.pukinParticipantВерсия 6.51 бета.
1. У Form2 свойство Visible:=true. Но при запуске приложения Form2 мелькнет и пропадает. Даже принудительно через Visible:=true не появляется (причем не важно SkinManager1.ExtendedBorders:= true или false).
2. На Form1 есть PageControl (стандартный или от AC не важно). Если у главной формы ExtendedBorders:=true, то заголовок окна не появляется, пока не пощелкаешь по вкладкам PageControl.Система win7. В версии 6.48 такого не наблюдалось и все было ок.
Создайте отдельный топик, также приложите небольшую демку демонстрирующую вашу проблему.pukinParticipantПоискать можно, там буквально пару строчек менял. Проблема, как раз кроется в FindNextPage.
Попробуйте, сделать копию ComCtrls.pas в свой проект и “подебажте” данную ситуацию.Кстати, проблема, также, легко решается путём предварительного перехода на желаемую закладку (ActivePageIndex) перед освобождением закрываемой. Благо, все необходимые обработчики событий для реализации этого у вас есть.
pukinParticipantПомню было такое дело. Решил путём копирования файла ComCtrls.pas в свой проект и правки некоторых функций.
pukinParticipantПриношу извинения. Демкой не воспроизвёл. Видимо у меня бага.
pukinParticipantВставлю свои пять копеек.. <img src="style_emoticons//rolleyes.gif” style=”vertical-align:middle” emoid=”:roll:” border=”0″ alt=”rolleyes.gif” />
А смысл? Панель ведь все равно будет непрозрачна? Будет видна полупрозрачная картинка а под нею панель <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
Может лучше форму на весь экран сделать черного цвета, BorderStyle := bsNone и сделать ее полупрозрачной? Если нужно весь экран затемнить.
PS. Тему нужно было по-другому назвать <img src="style_emoticons//wink.gif” style=”vertical-align:middle” emoid=”;)” border=”0″ alt=”wink.gif” />
Имхо, Сергей предложил лучший вариант.Слепил небольшой примерчик:
[attachment=3563:ShadeFormEasy.zip]Безусловно требует оптимизации, но результат не хуже чем у TsSemitransPanel и, к тому же, позволяет ресайзить главное окно.
pukinParticipantЕдинственное что – а не “тяжеловат” ли компонент для такой задачи? Помню ставил EmbeddedWB, так размер исполняемого файла вырос существенно <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
то есть был ли отнаследован от RichEdit, или же от обычного Memo.
Поэтому я упомянул TEwbCore . Не тяжеловат и реализация задачи займёт 20 минут. А вес программы всегда можно ужать каким-нибудь компрессором, аля upx. <img src="style_emoticons//rolleyes.gif” style=”vertical-align:middle” emoid=”:roll:” border=”0″ alt=”rolleyes.gif” />pukinParticipant2. Как узнать на какую вкладку кликнули правой кнопкойЗаранее спасибо за ответы..
В событие OnMouseDown узнавай над какой закладкой находится мышка.
Пример:CODEvar
ClickPgIndex : integer;
HitTestInfo : TTCHitTestInfo; // CommCtrl.pas
begin
if Button mbRight then exit;
with HitTestInfo do
begin
pt.x := X;
pt.y := Y;
flags := 0;
end;
ClickPgIndex := SendMessage(TsTabSheet(Sender).Handle, TCM_HITTEST, 0, Longint(@HitTestInfo));
if ClickPgIndex=-1 then exit;
end;
<img src="style_emoticons//rolleyes.gif” style=”vertical-align:middle” emoid=”:roll:” border=”0″ alt=”rolleyes.gif” />pukinParticipantНасколько я помню, TEwbCore из того же пакета Embedded Web Browser является более облегчённой версией и в нём есть проперти UserInterfaceOptions.
Так вот, если ты установишь что-то типо:CODETEwbCore.UserInterfaceOptions := [DisableHelpMenu, DontUse3DBorders, DontUseScrollBars];
то получишь то что хотел, а вообще покопайся, скорей всего, найдёшь ещё что-нибудь интересненькое.Главное не забудь обработать такие события, как F5 – перезагрузка страницы, Drag'n'drop другой страницы в область компонента и прочее, что может являться дыркой в твоей программе <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
pukinParticipantЧто-то мне подсказывает, что вам, в вашей ситуации определённо поможет компонент Embedded Web Browser.
Поверьте, врядли найдётся кто-то у кого есть свободное время, чтобы сделать вашу работу за вас. Демки не будет, по крайней мере бесплатно <img src="style_emoticons//laugh.gif” style=”vertical-align:middle” emoid=”:lol:” border=”0″ alt=”laugh.gif” />Компонент TEmbeddedWB бесплатный.
Форматированный текст вам позволит сделать любой HTML редактор.. Скролл бары убрать в TEmbeddedWB совсем не сложно, покопайтесь в Properties. С прозрачностью не выдет – просто сделайте задний фон у HTML странички такой же, какой у скина, который вы используете.Вообще, на вскидку, эта работа на минут 10 максимум пол часа.. Самое главное и сложное в любом деле – это начать это дело. <img src="style_emoticons//rolleyes.gif” style=”vertical-align:middle” emoid=”:roll:” border=”0″ alt=”rolleyes.gif” />
AuthorPosts