Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вывод текста на экран [D6, 95/98]


Rubey ©   (2006-03-22 08:12:00) 

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


SEMYONov   (2006-03-23 08:14:00) [1]

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

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;


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


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

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

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


SEMYONov   (2006-03-22 11:53:00) [3]

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


ЮЮ   (2006-03-22 11:31:00) [4]


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

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


SEMYONov   (2006-03-22 10:36:00) [5]

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


Gydvin   (2006-03-22 10:25:00) [6]

поробуй так

KVOUT.canvas


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

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;


TUser   (2006-03-22 08:58:00) [8]

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

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо