Смена системных цветов

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

NikRom
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 07.10.2007 (Вс) 20:15
Откуда: KomiKray

Смена системных цветов

Сообщение NikRom » 07.10.2007 (Вс) 21:11

Хочу анимировать цвет рабочего стола
Api-шка SetSysColors("user32.dll") ни чего не делает, хотя и ошибки нет.
Перепробовал все варианты
Есть другой способ?
В мире нет ничего такого, чтобы это нельзя было оптимизировать.

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 07.10.2007 (Вс) 23:52

Как ты пробуешь?
Код в студию
Подпись проходит рефакторинг

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 08.10.2007 (Пн) 7:57

Во-первых, таки да, хотим лицезреть неработающий код, во-вторых, в NET завместо GetSysColor надо юзать метод структуры Color FromKnownColor.
Или же пользоваться свойствами класса SystemColors
Последний раз редактировалось Viper 16.10.2007 (Вт) 7:42, всего редактировалось 1 раз.
Весь мир матрица, а мы в нем потоки байтов!

NikRom
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 07.10.2007 (Вс) 20:15
Откуда: KomiKray

Сообщение NikRom » 14.10.2007 (Вс) 15:10

Код: Выделить всё
Declare Sub SetSysColors Lib "user32" _
        (ByVal cElements As Integer, ByVal lpaElements As _
        Integer, ByVal lpaRgbValues As Long)
    Declare Function GetSysColor& Lib "user32" (ByVal nIndex As Long)

    Sub Main()
        Dim DefClr As Long
        DefClr = GetSysColor(1)

        Dim Min As Long = RGB(0, 0, 0)
        Dim Max As Long = RGB(255, 255, 255)

        Dim Color As Long
        For Color = Min To Max
            SetSysColors(1, 1, Color)
            Threading.Thread.Sleep(50)
        Next

        SetSysColors(5, 1, DefClr)
    End Sub
У меня WinXP, на рабочем столе небольшой GIF рисунок по центру в котором есть прозрачный и инвертированные цвета
В мире нет ничего такого, чтобы это нельзя было оптимизировать.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 16.10.2007 (Вт) 7:53

NikRom, зацени тэги code или syntax="vb", а также кнопку Правка. Это на будущее. По поводу обшибки. Замени Long на Integer и будет тебе щастье. Ибо Long от VB = Integer в VB.NET.

З.Ы. А вроде есть в Net метод изменения системных цветов?
Весь мир матрица, а мы в нем потоки байтов!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 18.10.2007 (Чт) 13:53

Viper писал(а):
З.Ы. А вроде есть в Net метод изменения системных цветов?


Нет, только получение.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 18.10.2007 (Чт) 14:14

Sebas писал(а):
Viper писал(а):
З.Ы. А вроде есть в Net метод изменения системных цветов?


Нет, только получение.


а жаль.... :(
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 108

    TopList