Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Можно ли регулировать положение текста (caption) TPanel?   Найти похожие ветки 

 
Lebedev ©   (2006-11-13 08:04) [0]

Если по умолчанию присвоить какое-то значение свойству Caption TPanel, то текст располагается ровно по центру. А есть ли возможность манипулировать его положением? Например чтобы он начинался с верхнего левого угла.

Спасибо!


 
Gydvin ©   (2006-11-13 08:17) [1]

Связка tpanel и tpaintbox


 
Lebedev ©   (2006-11-13 08:20) [2]


> Связка tpanel и tpaintbox

Поясните пожалуйста, подробнее.

------------------------------------

И подскажите ещё пожалуйста, как быть, чтобы слишком длинная строка автоматически переносилась на следующую строку. А то если предложение слишком длинное, то оно просто не вмещается, так занимает всего одну строку (в центре) по умолчанию.


 
Думкин ©   (2006-11-13 08:28) [3]


> Gydvin ©   (13.11.06 08:17) [1]

Канва у TPanel доступна итак.
type THackPanel = class(Tpanel);

THackPanel(panel1).Canvas


 
Думкин ©   (2006-11-13 08:41) [4]

Только к Caption в TPanel это уже мало относится. У него только Alignment.


 
Gydvin ©   (2006-11-13 08:50) [5]


> Думкин ©   (13.11.06 08:28) [3]

Ух ты. Непонял почему так происходит.

[2]

procedure TForm1.Button1Click(Sender: TObject);
var
 s: string;
 r: trect;
begin
 s := "bla bla bla";
 r := rect(0, 0, panel1.Width, panel1.Height);
 with THackPanel(panel1).Canvas do begin
  drawtext(handle, pchar(s), length(s), r, DT_WORDBREAK)
 end;

end;

читать описание drawtext


 
Gydvin ©   (2006-11-13 08:52) [6]


> Думкин ©   (13.11.06 08:41) [4]
>
> Только к Caption в TPanel это уже мало относится. У него
> только Alignment.

Рисовать ни кто не запрещает ))))


 
Думкин ©   (2006-11-13 09:01) [7]


> Gydvin ©   (13.11.06 08:50) [5]

Потому что protected. Доступ у потомков к protected полям разрешен в модуле описания потомка, а если поднимет уровень видимости - то соответственно ему.


 
Думкин ©   (2006-11-13 09:02) [8]


> к protected полям

предка


 
Anatoly Podgoretsky ©   (2006-11-13 09:02) [9]

> Lebedev  (13.11.2006 08:04:00)  [0]

TLabel/TStaticText


 
Lebedev ©   (2006-11-13 09:05) [10]

Хорошо. Спасибо. Поработаю над этим всем.


 
Percent   (2006-11-13 10:06) [11]

Думкин ©  

type THackPanel = class(Tpanel);
THackPanel(panel1).Canvas


Не советуй этого начинающим, хорошо?

Lebedev ©

Зачем тебе эти изощрения?
Чем стандартные компоненты для надписей [9] не подошли?


 
Anatoly Podgoretsky ©   (2006-11-13 10:15) [12]

> Percent  (13.11.2006 10:06:11)  [11]

> Не советуй этого начинающим, хорошо?

И продвинутым тоже.


 
Думкин ©   (2006-11-13 11:16) [13]


> Percent   (13.11.06 10:06) [11]
> Думкин ©  
>
> type THackPanel = class(Tpanel);
> THackPanel(panel1).Canvas
>
> Не советуй этого начинающим, хорошо?

А почему? Можно объяснений?


 
Anatoly Podgoretsky ©   (2006-11-13 11:26) [14]

> Думкин  (13.11.2006 11:16:13)  [13]

> Не советуй этого начинающим, хорошо?
> А почему? Можно объяснений?

Не учи плохому.
Тебе же не надо объяснять, что подобное дурной тон, речь не идет о том, работает или нет.


 
Думкин ©   (2006-11-13 11:50) [15]

Ну полноценного предка написать было бы кузявее.
Уговорили, ворчуны.


 
Shirson ©   (2006-11-13 12:08) [16]

Lebedev, попробуйте несколько иной путь. Например не использовать кэпшин самой панели, а использовать дополнительный TLabel и позиционировать его внутри Panel как вам самому удобно.


 
Gydvin ©   (2006-11-13 13:14) [17]


