Окно со шторами - VB

  1. Используя элемент управления изобразить окно со шторами, цвет которых пользователь выбирает из списка. Шторы розсуваються и сдвигаются с помощью командной кнопки. Очень надо. СПАСИБО!!!


textual

Код к задаче: «Окно со шторами - VB»

Const dt = 2
Dim tr As Boolean
 
 
Private Sub Timer1_Timer()
Call Tim(Timer1, 40 + dt, -1, 40, 40, Picture1.Width - 40)
End Sub
Private Sub Timer2_Timer()
Call Tim(Timer2, Picture1.Width / 2, 1, Picture1.Width / 2, Picture1.Width / 2 + dt, Picture1.Width / 2 - dt)
End Sub
 
Private Sub Combo1_Click()
Call stor(Picture2.ScaleWidth, Picture2)
Call stor(0, Picture3)
End Sub
 
 
 
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call r
End Sub
 
Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call r
End Sub
 
Private Sub Command2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Timer1.Enabled = True Then
Timer1.Enabled = False
tr = Not (tr)
End If
If Timer2.Enabled = True Then
Timer2.Enabled = False
tr = Not (tr)
End If
End Sub
 
Private Sub Form_Load()
Me.ScaleMode = 3
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
Picture3.ScaleMode = 3
Picture2.Width = Picture1.Width / 2
Picture3.Width = Picture1.Width / 2
Picture2.Left = 0
Picture3.Left = Picture1.Width / 2
 
Combo1.AddItem "çåëåГ*ûé"
Combo1.AddItem "æåëòûé"
Combo1.AddItem "ôèîëåòîâûé"
Combo1.AddItem "Г±ГЁГ*ГЁГ©"
Combo1.AddItem "îðГ*Г*æåâûé"
Combo1.AddItem "ГЄГ°Г*Г±Г*ûé"
Combo1.ListIndex = 0
Call stor(Picture2.ScaleWidth, Picture2)
Call stor(0, Picture3)
End Sub
 
Private Sub r()
tr = Not (tr)
If tr Then
Timer2.Enabled = False
Timer1.Enabled = True
Else
Timer1.Enabled = False
Timer2.Enabled = True
End If
End Sub
Private Sub Tim(tr As Timer, lim%, napr%, w2%, w3%, l3%)
If Picture2.Width * napr <= lim * napr Then
Picture2.Width = Picture2.Width + dt * napr
Picture3.Left = Picture3.Left - dt * napr
Picture3.Width = Picture3.Width + dt * napr
Else
Picture2.Width = w2
Picture3.Width = w3
Picture3.Left = l3
Timer2.Enabled = False
End If
Call stor(Picture2.ScaleWidth, Picture2)
Call stor(0, Picture3)
End Sub
Private Sub stor(b As Integer, pic As PictureBox)
  For i = 1 To pic.ScaleWidth + dt
    For j = 1 To 2 * pic.ScaleHeight Step pic.ScaleHeight
   c = Abs((b - i) / pic.ScaleWidth) * 255
 Select Case Combo1.ListIndex
  Case 0
  c = RGB(0, c, 0)
   Case 1
    c = RGB(c, c, 0)
   Case 2
   c = RGB(125, c, 255)
   Case 3
   c = RGB(0, c, 255)
   Case 4
  c = RGB(255, c, 0)
 End Select
   pic.Line (i, 0 + Cos(i))-(i, j), 10 * c
  Next
    Next
End Sub

СДЕЛАЙТЕ РЕПОСТ

14   голосов, оценка 3.714 из 5



