- -
Delphi
(
http://forum.oszone.net/showthread.php?t=30795)
Roman Go |
19-10-2002 16:27 210195 |
Текст выводится с помощью метода TextOut, а вот как его вывести не с лева на право, а снизу-вверх не знаю, если кто знает подскажите, очень надо, вывожу его я на form1.canvas.
|
XXXX Pro |
20-10-2002 13:35 210196 |
Обычными средствами Delphi (во всяком случае Delphi 3) это вроде бы нельзя. Но можно сделать так:
Создай шрифт с помощью API-функции CreateFont, указав в orientation 900 (угол поворота в десятых долях градусов), а затем затем присвой полученный handle шрифту в Canvas.
Получится примерно вот что:
YourFont:=CreateFont(......);
Form1.Canvas.Font.Handle:=YourFont;
|
Roman Go |
21-10-2002 08:11 210197 |
Я сделал вот так, только вот одна проблема, при использовании моего шрифта сбросились все остальные настройки, например мой шрифт выводится подчеркнутым и в добавок ко всему еще и перечеркнутый.
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var shrift:tlogfont;
fontmy:hfont;
begin
shrift.lfEscapement:=900;
// shrift.lfFaceName:='Arial';
shrift.lfCharSet:=RUSSIAN_CHARSET;
fontmy:=CreateFontIndirect(shrift);
form1.canvas.font.handle:=fontmy;
form1.canvas.TextOut(50,50,'проба текста');
deleteObject(fontmy);
end;
|
Так вот не подскажете, как все настройки шрифта, кроме угла поворота сделать по умолчанию такими как у формы...
|
Roman Go |
23-10-2002 14:54 210198 |
Я таки разобрался, если кому будет интересно:
Цитата:
var LogRec: TLOGFONT; // Информация о шрифте
// Читаем текущюю информацию о шрифте
GetObject(Form1.Canvas.Font.Handle,SizeOf(LogRec) ,Addr(LogRec) );
// Изменяем угол
LogRec.lfEscapement := 900;
// Устанавливаем новые параметры
form1.canvas.Font.Handle := CreateFontIndirect(LogRec);
...
{тут я вывожу свой текст под углом}
...
//а тут я возвращаю параметры по умолчанию
LogRec.lfEscapement := 0;
form1.canvas.Font.Handle := CreateFontIndirect(LogRec);
|
Только тут вот какая проблема, эта штука поддерживает не все шрифты, а только определенные, если установлен шрифт, который это удовольствие не поддерживает, то ничего не получится, но это не проблема, думаю шрифт поменять не составит ни для кого особого труда, да хоть на тот же Times New Roman
|
Время: 19:26.
© OSzone.net 2001-