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

Вниз

Как расположить Label вертикально?   Найти похожие ветки 

 
rtm ©   (2007-08-14 06:20) [0]

Привет всем, дело в том что мне нужно на выноске разместить Label  в вертикальном положении , как это сделать?
Спасибо заранее.


 
{RASkov} ©   (2007-08-14 08:57) [1]

> [0] rtm ©   (14.08.07 06:20)

Надпись веритикально? В Лэйбле - никак.
Но можно в паинтбоксе, например, написать вертикально текст с использованием TFontLog....


 
rtm ©   (2007-08-14 09:43) [2]

Но все же есть метод реализации поворота текста Label на заданный угол или я ошибаюсь?


 
Ega23 ©   (2007-08-14 10:01) [3]


> Но все же есть метод реализации поворота текста Label на
> заданный угол или я ошибаюсь?


Ошибаешься. Есть CreateFontIndirect из WinAPI, которая может чё хочешь с фонтом на Канвасе сделать


 
{RASkov} ©   (2007-08-14 10:05) [4]

> [2] rtm ©   (14.08.07 09:43)

Почему именно TLabel? Можно и в нем сделать.... но смысл? получится также как и с паинтбоксом...рисовать на канве лэйблы потеряв при этом такие вещи как автосайз...


 
rtm ©   (2007-08-14 10:06) [5]

Ясно все, спасибо за ответы, я реализовал следующим методом:

.....
procedure TForm1.FormPaint(Sender: TObject);
var
 lf: TLogFont;
begin
 FillChar(lf, SizeOf(lf), 0);
 with lf do
 begin
   // Высота буквы
   lfHeight := 15;

   // Ширина буквы
   lfWidth := 20;

   // Угол наклона в десятых градуса
   lfEscapement := 100;

   // Жирность 0..1000, 0 - по умолчанию
   lfWeight := 1000;

   // Курсив
   lfItalic := 0;

   // Подчеркнут
   lfUnderline := 1;

   // Зачеркнут
   lfStrikeOut := 1;

   // CharSet
   lfCharSet := RUSSIAN_CharSet;

   // Название шрифта
   StrCopy(lfFaceName, "Arial");
 end;
 with Form1.Canvas do
 begin
   FillRect(ClipRect);
   Font.Handle := CreateFontIndirect(lf);
   TextOut(0, 100, "It is a text string");
 end;
end;
.....


 
{RASkov} ©   (2007-08-14 10:11) [6]

> [5] rtm ©   (14.08.07 10:06)

Вот и молодец ;)
Только... имхо, лучше так:
procedure TForm1.FormPaint(Sender: TObject);
var
lf: TLogFont;
Fn: THandle;
begin
.....
Fn:=CreateFontIndirect(lf);  //Создали
SelectObject(Canvas.Handle, Fnt); //Выбрали
//"Пишем"
DeleteObject(Fn); //Убили
end;


 
rtm ©   (2007-08-14 10:55) [7]

:) thank



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
1-1187058023
rtm
2007-08-14 06:20
2007.10.28
Как расположить Label вертикально?


2-1191413729
DimOk
2007-10-03 16:15
2007.10.28
CreateOleObject + 1Cv77+Vista


4-1177871978
Плиз_не_пинайте
2007-04-29 22:39
2007.10.28
Нужен файл TLHelp32.dcu


15-1191493107
Vlad Oshin
2007-10-04 14:18
2007.10.28
еще раз про матрицу :)


15-1191253648
vrem
2007-10-01 19:47
2007.10.28
Задачка :)