Скрийнсейвър в Visual Basic
Хубавото на Visual Basic е, че ви позволява да създавате скрийнсейвъри. За да направите това, просто трябва да създадете проект с една или няколко форми, прост код и да го компилирате във файл с разширение * .Scr в работната директория на Windows.
Както мисля, че вече е ясно, целият трик е в кода. Сега ще го разглобим, но първо нека създадем форма. Нека поставим таймер върху него и зададем някои свойства. (BorderStyle = None, WindowState = Maximized, Name = frmSSaver) Сега нека започнем да създаваме кода. Първо, както винаги, трябва да декларираме всички необходими променливи:
Тъй като цялата работа се извършва в цикъл на таймера, за излизане се използва флагът Quit. Между другото, за самата работа. Целият основен код на скрийнсейвъра е прост, тъй като всичко е гениално (колко смирен съм всъщност?):
Таймерът осигурява рисуване върху формуляра и излизане, ако е зададен флагът Quit, но преди рисуването е необходимо да запазите изображението на екрана във формуляра и да "скриете" мишката:
Така че имаме кода за подготовка на формуляра и кода за цикъла за рисуване. Но ако флагът за изход не е зададен, цикълът ще продължи безкрайно. Затова се използват събитията във формата MouseMove и KeyDown.
Мисля, че в този код няма нищо особено сложно. Ето само променливите OldX и OldY, които обявих за достъпни в целия модул. Но за да не бъдат нулирани тези променливи, когато процедурата за обработка на MouseMove приключи, можете да ги декларирате вътре в нея с помощта на статичния оператор, не го използвах просто защото не ми харесва.