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

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

Рабочий стол [D7, XP]


Juri ©   (2006-12-28 20:52:00) 

имеется такая процедура у меня меняет обои на рабочем столе

procedure TForm1.ChangeActiveWallpaper(wal:PWideChar; i:Cardinal);
const
 CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
var
 ActiveDesktop: IActiveDesktop;
begin
 ActiveDesktop := CreateComObject(CLSID_ActiveDesktop)
   as IActiveDesktop;
 ActiveDesktop.SetWallpaper(wal, i);
 ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE);
end;

всё работает отлично НО мне бы ещё знать как поставить обои на рабочем столе не растянутыми а к примеру по центру или нужно если замостить рабочий стол... может кто знает?


Juri   (2006-12-29 22:45:00) [1]

огромное спасибо!!!


allrussia   (2006-12-29 22:29:00) [2]

Sizeof(t)


Juri   (2006-12-29 22:28:00) [3]


> Размер используемой структуры

от этого у меня ещё больше вапросов только появилось...


Zeqfreed   (2006-12-29 22:27:00) [4]


> Juri   (29.12.06 22:25) [6]

Размер используемой структуры.


Juri   (2006-12-29 22:25:00) [5]

нда я вот оттуда и вычитал что нужно через оптионс тока вот не могу понять что мне вносить в DWSize???


allrussia   (2006-12-29 22:23:00) [6]

Juri
var t: TWallPaperOpt;
t.dwSize = ...
t.dwStyle = ... ??
...
ActiveDesktop.SetWallpaperOptions(t, 0)

там же по ссылке которую я дал написано


Juri   (2006-12-29 22:16:00) [7]

судя по всему вставлять не туда...
есть такая функция ActiveDesktop.SetWallpaperOptions(); вот судя по всему куда только как не пойму может кто разобрался?


allrussia   (2006-12-29 21:12:00) [8]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/ifaces/iactivedesktop/flags.asp

WPSTYLE_CENTER
   The wallpaper is centered.

WPSTYLE_STRETCH
   The wallpaper is stretched to fit the entire screen.

WPSTYLE_TILE
   The wallpaper is tiled.


сюда вставлять судя по всему:
ActiveDesktop.ApplyChanges(AD_APPLY_ALL or AD_APPLY_FORCE + WPSTYLE_CENTER);


Juri   (2006-12-29 21:04:00) [9]

никто не знает?


Juri   (2006-12-28 20:53:00) [10]

procedure TForm1.ChangeActiveWallpaper(wal:PWideChar; i:Cardinal);
" i " ввёл думал что с её помощью определяется положение обоев но нет попробовал беспалезно даже если её менять не помогает... так сказать методом науного тыка не палучилось вычислить...


Наверх

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