> Lebedev, попробуйте несколько иной путь. Например не использовать
> кэпшин самой панели, а использовать дополнительный TLabel
> и позиционировать его внутри Panel как вам самому удобно.
>

Это изврат имхо.
Тогда уж лучше изменить [5] использовав там паинтбокс, опять же имхо


 
Lebedev ©   (2006-11-14 08:28) [18]

Пытался сделать, но как то не получается то, что хотел.

Если поместить Tlabel на TPanel но ситуация не меняется, длинное предложение пишется в одну строку, и если ширина панели меньше, то оставшуюся часть предложения просто не видно. Есть какой способ чтобы текст автоматически переносился?

А вот с TPainBox вообще не получилось. Можете привести, пожалуйста, пример минимального кода для вывода текста на него? И перенос текста у него автоматический?


 
Anatoly Podgoretsky ©   (2006-11-14 08:59) [19]

> Lebedev  (14.11.2006 08:28:18)  [18]

Ну а нормальные пацаны осознано не применяют StaticText


 
Думкин ©   (2006-11-14 10:56) [20]


> Lebedev ©   (14.11.06 08:28) [18]

WordWrap


 
Lebedev ©   (2006-11-15 07:58) [21]

Вообще вычитал кое-где. Чтобы текст переносился в таких компонентах как label и statictext надо свойство avtosize установить в false. Тогда и не размеры компонента меняются, а текст переносится.

А вот подскажите как возможно из программы добраться до свойств текста caption любого из эти компонентов. Я пытаюсь стандартным способом добраться, но после ветки
StaticText1.Font.Style.
Уже ничего не отображается. А хочется программно, когда надо, делать текст жирным.
------------------------
Из любопытства что такое WordWrap? Такого компонента не нашёл.


 
ASoft   (2006-11-15 08:13) [22]


> Из любопытства что такое WordWrap? Такого компонента не
> нашёл.
>

это свойство, того же Label. Устанавливая его, ты, либо разрешаешь, либо нет перенос текста


 
Gydvin ©   (2006-11-15 08:58) [23]

StaticText1.Font.Style:=[fsbold]


 
Anatoly Podgoretsky ©   (2006-11-15 09:42) [24]

> Lebedev  (15.11.2006 07:58:21)  [21]

> Вообще вычитал кое-где. Чтобы текст переносился в таких компонентах как label и statictext надо свойство avtosize установить в false. Тогда и не размеры компонента меняются, а текст переносится.

Что то ты странное читал


 
ASoft   (2006-11-15 10:37) [25]


> Lebedev  (15.11.2006 07:58:21)  [21]

читать надо между строк ;)

> Anatoly Podgoretsky ©   (15.11.06 09:42) [24]

тем не менее, по моему есть некрасивая заморочка при совместном использовании WordWrap и avtosize.. особенно, если перед этим, label.caption   был = "" :-)


 
Anatoly Podgoretsky ©   (2006-11-15 10:45) [26]

> ASoft  (15.11.2006 10:37:25)  [25]

> по моему есть некрасивая заморочка при совместном использовании WordWrap и avtosize

И как же они стыкуются, одновременно и авто и не авто.


 
ASoft   (2006-11-15 10:49) [27]


> И как же они стыкуются, одновременно и авто и не авто.

в том-то и дело, что ни как :) А вот WordWrap и avtosize - криво ;)


 
Anatoly Podgoretsky ©   (2006-11-15 13:01) [28]

> ASoft  (15.11.2006 10:49:27)  [27]

Надо что то отдно из двух.



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.057 c
15-1163175707
Ketmar
2006-11-10 19:21
2006.12.03
я знаю, что все читают. я знаю, что баян. но...


15-1163534530
Виталий Панасенко
2006-11-14 23:02
2006.12.03
FireBird. Руководство разработчика баз данных


2-1163775483
lobach
2006-11-17 17:58
2006.12.03
Текстовый файл


2-1163394280
Lebedev
2006-11-13 08:04
2006.12.03
Можно ли регулировать положение текста (caption) TPanel?


6-1152708209
bobah
2006-07-12 16:43
2006.12.03
Как лучше реализовывать архитектуру клиент-сервер