Создание регионов или рисование на десктопе

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Создание регионов или рисование на десктопе

Сообщение Gemini » 13.10.2007 (Сб) 11:46

1 Есть лента рисунков
2 разбиваю на элементы, создаю на каждый элемент регион
3 заношу регионы в массив
4 загружаю регионы из массива на форму
SetWindowRgn hwnd, RngArray(Index), True
по возрастанию
5 дохожу до максимума скидываю счётчик и начинаю с начала
Вот тут возникает проблемма: Регион не устанавливается
а остаётся тот который использовался последним.

Вопрос после использования функции
Код: Выделить всё
SetWindowRgn hwnd, RngArray(Index), True

происходит автоматическое уничтожение обьекта???
Код: Выделить всё
  DeleteObject RngArray(Index) 
???
как избавиться от этого???

я приложил пример программы.

Идея была рисования анимации на десктопе, но встречался с багами
1 мерцания (избавился)
2 оставляет отпечаток на меняющихся окнах

'Если есть у кого хороший пример рисования на десктопе, покажите пожалуйста.
Вложения
POST.zip
(10.65 Кб) Скачиваний: 41

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 13.10.2007 (Сб) 17:20

А если можно, кто-нибудь скажет как можно сохранять и загружать регионы???

Буду Примного Благодарен!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Сообщение iGrok » 13.10.2007 (Сб) 17:32

Не понял. Что должен был дедать пример, и чего он не делает???

У меня никаких глюков в работе примера не возникло, впрочем, он и на десктопе ничего не рисовал.

Что оно делает не так? У меня звездочка крутится по движению HScroll.
label:
cli
jmp label

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 13.10.2007 (Сб) 17:56

Попробуй вот этот код.
Я так отрисовывал анимацию ввиде идущего по десктопу кота.
Вложения
imASim.zip
(3.34 Кб) Скачиваний: 51
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 13.10.2007 (Сб) 17:59

Спомощью функции SetParent можно установить форму принадлежащей Desktop. И потом задать её координаты на десктопе.
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 14.10.2007 (Вс) 6:26

Пример для того чтобы показать в чём проблемма:
1. Нажимем кнопку "загрузить массив"
2. Двигаем бегунок hScroll вперёд
3. Возвращаем его на любую пред идущую позицию
и видим что регион обьекта PicCut не меняется.


Вопрос/Действия

Загружаю в массив новые регионы, потом по очереди передаю их окну
SetWindowRgn hwnd, RngArray(Index), True
Но как только я хочу передать регион который уже был когда либо передан окну он не присваевается.

(Извеняюсь если не понятно обьясняю)

как можно записать регион например в переменную что бы потом можно было его не однократно вызывать???
(Во, на конец то сформулировал)

Буду очень признателен...

Gemini
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 390
Зарегистрирован: 24.07.2002 (Ср) 14:15
Откуда: Ozersk

Сообщение Gemini » 14.10.2007 (Вс) 9:39

Вот я сам ответил на свой вопрос.
Не судите строго.
Хороший пример получился. Как мне кажется...
Вложения
POST.zip
(11.52 Кб) Скачиваний: 61


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 95

    TopList