Графика в Delphi - примеры задач на построение графиков, а также компоненты для графики

Написание хранителя экрана

1.В файл проекта {*.DPR} добавить строку {$D SCRNSAVE <название хранителя>} после строки подключения модулей (Uses…).

2.У окна формы убрать системное меню, кнопки и придать свойству WindowState значение wsMaximize.

3.Предусмотреть выход из хранителя при нажатии на клавиши клавиатуры, мыши и при перемещении курсора мыши.

4.Проверить параметры с которым был вызван хранитель и если это /c - показать окно настройки хранителя, а иначе (можно проверять на /s, а можно и не проверять) сам хранитель. /p - для отображения в окне установок хранителя экрана.

5.Скомпилировать хранитель экрана.
Read more »

Узнать, включен ли хранитель экрана

function ScreenSaverEnabled: Boolean;
var
status: Bool;
begin
SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, @status, 0);
Result := status = True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if ScreenSaverEnabled then
Caption := ‘Screensaver is enabled.’
else
Caption := ‘Screensaver is disabled.’
end;

Как запустить текущий ScreenSaver

В зоопаpке pебенок, возбужденно тыча пальцем
на клетку с пpиматами (обезьянами :), кpичит:
- Мама ! Мама ! Смотpи - пpогpаммисты !
- Почему ты так pешил ?
- Они как папа ! - не мытые, лохматые и мозоль на попе !!!

SendMessage(Application.Handle, WM_SYSCOMMAND, SC_SCREENSAVE, 0);

ScreenMate

Новая игра. Казахский DOOM!
Никаких тебе лабиринтов! Голая степь!

Многие из вас знакомы с этим термином. Так характеризуют программы, которые выводят на экран спрайтового персонажа, не создавая при этом окна. Я очень давно искал данный пример в сети, и теперь решил вас порадовать. Программа состоит из нескольких узлов, кои будут приведены ниже…

p.s К сожалению вам надо позаботиться о кадрах анимации этого персонажа самим т.к рисунки я послать немогу…
Read more »

Инсталляция Screen Saver

uses
shellapi;

procedure InstallScreenSaver(const FileName: string);
begin
{ Set this screensaver as default screensaver and open the properties dialog}
ShellExecute(Application.Handle, ‘open’, PChar(’rundll32.exe’),
PChar(’desk.cpl,InstallScreenSaver ‘ + FileName), nil, SW_SHOWNORMAL);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
InstallScreenSaver(’c:\YourScreenSaverFile.scr’);
end;

Получить время задержки хранителя экрана

function GetScreenSaverTimeout: Integer;
begin
SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, 0, @Result, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(GetScreenSaverTimeout) + ‘ Sec.’);
end;

Как отключить хранитель экрана

Встречаются два юзера. Один другому:
- Что-то лицо мне ваше знакомо, вы в скринсейверах не снимались?

procedure TForm1.Button1Click(Sender: TObject);
begin
{Turn it off}
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, nil, 0);

{Turn it on}
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 1, nil, 0);
end;

Пишем ScreenSaver в Delphi

Пpогpаммеpы квасят на пpиpоде. Идут pазговоpы, тpали-вали… Один pассказывает: - Познакомился тут с девушкой на дискотеке! Бесподобная деваха! И фигуpка, и мозги есть, и танцует хоpошо! Так вот, pешил pickup”нуть ее к себе домой. Пpигласил, она согласилась. Пpишли, выпили винца, поговоpили о том, о сем, музыку послушали. Потом я ее поцеловал, пpиподнял аккуpатно, посадил задницей на клавиатуpу, поднял юбку… Остальные: - Так у тебя компутеp дома стоит?!?! А какой???

В примере описывается создание простейшего скринсейвера, а так же его установка и запуск.

Для написания скринсейвера нам необходимо включить следующие процедуры:

