Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2012, 08:26   #1
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию Вывод текста на десктоп

Всем привет!

Необходимо в программе реализовать вывод текста на экран.
Копал в сторону хуков Direct X, но быстро эту идею исключил, т.к слишком много заморочек и работать будет 30% из 100.

Вобщем, решил тупо по таймеру рисовать через TextOut.

Вот написал небольшую функцию:
Код:
procedure TForm1.DeskTopPaint(str:string);
var
  DeskTop:TCanvas;
begin
  DeskTop:=TCanvas.Create;
  try
    DeskTop.Handle:=GetDC(0);
    DeskTop.Brush.Style:=bsClear;
  With DeskTop.Font do
  Begin
    Color:=clwhite;
    Size:=23;
    Name:='Times New Roman';
    Style:=[fsBold];
  end;
    DeskTop.TextOut(70,10,str);
    ReleaseDC(0, DeskTop.handle);
  finally
    DeskTop.Free;
  end;
end;
Но т.к я в графике совсем не очень прошу помощи )
Мне нужно допилить функцию, что бы она выводила сообщения друг за другом.

Тоесть, если сейчас в таймере написать DeskTopPaint('hello');
А потом DeskTopPaint('world') то второй текст заползет не первый.
Пробовал очищать десктоп через invalidate, но ничего не получается..

+ хотелось бы допилить функцию слегка.

Что бы к примеру был доп. параметр DeskTopPaint('hello',5);
То функцию выводит текст на 5 сек. а затем удаляет его с экрана.
Вобщем, кто с графикой дружит. прошу помощи..
Moonquake
phphel вне форума Ответить с цитированием
Старый 20.06.2012, 09:38   #2
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Решил проблему таймерами, но мне кажется это извращение, и можно как-то красивее сделать.
Неужели нет знатоков в этом вопросе?Народ ?
Moonquake
phphel вне форума Ответить с цитированием
Старый 21.06.2012, 20:20   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

Вот мой нубоспособ с помощью memo.
Вложения
Тип файла: zip pr1.zip (389.2 Кб, 13 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 22.06.2012, 16:16   #4
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Немного не то Доработки большой требует, да и в моем случае этот вариант не пойдет, так как нужно что бы работало с полноэкранными играми, но все равно спасибо, плюс вам.
Moonquake
phphel вне форума Ответить с цитированием
Старый 22.06.2012, 19:01   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а полноэкранным играм до лампочки обычно до 0-ого контекста.
самое правильное создавать окно, можно и прозрачное.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.06.2012, 13:38   #6
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Эм, разве если при заупщенной игре вывести это окошко то оно не свернет ее (игру)автоматически?
Moonquake
phphel вне форума Ответить с цитированием
Старый 23.06.2012, 14:24   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

начнем с того что поверх полноэкранки довольно тяжело выводится, тут надо смотреть чтото, что умеет это делать.

если не забирать фокус то не должно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 23.06.2012 в 14:43.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.06.2012, 14:57   #8
phphel
Форумчанин
 
Аватар для phphel
 
Регистрация: 12.07.2010
Сообщений: 249
По умолчанию

Был бы благодарен за код, ну или хотя бы ссылочки в этом направлении..
Moonquake
phphel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод текста. glebast Помощь студентам 4 11.02.2012 18:54
Лист Excel на рабочем столе (типа актив десктоп) как сделать? a11769729 Microsoft Office Excel 15 23.11.2011 04:17
Вывод текста SeeWhoIam Помощь студентам 2 24.12.2009 22:36
Оболочка (интерфейс) для java - веб и десктоп PoMkaNik Общие вопросы по Java, Java SE, Kotlin 3 11.07.2009 15:17