Похожие ответы
  1. Дана матрица размером MxN . Найти количество его столбцов, элементы которых упорядочены по убыванию.

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

  1. Привет! Я как-то довольно давно заинтересовался темой цифровых подписей, какова их защита, как они устроены изнутри, как с ними работать из-под CryptoAPI. По мере изучения возникало много подводных камней. Наконец, я готов рассказать и вам на доступном языке о принципах шифрования и подписания, практике и готовой реализации проверки подписей. Затронуто много косвенных тем, так что статья весьма объёмна. Запаситесь чипсами и пивом . А в перерывах, можете сразу пощупать 3-ю часть статьи, где вас ждёт готовая программа, а также несколько хорошо прокомментированных исходников, в т.ч. для пакетной проверки всех PE-файлов в системе с отчётом в формате CSV. Большинство примеров кода представлено на языке VB6, просто потому что на C++ примеров очень много в сети, а на этом языке подобных комплексных реализаций я не видел вообще, да и этот язык я лучше всего знаю. Итак, статья состоит из 3 частей:Часть 1. ТеорияЧасть 2. Описание реализацииЧасть 3. Набор программСодержание:Часть 1. Кусочек теории.1.1. Что такое электронная цифровая подпись (ЭЦП) и зачем она нужна? 1.2. Надёжность ЭЦП и эксплуатация вредоносным ПО.1.2.1. Человеческий фактор и приватные ключи. 1.2.2. Уязвимости в структуре ЭЦП. 1.2.3. Стойкость алгоритма хеша.1.3. Что означает, легитимна ли подпись? 1.4. Терминология, алгоритм подписания и проверки.1.4.1. Что такое Authenticode (Code signing). 1.4.2. Что такое хеш. 1.4.3. Что такое выборка (digest). 1.4.4. Что такое приватный и публичный ключи, симметричное и асимметричное шифрование. 1.4.5. Что такое сертификат, центр сертификации и цепочка доверия. 1.4.6. Форматы файлов сертификатов и ключей для Authenticode подписи и их преобразование.а) Виды форматов. б) Преобразование форматов.1.4.7. Что такое подпись и подписание. 1.4.8. Что такое отпечаток (Thumbprint / Fingerprint). 1.4.9. Как проверяется подпись. 1.4.10. Чем отличаются понятия «алгоритм подписи», «алгоритм хеша подписи», «алгоритм хеша выборки», «алгоритм хеша отпечатка».1.5. Само-подписанный (self-signed) сертификат. 1.6. Двойная (вторичная) подпись. 1.7. Способы подписания 1.8. Перечисление сертификатов в хранилище 1.9. Удаление подписи. 1.10. Покупка сертификата.Часть 2. Описание реализации программы проверки подписей2.1. Подготовка к проверке 2.2. Запуск процедуры проверки и обработка результатов 2.3. Очистка ресурсов. 2.4. Извлечение сертификатов и содержащейся в них информации 2.5. Извлечение атрибутов и крос-подписейЧасть 3. Программа проверки Authenticode ЭЦП- Назначение - Совместимость / Требования - Примеры использования / Флаги и дополнительная информацияЗаключение Приложения и исходные коды Дополнительная литература

  1. Добрый вечер! Товарищи, очень нужна помощь в понимании процесса выгрузки данных из БД Oracle в Excel через Recordset. Поясню, с чего всё началось На работе необходимо выгружать данные, для этого использую самую простую конструкцию, через Recordset.GetRows, записываю данные в массив и уже от туда передаю данные на Лист. Используя данную конструкцию - был наивно уверен, что лучше ничего нет Но недавно увидел, как отрабатывается скрипт, где используют Словарь вместо массива и много разных опций для Recordset. Скрипт отработался в раз 5 быстрее. А если скрипт достаточно сложный, то разница очень существенная (в 10-30 раз) 5 минут против часа или двух часов. Вот и возник вопрос - из за чего такой прирост скорости? По сути то - один и тот же метод, один драйвер, один Excel, одна база, один скрипт)) Кто нибудь занимался данным вопросом? Может кто то знает секрет такого прироста скорости?

  1. Добрый день. Есть тестовое приложение, оно содержит один элемент меню, на котором висит shortcut(Ctrl+L) и командную кнопку. Если я нажимаю комбинацию клавиш Ctrl+L с клавиатуры, то появляется окно сообщения, что нажат пункт меню. Как сделать так, чтобы при нажатии на командную кнопку эмулировалось нажатие Ctrl+L для меню. Эту задачу удается решить с помощью keybd_event, но необходимо в дальнейшем отправлять комбинацию в функцию окна, использую хэндл окна. Соответственно keybd_event по этой причине не подходит, как не подходит и отправка сообщения wm_command. По идее, должен работать вариант с отправкой сообщений wm_keydown для каждой клавиши. Например: PostMessage хэндл окна, номер сообщения, vkkeycode(vk_control), lParam(содержит repeatcount и scancode) PostMessage хэндл окна, номер сообщения, vkkeycode(vk_L), lParam(содержит repeatcount и scancode) Но при этом ноль реакции. Через spy++ смотрел сообщения клавиатуры. При физическом нажатии так же генерируются два keydown-а, как и при эмуляции через postmessage. Содержимое сообщений идентичны. Но, в обоих случаях так же появляется сообщение wm_char, они отличаются по содержимому wParam, lParam. wm_char я не отправляю, оно генерируется, как я понимаю defwindowproc. Буду признателен и благодарен за решение или направление в нужную сторону, т.к. ситуация тупиковая, на данный момент.

  1. Всем добрый вечер! Я пишу, разумеется, на VB6 и на .NET переходить не собираюсь. Меня устраивает в нём то, что это - полностью законченный "Проект", без (почти) глюков и постоянных обновлений. Но вот какая история. Некоторое время назад я "пролетел" мимо гранта. Член комиссии, компьютерщик, спросил меня: На чём я пишу? Я ответил: "VB6 + Access 2003". Он высказал: "Кому это сейчас нужно?". Я ответил, что абсолютно неважно, на чём написана программа, хоть на языке Ассемблера, главное: чтобы она работала. В итоге он зарубил мой проект. Братья по разуму! Вы все пишете именно на VB6. Что скажете по этому поводу: кто прав? Насколько актуален сегодня VB6, поддержка которого прекратилась 10 лет назад? P.S. А не использует ли сам Microsoft до сих пор "устаревшие" языки?!!

  1. Это продолжение. См. также другие части этой статьи:Часть 1. Кусочек теории.Часть 3. Программа проверки Authenticode ЭЦПЧасть 2. Описание реализации программы проверки подписейСодержание: 2.1. Подготовка к проверке 2.2. Запуск процедуры проверки и обработка результатов 2.3. Очистка ресурсов. 2.4. Извлечение сертификатов и содержащейся в них информации 2.5. Извлечение атрибутов и крос-подписей

  1. Должна быть память оперативки в Мб

  1. После нажатия на форме появляется время работы компьютера

  1. Должно работать после нажатия command)Добавлено через 5 часов 49 минут Неужели никто не может этого в VB?(