Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.015 c
1-62615
Smok_er
2003-01-09 00:21
2003.01.20
Интересная задачка...


4-62890
Разведчик
2002-12-01 23:51
2003.01.20
Работа с SysListView32?


3-62392
Vlad_T
2002-12-24 11:48
2003.01.20
Запрос к двум базам IB


1-62523
Kventin
2003-01-10 18:55
2003.01.20
MS Word & html


3-62425
Rustik
2002-12-24 12:16
2003.01.20
Как в сиквеле сделать вставку комбинированную из select и Param





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский