Форум: "KOL";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизСвойства TKolPanel Найти похожие ветки
← →
Юрий (2003-02-13 18:52) [0]Сегодня скачал библиотеку и уже появились вопросы.
Вопросы по свойствам панели:
В VCL панель имеет свойство BorderStyle, когда выбираешь bsNone, то края панели становятся невидимыми. В КОЛ панель имеет свойство Border, какое число не ставлю ( в том числе и 0 ), ничего не меняется.
Первый вопрос: Как сделать, чтобы края панели были невидимыми?
Если выбираю свойство Align ( caTop, caClient и т.д. ), чтобы панель заняла определённую область, то свойство Left принимает значение 2, а не ноль ( есть отступ от края формы, что выглядит не очень красиво ). Между двумя панелями со свойствами Align caTop и caClient также присутствует промежуток, а хочется, чтобы они лежали плотно и края их видны не были, а такое нужно очень часто.
Второй вопрос: Как сделать, чтобы панель занимала определённую область на форме без отступа от края формы или от края другой компоненты?
Третий вопрос: Такие свойства у панели, как BevelInner, BevelOuter и BevelWidth отсутствуют или имеют место быть?
← →
SPeller (2003-02-13 20:54) [1]
> В VCL панель имеет свойство BorderStyle, когда выбираешь
> bsNone, то края панели становятся невидимыми. В КОЛ панель
> имеет свойство Border, какое число не ставлю ( в том числе
> и 0 ), ничего не меняется.
Есть такое свойство. А вот свойство Border - это то самый отступ в 2 пикселя от краёв. Т.е. если ты поставишь его форме в 0, то панелька у тя будет Left=0, Top=0 и т.д.
> Третий вопрос: Такие свойства у панели, как BevelInner,
> BevelOuter и BevelWidth отсутствуют или имеют место быть?
Таких нет. Если очень надо, то не трудно нарисовать самому.
← →
Юрий (2003-02-14 15:44) [2]"А вот свойство Border - это то самый отступ в 2 пикселя от краёв. Т.е. если ты поставишь его форме в 0, то панелька у тя будет Left=0, Top=0 и т.д."
Это не так. На форму положил 2 панели caTop и caClient. Какое число свойству Border не задавай, Left всегда равна нулю.
А что нужно сделать, чтобы края панели не были видны? Эта возможность крайне важна, панель без этого мало пригодна на мой взгляд.
← →
Kladov (2003-02-14 15:47) [3]EdgeStyle = (esRaised, esLowered, esNone)
← →
Юрий (2003-02-14 15:55) [4]Повтор из-за ошибки:
"А вот свойство Border - это то самый отступ в 2 пикселя от краёв. Т.е. если ты поставишь его форме в 0, то панелька у тя будет Left=0, Top=0 и т.д."
Это не так. На форму положил 2 панели caTop и caClient. Какое число свойству Border не задавай, Left всегда равна числу 2.
← →
SPeller (2003-02-14 16:00) [5]
> Это не так. На форму положил 2 панели caTop и caClient.
> Какое число свойству Border не задавай, Left всегда равна
> числу 2.
А нолик пробовал присваивать?
← →
Юрий (2003-02-14 16:28) [6]"А нолик пробовал присваивать?"
Попробовал присвоить для трёх панелей нолик свойству Border и в программе, но разницы не вижу? Может я не то и не так делаю. Думаю, что в реализации панели что-то не так, а это лучше посмотреть автору, ему ведь лучше знать - куда смотреть.
"implementation
{$IFNDEF KOL_MCK} {$R *.DFM} {$ENDIF}
{$IFDEF KOL_MCK}
{$I Unit1_1.inc}
{$ENDIF}
// присвоение нуля
procedure TForm1.FormCreate(Sender: TObject);
begin
pTop.Border := 0; pBot.Border := 0; pAll.Border := 0;
end;"
← →
Alexander (2003-02-14 16:57) [7]Поменяй у KOLForm.Border := 0;
← →
Юрий (2003-02-14 17:12) [8]"Поменяй у KOLForm.Border := 0;"
Уже получше, спасибо. Но небольшая разница с VCL всё же видна, между панелями остаётся зазор ( в 1 пиксель, полагаю ), а в VCL панели к друг другу прилегают плотно.
← →
Kladov (2003-02-15 11:47) [9]
> между панелями остаётся зазор ( в 1 пиксель, полагаю ),
>
Это панели так рисуют себя сами. Сделайте панелям EdgeStyle=esNone, и назначьте им разный цвет, чтобы убедиться.
← →
Юрий (2003-02-17 14:49) [10]Эффект ещё неожиданен, из трёх панелей caTop, caClient, caBottom только caBottom панель остаётся цветной после запуска приложения, две других панели принимают цвет формы, хотя свойство ParentColor стояло для них False. То что отличаются расположение панелей в KOL и VCL по прилеганию к друг другу, видно невооружённым взглядом. Возможно, это связано с тем, что в VCL присутствует дополнительно свойство BevelWidth, не знаю. Но факт, что панели в двух приложениях рисуют себя по разному.
← →
mdw (2003-02-17 16:26) [11]Эффект ещё неожиданен, из трёх панелей caTop, caClient, caBottom только caBottom панель остаётся цветной...
Попробовал, с тремя панелями - все нормально (и все цветные, и лежат вплотную, у KOLForm.Border := 0).
А если нужна панель а-ля VCL - посмотри в Компонентах там оно есть, но размер будет побольше:)))
← →
Юрий (2003-02-17 17:00) [12]2 mdv:
У меня так на Delphi5 для трёх панелей с Align caTop, caClient, caBottom:
VCL:
BevelWidth 1, BoderWidth 0, BevelOuter bvRaised, color clBtnFace - при запуске панели лежат плотно.
KOL: Border 0 ( у формы также ), edgeStyle esRaised, color clBtnFace - при запуске визуально видны зазоры между панелями.
Попробуй у себя оба варианта, будет ли у тебя разница визуално видна? Сможешь ли подобрать свойства такими, чтобы панели смотрелись как в VCL примере.
Есть дополнительный вопрос - за что отвечает свойство VerticalAlign, и почему нет GorizontalAlign?
← →
Alexander (2003-02-17 17:06) [13]Всё дело в отличии отрисовки esRaised для VCL и KOL: в KOL толщина линий 2 пиксела.
to Vladimir Kladov: для чего так сделано? ведь панель так болеше кнопку напоминает.
← →
Юрий (2003-02-17 17:42) [14]А самому где можно подправить? Если в курсе, как это сделать, подскажите?
← →
Юрий (2003-02-17 17:45) [15]Кстати в VCL эту толщину линий можно самому менять через BevelWidth, а в KOL этого почему то нет. Экономия?
← →
Kladov (2003-02-17 18:45) [16]Если у вас есть проект, который ведет себя очень странно. Делаете минимально возможный, демонстрирующий эффект. И высылаете мне исходник. В сжатом виде, без exe, dcu, dsm и прочих ненужных файлов. И с кратким пояснением эффекта. А я посмотрю.
← →
mdw (2003-02-17 19:04) [17]В VCL панель рисуется внутри. А в KOL просто создается окно с бордером. Поэтому тебе сразу и посоветовали самому рисовать. Мне тоже не очень нравяться выпуклые панели, поэтому сделал свою в стиле VCL (c BevelOuter, BevelInner, BevelWidth, BorderWidth, BorderStyle).
← →
Юрий (2003-02-17 19:14) [18]2 mdw: Может пришлёшь коды для панели, что ты сделал в стиле VCL, на yk2@mail.ru? Буду очень благодарен.
← →
mdw (2003-02-17 23:39) [19]2 Юрий
Так на этом сайте и лежит. http://kol.mastak.ru/files2.html
← →
SPeller (2003-02-18 13:52) [20]А не проще ли поиграться со стилями WS_EX_CLIENTEDGE, WS_EX_STATICEDGE, WS_EX_WINDOWEDGE ?
← →
Юрий (2003-02-18 15:30) [21]2 mdw:
Ok, спасибо!
2 Speller:
Где поиграться со стилями, в модуле KOL.Pas, пробовал ли сам?
← →
BorisMor (2003-02-18 15:36) [22]Style у каждого контрола есть.
← →
SPeller (2003-02-18 15:40) [23]TControl.ExStyle - там комбинация флагов WS_EX_ . Для бОльшей информативности почитай доки в том же Win SDK о ф-ции CreateWindowEx.
← →
Kladov (2003-02-18 16:50) [24]Вдавленный тонкий получается и просто esLowered. А как сделать выпуклый тонкий - у меня не получилось.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.042 c