Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Рабочий стол
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.10.2007, 17:11
aleksejs1 aleksejs1 вне форума
Прохожий
 
Регистрация: 27.09.2007
Сообщения: 10
Репутация: 10
По умолчанию Передвижение иконок

Как управлять иконками на рабочем столе? Как с ними вообще работать? Как их двигать?
Ответить с цитированием
  #2  
Старый 19.10.2007, 18:05
JCDArtem JCDArtem вне форума
Прохожий
 
Регистрация: 18.10.2007
Сообщения: 17
Репутация: 10
По умолчанию

Менять фон так:
Код:
uses ...Registry; //подключаем модуль
...
procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegIniFile;
begin
  Reg := TRegIniFile.Create('Control Panel');
  Reg.WriteString('desktop', 'Wallpaper', 'c:\windows\Установка.bmp');
  Reg.WriteString('desktop', 'TileWallpaper', '0');
  Reg.Free;
  SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
end;
Манипуляция иконками:
1. Береш Хэндл стола:
Код:
function GetDesktopListViewHandle: THandle;
var
  S: string;
begin
  Result := FindWindow('ProgMan', nil);
  Result := GetWindow(Result, GW_CHILD);
  Result := GetWindow(Result, GW_CHILD);
  SetLength(S, 40);
  GetClassName(Result, PChar(S), 39);
  if PChar(S) <> 'SysListView32' then
    Result := 0;
end;
2. Работаеш с ним :
Упорядочить слева, например, :
Код:
SendMessage(GetDesktopListViewHandle, LVM_ALIGN, LVA_ALIGNLEFT, 0);
Остальные константы LVM_***** найдеш в модуле, де валяется SendMessage...
Ответить с цитированием
  #3  
Старый 19.10.2007, 19:24
aleksejs1 aleksejs1 вне форума
Прохожий
 
Регистрация: 27.09.2007
Сообщения: 10
Репутация: 10
По умолчанию

А в каком юните Эти константы?

А вообще меня больше интересовало передвижение отдельных иконок. Но я уже нашол.

PHP код:
ListView_SetItemPosition(GetDesktopListViewHandle,i,x,y);

{
ярлыку с индексом iзадаст координаты (x,y).} 
Ответить с цитированием
  #4  
Старый 19.10.2007, 19:39
JCDArtem JCDArtem вне форума
Прохожий
 
Регистрация: 18.10.2007
Сообщения: 17
Репутация: 10
По умолчанию

Список системных сообщений можеш глянуть здесь.
Ответить с цитированием
  #5  
Старый 19.10.2007, 20:38
aleksejs1 aleksejs1 вне форума
Прохожий
 
Регистрация: 27.09.2007
Сообщения: 10
Репутация: 10
По умолчанию

Только вот LVM_ALIGN там нету. И у меня оно тоже не идёт.
Ответить с цитированием
  #6  
Старый 19.10.2007, 22:06
Аватар для mav_c
mav_c mav_c вне форума
Активный
 
Регистрация: 26.03.2007
Адрес: Москва
Сообщения: 287
Репутация: 30
По умолчанию

Цитата:
Сообщение от aleksejs1
А в каком юните Эти константы?

А вообще меня больше интересовало передвижение отдельных иконок. Но я уже нашол.

PHP код:
ListView_SetItemPosition(GetDesktopListViewHandle,i,x,y);

{
ярлыку с индексом iзадаст координаты (x,y).} 
В юните
CommCtrl
__________________
---------------------------------------------
Программирование - не профессия, а стиль жизни
Ответить с цитированием
  #7  
Старый 29.11.2007, 19:37
[The]Unknown [The]Unknown вне форума
Прохожий
 
Регистрация: 29.11.2007
Сообщения: 1
Репутация: 10
По умолчанию

Я не совсем понял...
К примеру, мне надо сделать прогу, при наведении мышки на иконку
на десктопе она изменяет своё положение.

Как это реализовать!?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:34.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter