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

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

надпись на рабочем столе


Страницы:   1 2

глупый ©   (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 - недекларированный идентификатор.


Страницы:   1 2

Наверх

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