FormShow
скрыть курсор, установка обработки сообщений, начало отображения скринсейвера
FormHide
окончание отображения скринсейвера, отображение курсора
DeactivateScrSaver
обработка сообщений, деактивирование, если нажата мышка или клавиатура
Read more »

Создаём Screen Saver

Хранитель экрана (ScreenSaver) в Windows – это программа, размещенная в каталоге Windows или Windows\System. Расширение эта программа должна иметь scr. При запуске ScreenSaver должен реагировать на параметры. Если первый параметр – “/p”, нужно создать окно предварительного просмотра. Если первый параметр – “/s”, нужно запустить сам ScreenSaver. В ином случае нужно показать окно настроек хранителя экрана.

Для предварительного просмотра Windows создает окно, на месте которого ScreenSaver должен что-то рисовать. Чтобы отслеживать сообщения о перерисовке окна Preview, а также о его перемещении и закрытии, нужно создать дочернее окно в том же месте и такого же размера. Для этого нужно использовать WinAPI. Цикл, в котором обрабатываются сообщения, удобно сделать через PeekMessage, поскольку в этом случае можно создать событие OnIdle. В нем нужно рисовать что-то в окне предварительного просмотра.
Read more »

Получить установленный по умолчанию Screen Saver

uses
Inifiles, ShellApi;

procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TInifile;
ScreenSaverFile: string;

function GetLongFileName(const FileName: string): string;
var
aInfo: TSHFileInfo;
begin
if SHGetFileInfo(PChar(FileName), 0, aInfo, SizeOf(aInfo), SHGFI_DISPLAYNAME) <> 0 then
Result := string(aInfo.szDisplayName)
else
Result := FileName;
end;

begin
Ini := TInifile.Create(’system.ini’);
ScreenSaverFile := GetLongFileName(Ini.Readstring(’boot’, ‘SCRNSAVE.EXE’, ‘Not Available’));
Ini.Free;
label1.Caption := ScreenSaverFile;
end;

Предотвратить Screen Saver при запуске

interface

private
procedure AppMessage(var Msg: TMsg; var handled: Boolean);
end;

implementation

procedure TForm1.AppMessage(var Msg: TMsg; var handled: Boolean);
begin
if (Msg.Message = WM_SYSCOMMAND) and (Msg.wParam = SC_SCREENSAVE) then
Handled := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := AppMessage;
end;

{
Note: The Screensaver is only disabled during the lifespan of
your application.

Bemerkung: Der Screensaver bleibt nur solange deaktiviert,
wie ihre Applikation lдuft. $
}

Как запустить текущий ScreenSaver

О, Гюльчатай, сними же свой скринсейвер!

Сначала мы проверяем, установлен ли Screen Saver, если нет - возвращаемся с отрицательным ответом, в противном случае - запускаем его и возвращаем true.

function RunScreenSaver: bool;
var
b: boolean;
begin
result := false;
if SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, @b, 0) <> true then
exit;
if not b then
exit;
PostMessage(GetDesktopWindow, WM_SYSCOMMAND, SC_SCREENSAVE, 0);
result := true;
end;

Создание хранителя экрана (Screen Saver)

Время от времени я наблюдаю вопросы с просьбой рассказать о процессе создания с помощью Delphi хранителя экрана, которого можно было бы выбрать с помощью панели управления (Control Panel / Desktop). После того, как я увидел несколько общих ответов, частично отвечавших на заданный вопрос, я решил создать данный совет и полностью посвятить вас в технологию создания хранителя экрана Windows от начала до конца. Приведенный ниже код позволяет создать предмет нашего разговора, а именно - простой хранитель экрана Windows.
Read more »

Powered WP Ъ скачать delphi, delphi 7, скачать delphi 7, delphi файлы, delphi, компоненты, delphi 2009, delphi программы, delphi бесплатно, delphi скачать, бесплатно работа delphi, delphi создание, delphi строки, программирования delphi, borland delphi, delphi формы