Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
5 / 5 / 4
Регистрация: 24.03.2010
Сообщений: 241
Записей в блоге: 1

Плавно исчезающая форма

05.10.2012, 23:20. Показов 1072. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!

Помогите с проблемой.

Не могу понять, как сделать чтобы по истечении времени, например, через 10 секунд, форма медленно исчезала. То есть становилась прозрачной и как станет прозрачной полностью закрылась, то есть отработал Unload Me.

скорость исчезновения тоже регулируется таймером.


Всем спасибо за отклик!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.10.2012, 23:20
Ответы с готовыми решениями:

Код Плавно скролящегося frame
как сделать? или можт уже есть готовый? я пишу if .top >X or <y then .visible = false для всех элементов - получается топорно и...

Создание Плавно открывающейся формы
Лазил по вашему форумо и нашол очень забавный пример кода, программа открывается плавно появляясь можно сказать из воздуха, но пример этого...

Плавно увеличить PictureBox при наведении курсора
Приветствую. Есть массив PictureBox, размер которых необходимо плавно изменять при наведении курсора. Пытался задачу решить штатными...

6
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,740
Записей в блоге: 14
05.10.2012, 23:27
Вот код (нашел в сети), который позволяет у окна (hwnd) задать степень прозрачности (0-окна почти-что нет, 255-обычное окно):

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
'*************************
'*************************
'***   Автор - Genetik ***
'*************************
'*************************
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
 
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const LWA_ALPHAANDCOLORKEY = &H3
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
 
Private Const CLR_Black = &H0&
Private Const CLR_Fon = &HFF8080
 
Public Sub SetTransparent1(hWnd As Long, Layered As Byte)
Dim Ret As Long
    
    Ret = GetWindowLong(hWnd, GWL_EXSTYLE)
    
    Ret = Ret Or WS_EX_LAYERED
    
    SetWindowLong hWnd, GWL_EXSTYLE, Ret
    
    SetLayeredWindowAttributes hWnd, 0, Layered, LWA_ALPHA
 
End Sub
1
5 / 5 / 4
Регистрация: 24.03.2010
Сообщений: 241
Записей в блоге: 1
05.10.2012, 23:30  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
задать степень прозрачности
Спасибо за информацию. А как сделать чтобы код работал? Не пойму что-то...

и как его привязать к таймеру?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,740
Записей в блоге: 14
06.10.2012, 00:04
Вот проект, смотри:
Вложения
Тип файла: zip t014.zip (4.9 Кб, 28 просмотров)
2
5 / 5 / 4
Регистрация: 24.03.2010
Сообщений: 241
Записей в блоге: 1
06.10.2012, 00:06  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Вот проект, смотри:
Блин, ты реально выручил!!!!! спасибо тебе!!!!!!
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,740
Записей в блоге: 14
06.10.2012, 00:09
Моя заслуга минимальна... Спасибо Genetik-у!
0
64 / 20 / 1
Регистрация: 29.07.2012
Сообщений: 151
06.10.2012, 00:19
Я вот тут ваш код переделал, опоздал правда

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Option Explicit
Dim a As Byte
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
 
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const LWA_ALPHAANDCOLORKEY = &H3
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
 
Private Const CLR_Black = &H0&
Private Const CLR_Fon = &HFF8080
 
Public Sub SetTransparent1(hWnd As Long, Layered As Byte)
Dim Ret As Long
    
    Ret = GetWindowLong(hWnd, GWL_EXSTYLE)
    
    Ret = Ret Or WS_EX_LAYERED
    
    SetWindowLong hWnd, GWL_EXSTYLE, Ret
    
    SetLayeredWindowAttributes hWnd, 0, Layered, LWA_ALPHA
 Me.Visible = True
End Sub
 
Private Sub Form_Load()
timer1.interval=1
Me.Visible = False
a = 0
End Sub
 
Private Sub Timer1_Timer()
a = a + 1
If a > 254 Then Timer1.Enabled = False: Exit Sub
 
        SetTransparent1 Me.hWnd, a
 
End Sub
ток у меня наоборот вышло
P.S
спасибо за код
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.10.2012, 00:19
Помогаю со студенческими работами здесь

Плавно исчезающая линия
Нужна помощь в написании маленькой программы, задача следующая: рисуем линию, затем она должна плавно исчезать. namespace Линия { ...

Если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной
Доброе время суток. Скажите, пожалуйста, если ли какая-нибудь форма или панель, которая будет плавно выкатываться из основной формы? ...

Есть ли способ плавно вывести бордер при наведении, ну и плавно скрыть
Необходимо плавно вывести границу при наведении, и плавно чтобы скрывалась если убрать курсор. Что можете посоветовать?

Исчезающая надпись
Мне надо реализовать эфект когда надпись в текст боксе исчезал при появлениии в нём курсора и вновь появлялся когда курсор переходит в...

Исчезающая надпись...
Как сделать чтобы надпись плавно ищезла? Например текст лебла, белого цвета, нужно чтобы потихоньку стал черным, а потом опять потихоньку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru