Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
7-42185
Speaker
2003-08-29 10:29
2003.11.13
Перенос данных в реестре


6-41871
Кирил
2003-09-09 20:57
2003.11.13
Помогите, найти ошибку


1-41628
Лана Розанова
2003-10-25 21:20
2003.11.13
QReport


1-41608
Данила
2003-10-26 21:12
2003.11.13
Отловить запуск excel/word/access


1-41360
esVer
2003-10-29 16:49
2003.11.13
Корректное освобождение памяти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский