Текущий архив: 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.46 MB
Время: 0.011 c