Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];
Внизнадпись на рабочем столе Найти похожие ветки
← →
глупый (2003-01-07 21:21) [0]Народ, скажите, можно ли написать программу, которая бы просто выводила надпись на рабочий стол (поверх ярлыков, окон и т.д.) и всё. И чтобы ни каких объктов, форм (даже прозрачных). Понятно, что эта надпись, при появлении поверх неё, например, окна, затрётся.
← →
Song (2003-01-07 21:27) [1]
With TCanvas.Create Do
try
Handle:=GetDC(HWND_DeskTop);
TextOut(Screen.Width div 2,Screen.Height div 2,"Writing on the desktop");
finally
Free;
end;
← →
глупый (2003-01-07 21:55) [2]Прошу прощения, но куда это писать?
У меня ругается, что GetDC - недекларированный идентификатор.
← →
Song (2003-01-07 22:00) [3]Нужен hands.sys
← →
глупый (2003-01-07 22:14) [4]А где мне его можно достать?
← →
Геннадий (2003-01-07 22:14) [5]function GetDC; external user32 name "GetDC";
Укажи USES Windows; и всё заработает.
А вот интересно, как создать надпись ПОД значками и не стираралась при обновлении стола? Я видел программку, которая таким образом выводила текущее время. Но вот исходников не видел.
← →
глупый (2003-01-07 22:30) [6]2 Геннадий:
Говорит, что нужно указать тип для функции (GetDC),
и еще, что Handle:=GetDC(HWND_DeskTop); - слишком много актуаль параметров.
← →
Геннадий (2003-01-07 22:34) [7]Напиши так - Handle:= GetDC(0); (насколько мне известно хэндл Рабочего стола это ноль)
← →
глупый (2003-01-07 22:40) [8]А какой тип для функции?
← →
mrProgrammer (2003-01-07 22:56) [9]2 Геннадий: А еще лучше GetDesktopWindow. Все-таки ноль - это недокументированная величина.
← →
глупый (2003-01-07 23:17) [10]Мастера!
Ничего не получается:( Дайте просто ссылку, где об этом можно подробно почитать.
Спасибо.
← →
Nik8. (2003-01-08 00:15) [11]Var DC:hDC;
s:string;
Can:TCanvas;
begin
DC:=GetDC(0);
Can:=TCanvas.Create;
s:="ХЕЙ !";
Can.Handle:=DC;
Can.Font.Size:=20;
Can.Brush.Color:=cllime;
Can.TextOut(10,10,s);
Can.Free;
ReleaseDC(0,DC);
end;
← →
MAN-IN-RED (2003-01-08 04:24) [12]{Попробуй это, должно работать, писал быстро...
1. Создай новый проект.
2. Кидай на форму Timer.
3. Вытирай весь код у твоего юнита, и сувай этот.
4. Кликай по таймеру два раза, потом кликай два раза по форме (в пустом месте), и жми F9!!!}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1 :TForm1;
DC :HDc;
Str :String;
TCan :TCanvas;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
Int :Integer;
begin
Randomize;
for Int:=0 to 999 do
begin
TCan.Font.Color := Random(99999999);
TCan.TextOut(Random(Screen.Width),Random(Screen.Height),Str);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Dc := GetDC(0);
TCan := TCanvas.Create;
Str := ".";
TCan.Handle := DC;
TCan.Font.Size := 72;
TCan.Brush.Style := bsClear;
Timer1.Interval := 55;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
TCan.Free;
ReleaseDC(0,Dc);
end;
end.
← →
MAN-IN-RED (2003-01-08 04:31) [13]:))))))
← →
глупый (2003-01-08 07:58) [14]2 Nik8.: получилось! Только фон под текстом хотелось бы прозрачный иметь.
2 MAN-IN-RED: Всё класно, но вот форма (в смысле в самом коде) мешается.
← →
MARcoDEN (2003-01-08 13:30) [15]procedure DrawOnScreen;
var
ScreenDC: hDC;
beign
ScreenDC := GetDC(0); {получить контекст экрана}
Ellipse(ScreenDC, 0, 0, 200, 200); {нарисовать}
ReleaseDC(0,ScreenDC); {освободить контекст}
end;
← →
dimich1978 (2003-01-08 14:59) [16]А как это все обновлять, например часики, у них сначала секунды закрашиваются, ну а потом ест минуты и часы
← →
MAN-IN-RED (2003-01-08 15:59) [17]
> глупый (08.01.03 07:58)
> 2 Nik8.: получилось! Только фон под текстом хотелось бы
> прозрачный иметь.
В моем примере фон под текстом прозрачный! Делаешь просто так:
TCan.Brush.Style := bsClear;
А вообще поэкспериментируй с кодом, разберись что и как и зачем!
← →
Matolch. (2003-01-08 16:55) [18]Чего тут базар развели...
> Song © (07.01.03 21:27) (((( © ))))
← →
MAN-IN-RED (2003-01-08 17:56) [19]
> Matolch. (08.01.03 16:55)
Понимаешь в чем вся трабла, не все такие умные как ты…
Глупый © не понимает ни хрена в том примере, который написал Song, ему ж нужно указать шрифт, размер, цвет и т. д., сам он видимо не разберется, вот мы и помогаем… :)
← →
глупый (2003-01-09 14:17) [20]Всем огромное СПАСИБО!!!
Добился таки чего хотел!
Смотрели фильм "Особенности нац. рыбалки"? Там чудик был, который первый раз на рыбалку поехал. Рыбу он еще поймал... Так вот, у меня сейчас такие же эмоции - радость и восторг!
А еще появилось огромное желание разбираться дальше... в предь буду стараться задавать "достойные" вопросы.
p.s. "достойные" - достойные того, чтобы задавать их на этом сайте.
← →
Matolch. (2003-01-09 18:27) [21]
> глупый (09.01.03 14:17)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.009 c