![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
надпись на рабочем столе
глупый © (2003-01-07 21:21:00)Народ, скажите, можно ли написать программу, которая бы просто выводила надпись на рабочий стол (поверх ярлыков, окон и т.д.) и всё. И чтобы ни каких объктов, форм (даже прозрачных). Понятно, что эта надпись, при появлении поверх неё, например, окна, затрётся.
Matolch. (2003-01-09 18:27:00) [1]
> глупый (09.01.03 14:17)
глупый (2003-01-09 14:17:00) [2]Всем огромное СПАСИБО!!!
Добился таки чего хотел!
Смотрели фильм "Особенности нац. рыбалки"? Там чудик был, который первый раз на рыбалку поехал. Рыбу он еще поймал... Так вот, у меня сейчас такие же эмоции - радость и восторг!
А еще появилось огромное желание разбираться дальше... в предь буду стараться задавать "достойные" вопросы.
p.s. "достойные" - достойные того, чтобы задавать их на этом сайте.
MAN-IN-RED (2003-01-08 17:56:00) [3]
> Matolch. (08.01.03 16:55)
Понимаешь в чем вся трабла, не все такие умные как ты…
Глупый © не понимает ни хрена в том примере, который написал Song, ему ж нужно указать шрифт, размер, цвет и т. д., сам он видимо не разберется, вот мы и помогаем… :)
Matolch. (2003-01-08 16:55:00) [4]Чего тут базар развели...
> Song © (07.01.03 21:27) (((( © ))))
MAN-IN-RED (2003-01-08 15:59:00) [5]
> глупый (08.01.03 07:58)
> 2 Nik8.: получилось! Только фон под текстом хотелось бы
> прозрачный иметь.
В моем примере фон под текстом прозрачный! Делаешь просто так:
TCan.Brush.Style := bsClear;
А вообще поэкспериментируй с кодом, разберись что и как и зачем!
dimich1978 (2003-01-08 14:59:00) [6]А как это все обновлять, например часики, у них сначала секунды закрашиваются, ну а потом ест минуты и часы
MARcoDEN (2003-01-08 13:30:00) [7]procedure DrawOnScreen;
var
ScreenDC: hDC;
beign
ScreenDC := GetDC(0); {получить контекст экрана}
Ellipse(ScreenDC, 0, 0, 200, 200); {нарисовать}
ReleaseDC(0,ScreenDC); {освободить контекст}
end;
глупый (2003-01-08 07:58:00) [8]2 Nik8.: получилось! Только фон под текстом хотелось бы прозрачный иметь.
2 MAN-IN-RED: Всё класно, но вот форма (в смысле в самом коде) мешается.
MAN-IN-RED (2003-01-08 04:31:00) [9]:))))))
MAN-IN-RED (2003-01-08 04:24:00) [10]{Попробуй это, должно работать, писал быстро...
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.
Nik8. (2003-01-08 00:15:00) [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;
глупый (2003-01-07 23:17:00) [12]Мастера!
Ничего не получается:( Дайте просто ссылку, где об этом можно подробно почитать.
Спасибо.
mrProgrammer (2003-01-07 22:56:00) [13]2 Геннадий: А еще лучше GetDesktopWindow. Все-таки ноль - это недокументированная величина.
глупый (2003-01-07 22:40:00) [14]А какой тип для функции?
Геннадий (2003-01-07 22:34:00) [15]Напиши так - Handle:= GetDC(0); (насколько мне известно хэндл Рабочего стола это ноль)
глупый (2003-01-07 22:30:00) [16]2 Геннадий:
Говорит, что нужно указать тип для функции (GetDC),
и еще, что Handle:=GetDC(HWND_DeskTop); - слишком много актуаль параметров.
Геннадий (2003-01-07 22:14:00) [17]function GetDC; external user32 name "GetDC";
Укажи USES Windows; и всё заработает.
А вот интересно, как создать надпись ПОД значками и не стираралась при обновлении стола? Я видел программку, которая таким образом выводила текущее время. Но вот исходников не видел.
глупый (2003-01-07 22:14:00) [18]А где мне его можно достать?
Song (2003-01-07 22:00:00) [19]Нужен hands.sys
глупый (2003-01-07 21:55:00) [20]Прошу прощения, но куда это писать?
У меня ругается, что GetDC - недекларированный идентификатор.