textout



Автор Web Money задал вопрос в разделе Другие языки и технологии

как сделать чтобы при нажатии на кнопку выводился заданный текст в Delphi. хелп и получил лучший ответ

Ответ от Ru-admin[гуру]
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Текст сообшения');
end;
--
Выбор: = MessageDlg( Сообщение, Тип, Кнопки, КонтекстСправки)
например
r:=MessageDlg('Файл '+ FName + ' будет удален. ', mtWarning, [mbOk,mbCancel] , 0) ;
--
Вывод текста может осуществляться методом TextOut, объявленным следующим образом:
procedure TextOut(X, Y: Integer; const Text: string);
Процедура TextOut пишет строку текста Text на канве, начиная с позиции с координатами (X, Y). Если цвет кисти Brush в момент вывода текста отличается от того, которым закрашена канва, то текст получится выведенным в цветной прямоугольной рамке. Но ее размеры будут точно равны размерам надписи. Если требуется более красивая рамка с отступом от текста, следует применять другой метод — TextRect. Этот метод определен следующим образом:
procedure TextRect (Rect :TRect; X, Y: Integer;
const Text: string);
Процедура TextRect пишет строку текста Text на канве, начиная с позиции с координатами (X, Y) — это левый верхний угол надписи. Параметр Rect типа TRect определяет прямоугольную рамку, в которую вписывается текст. Тип TRect определен следующим образом:
TRect = record
case Integer of
0: (Left, Top, Right, Bottom: Integer);
1: (TopLeft, BottomRight: TPoint) ;
end;
Координаты задаются и как четыре целых числа, определяющих координаты в пикселях левой (Left), верхней (Тор) , правой (Right) и нижней (Bottom) сторон прямоугольника, и как две точки типа TPoint, представляющие собой координаты левого верхнего и правого нижнего углов:
type TPoint = record
X: Longint;
Y: Longint;
end;
Началом координат обычно считается левый верхний угол экрана или окна.
При выводе текста методом TextRect часть текста, не помещающаяся в прямоугольную область Rect, усекается.
Надписи и в методе TextOut, и в методе TextRect делаются в соответствии с текущими установками шрифта Font. Пространство внутри области Rect в методе TextRect и фон надписи в методе TextOut закрашиваются текущей кистью Brush.
Для выравнивания позиции текста на канве и для задания красивой рамки в методе TextRect можно использовать методы, дающие высоту и длину выводимого текста в пикселях: методы TextWidth, TextHeight и TextExtent. Функция TextWidth:
function TextWidth (const Text: string): Integer;
возвращает длину в пикселях текста Text, который предполагается написать на канве текущим шрифтом. Функция TextHeight:
function TextHeight(const Text: string): Integer;
возвращает высоту в пикселях текста Text. Применение методов TextWidth и TextHeight позволяет перед выводом текста на канву определить размер надписи и расположить ее и другие элементы изображения наилучшим образом.
Имеется еще метод TextExtent, определенный следующим образом:
type
TSize = record
сх: Longint;
су: Longint;
end;
function TextExtent (const Text: string): TSize;
Метод возвращает одновременно и высоту, и длину текста. Метод TextWidth возвращает то же, что TextExtent(Text).cx, а метод TextHeight возвращает то же, что TextExtent(Text).cy.
Рассмотрим примеры применения всего этого на практике. Оператор
Form1.Canvas.TextOut(10, 10, s);
выводит текст, хранящийся в строковой переменной s, на канву формы Form1, начиная с позиции (10, 10). Если форма Form1 является той, в обработчике которой написан этот оператор, то ссылку на Form1 можно не делать:
Canvas.TextOut(10, 10, s) ;
Оператор
with Canvas do
TextOut((ClientWidth - TextWidth(s)) div 2,
TextHeight(s), s) ;
выводит текст на канву текущей формы, выравнивая его при любом шрифте по середине ширины канвы (ширина определяется свойством ClientWidth) и отступив одну строчку сверху. То же самое делает и оператор
with Canvas do
TextOut((ClientWidth - TextExtent(s).cx) div 2,
TextExten
http :// www. codenet. ru / progr / delphi / stat/API-Text. php - вот еще посмотри как тут
Источник:

Ответ от Jurijus Zaksas[гуру]
Выводился бы куда? Если кнопки - значит не консоль (справедливости ради стоит заметить, что эти дела совместимы, но это пока не твой уровень) . А следовательно надо кинуть какой-нибудь еще контрол на форму, в котором этот текст будет показан. Вот и кинь.
Можно еще просто так:
Canvas.TextOut(100,100,'Your text');
Но это, скажем так, недолговечный текст - до следующей перерисовки.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: как сделать чтобы при нажатии на кнопку выводился заданный текст в Delphi. хелп
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*