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

Вниз

Вывод текста на экран   Найти похожие ветки 

 
Rubey   (2006-03-22 08:12) [0]

Прошу знатоков  помочь решить  проблему  вывода текста для  просмотрана  экран. Пытаюсь  вывести  объектом  CANVAS некую  квитанцию об оплате. Для  этого  создаю  дополнительную  форму KVOUT , но  не  знаю  как напустить  на  нее  вывод. Единственное, что  получается - это  прописать код  вывода  квитанции в  батон формы KVOUT и пи  его  нажатии  все  работает.
Посоветуйте  как  вывести  текст  из  главной  формы, без  нажатия  батогов в дополнительной  форме. Может  это  принципиально  невоможно, но  тогда  как это делается  иначе ?
C уважением  -  Рубей.
222.03.2006


 
TUser ©   (2006-03-22 08:58) [1]

> Пытаюсь  вывести  объектом  CANVAS некую  квитанцию об оплате.

Часто для этого используют специальные генераторы отчетов.

Если же хочешь именно на канвас - то проблем тоже не болжно быть. У канвы есть метод TextOut, также поможет TextWidth/TextHeight.


 
Handle   (2006-03-22 09:32) [2]

var
dtc: TCanvas;
begin
dtc:=TCanvas.Create;
dtc.Handle:=GetDC(Hwnd_Desktop);
dtc.Font.Size:=9;
dtc.Brush.Color:=clWhite;
dtc.Font.Color:=clBlack;
dtc.TextOut(400,400," Прошу знатоков  помочь решить  проблему  вывода текста для  просмотрана  экран.");
ReleaseDC(dtc.Handle,Hwnd_Desktop);
dtc.Free;


 
Gydvin ©   (2006-03-22 10:25) [3]

поробуй так

KVOUT.canvas


 
SEMYONov ©   (2006-03-22 10:36) [4]

Очень полезная вещь! Но я что то долго дрюкался, но так и не понял как стереть то, что мы вывели на экран? (на подобии refresh)


 
ЮЮ ©   (2006-03-22 11:31) [5]


> Единственное, что  получается - это  прописать код  вывода
>  квитанции в  батон формы KVOUT и пи  его  нажатии  все
>  работает.

Код рисования на форме должен быть расположен в обработчике OnPaint этой формы. В OnClick батона - не выход: проведи над формой другую форму и всё сотрется


 
SEMYONov ©   (2006-03-22 11:53) [6]

А если я нарисовал непосредственно на экране - как его обновить (refresh)


 
ТЮзер   (2006-03-22 12:13) [7]

> А если я нарисовал непосредственно на экране - как его обновить (refresh)

Не надо рисовать непосредственно на экране.


 
SEMYONov ©   (2006-03-23 08:14) [8]

:-) Мне нужно нарисовать теккст по верх всех приложений, а потомо через некоторое время сделать так чтобы он исчез.

Procedure DrawOnScreen;
var
 DC:HDC;
DesktopCanvas:TCanvas;
R: TRect;
begin
DC:=GetDC(0);   // получили DC экрана
try
DesktopCanvas:=TCanvas.Create;
DesktopCanvas.Handle:=DC;

R.Top := screen.height div 2;
R.Left := screen.Width div 2;

windows.DrawText(dc,"ОСТАЛОСЬ 5 МИНУТ!!!",17,r,DT_SINGLELINE);

finally
ReleaseDC(0,DC);
DesktopCanvas.Free;

end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
drawonscreen;

end;


А вот как его стереть, помимо того чтобы поводить формами по экрану я не знаю.



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
15-1142634527
hgd
2006-03-18 01:28
2006.04.09
Delphi for .NET Compact Framework Technology Preview


15-1142573326
Геро
2006-03-17 08:28
2006.04.09
.NET — оболочка над Win32?


2-1143091143
Nsk3D
2006-03-23 08:19
2006.04.09
Filter


15-1142261860
Boris Marchenko
2006-03-13 17:57
2006.04.09
Делфи - быть или не очень?..


15-1142280363
Eraser
2006-03-13 23:06
2006.04.09
Использовать impersonation с пом. SSPI или named pipes