'СОРС ЗА ФОРМАТА

'При кликане върху бутона за Fullscreen

Private Sub Command1000_Click()

Set FormaObekt = Me ' Въвеждаме формата в обекта FormaObekt, за да го използваме лесно в модула

NapraviFullSCreen 'Задействаме процедурата за Fullscreen намираща се модула

End Sub

 

'Таймер скриващ надписа, който указва как да се излезе от Fullscreen след 3 секунди

Private Sub Timer2000_Timer()

NadpisZaESC ' Процедура в модула скриваща надписа

End Sub

 

'При двоен клик върху формата

Private Sub Form_DblClick()

NapraviNormal ' Задействаме процедурата за възстановяване на нормалния изглед на формата

End Sub

 

'Таймер следящ бутона ESC

Private Sub Timer1000_Timer()

SledeneESC ' Процедура в модула следяща за натискане на бутона ESC

End Sub

 

 ''''''''''''''''''' Следва незадължителен сорс за показване на картинка'''''''''''''''''''''''''

 

' При въвеждане на формата в Image1 въвеждаме картинка

Private Sub Form_Load()

Image1.Picture = LoadPicture(App.Path & "/kartinka.jpg") ' Въвеждаме в Image1 картинката от директорията на примера

End Sub

 

'При преоразмеряване на формата, преоразмеряваме и картинката, свойството Strech e зададено TRUE

Private Sub Form_Resize()

Image1.Width = Me.Width: Image1.Height = Me.Height

End Sub

 

' При двойно кликане върху картинката

Private Sub Image1_DblClick()

NapraviNormal ' Правим изгледа на формата нормална

End Sub

 

                                                                                    'СОРС ЗА МОДУЛА

Public FormaObekt ' Декларираме обекта в който ще вкараме формата

Public Hirina0 ' Декларираме променлива в която ще запомним ширината на формата в нормално състояние

Public Visocina0 ' Декларираме променлива в която ще запомним височината на формата в нормално състояние

Public Sastoianie0 ' Декларираме променлива в която ще запомним състоянието на формата преди Fullscreen

' Декларираме АПИ функцията за следене на клавиатурата

Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

 

' Процедура за Fullscreen

Public Sub NapraviFullSCreen()

Hirina0 = FormaObekt.Width: Visocina0 = FormaObekt.Height ' Запомняме широчината и височината предварително

Sastoianie0 = FormaObekt.WindowState ' Запомняме изходното състояние на формата

FormaObekt.WindowState = 0 ' Привеждаме формата в нормално състояние

FormaObekt.BorderStyle = 0 ' Сменяме стила на формата да няма лента за затваряне и минимизация

FormaObekt.Caption = FormaObekt.Caption ' Обновяваме формата

FormaObekt.Command1000.Visible = False ' Правим невидим бутона за Fullscreen

FormaObekt.Timer2000.Enabled = True ' Пускаме таймера, който ще скрие надписа как се излиза от Fullscreen след 3 сек

FormaObekt.Timer1000.Enabled = True ' Пускаме таймера за следене на клавиатурата

On Error Resume Next ' манипулатор на грешка

FormaObekt.WindowState = 2 ' Задаваме състояние Maximize

End Sub

 

'Процедура за възстановяване на нормалния изглед

Public Sub NapraviNormal()

On Error Resume Next ' Манипулатор на грешка

FormaObekt.BorderStyle = 2 ' Сменяме стила на формата да се покаже лентата с бутоните за затваряне и минимизация

FormaObekt.Caption = FormaObekt.Caption ' Обновяваме формата

FormaObekt.WindowState = Sastoianie0 ' Връщаме състоянието на формата в това, което е била преди Fullscreen

FormaObekt.Height = Visocina0 ' Възстановяваме и първоначалната й височина

FormaObekt.Width = Hirina0 ' Възстановяваме и първоначалната й ширина

FormaObekt.Command1000.Visible = True ' Показваме бутона за задействане на Fullscreen

End Sub

 

'Процедура за следене на ESC и първоначално показване на надписа как се излиза от Fullscreen

Public Sub SledeneESC()

    If GetAsyncKeyState(27) Then ' Ако е натиснат бутона ESC

        NapraviNormal ' Задействаме процедурата за възстановяване в нормално състояние

        FormaObekt.Timer1000.Enabled = False ' Спираме следящия таймер за клавиатурата

    End If

    'Тук центрираме и показваме надписа

    If FormaObekt.Timer2000.Enabled = True Then ' Ако все още работи Timer2000, тоест не са изтекли 3 секунди

       FormaObekt.frame1000.Top = 50 ' Пращаме надписа на височина 50

       FormaObekt.frame1000.Left = FormaObekt.Width / 2 - FormaObekt.frame1000.Width / 2 ' Центрираме го

       FormaObekt.frame1000.Visible = True ' Правим го видим

    End If

End Sub

 

' Процедура спираща таймера отчитащ 3 секунди и скриваща надписа

Public Sub NadpisZaESC()

       FormaObekt.Timer2000.Enabled = False ' Спираме таймера отчитащ 3 секунди

       FormaObekt.frame1000.Visible = False ' Правим невидим надписа

End Sub