C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
рабочий стол, замена картинки
enton
Отправлено: 11.03.2007, 21:29


Дежурный стрелочник

Группа: Участник
Сообщений: 44



делаю ето так
CODE

AnsiString  path = Application->ExeName.SubString(1,Application->ExeName.Length() — 13) +  "images\\0.jpg";  //переменная пути

char * str1 = path.c_str();

SystemParametersInfo(SPI_SETDESKWALLPAPER,0,str1,SPIF_UPDATEINIFILE);


старую то он убирает а новую не ставит(
Grigoriy
Отправлено: 12.03.2007, 01:01


Мастер участка

Группа: Участник
Сообщений: 381



Файл должен быть в формате BMP.
enton
Отправлено: 12.03.2007, 07:39


Дежурный стрелочник

Группа: Участник
Сообщений: 44



дык если же мы ставим в ручную любую картинку jpg она встает как обои здесь то в чем причина?
Grigoriy
Отправлено: 16.03.2007, 01:19


Мастер участка

Группа: Участник
Сообщений: 381



Когда мы с помощью приложения изменяем заставку рабочего стола, то приложение транслирует изображение из того формата, в котором оно находится в файле в формат BMP. Поэтому и в собственном приложении необходимо предусмотреть такую трансляцию.
enton
Отправлено: 16.03.2007, 09:08


Дежурный стрелочник

Группа: Участник
Сообщений: 44



а эта картинка потом где храниться? или ее нужно в ручную куда класть?
Grigoriy
Отправлено: 16.03.2007, 10:25


Мастер участка

Группа: Участник
Сообщений: 381



Создаешь временный BMP-файл.
Указываешь имя этого файла в вызове функции
SystemParametersInfo(SPI_SETDESKWALLPAPER,0,str1,SPIF_UPDATEINIFILE);
Затем удаляешь временный файл.
enton
Отправлено: 23.03.2007, 14:34


Дежурный стрелочник

Группа: Участник
Сообщений: 44



подскажите где про ето можно очитать или может это уже кто то делал?

Вернуться в Вопросы программирования в C++Builder