Уроки PureBasic

Categories

Other Sites

Other Sites



             Поиск по сайту

     

                


    Оставить мне сообщение:



Варианты кода - Окно.

Исходный код окна (первый вариант)

Enumeration
#Window_0
EndEnumeration

If OpenWindow(#Window_0, 100, 100, 450, 180, "Заголовок", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)


Repeat
A= WaitWindowEvent()
If A=#PB_Event_CloseWindow
Q=1

EndIf
Until Q=1
EndIf
End

Уроки PureBasic

Исходный код окна (второй вариант)

SetWindowColor - задет цвет окна.
Repeat - начало главного цикла Repeat-Until.
Event=WaitWindowEvent() - Получаем текущий идентификатор события.
End - Завершение работы.

OpenWindow(1, 100, 100, 450, 180, "Заголовок", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)

Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow
End

Уроки PureBasic

Исходный код окна (третий вариант)

Код сгенерирован визуальным редактором PureFORM

Enumeration
#Window_0
EndEnumeration

Define.l Event, EventWindow, EventGadget, EventType, EventMenu

Procedure OpenWindow_Window_0()

If OpenWindow(#Window_0, 1, 100, 450, 180, "Заголовок",#PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget )

EndIf
EndProcedure

OpenWindow_Window_0()

Repeat
Event = WaitWindowEvent()
Select Event

Case#PB_Event_Gadget
EventGadget = EventGadget()
EventType = EventType()

Case#PB_Event_CloseWindow
EventWindow = EventWindow()
If EventWindow = #Window_0
CloseWindow(#Window_0)
Break
EndIf
EndSelect
ForEver
Уроки PureBasic
При выполнении всех этих трёх примеров получится следующий результат:

окно


Размер exe файла равен 11,5КБ


Уроки PureBasic

Открытие нескольких окон

Уроки PureBasic Каждому окну присваиваем уникальные идентификаторы (0, 1, 2, 3...)

OpenWindow(0,20,20,200,200,"1",#PB_Window_MinimizeGadget)
OpenWindow(1,100,200,100,50,"2",#PB_Window_MinimizeGadget)
OpenWindow(2,300,500,300,80,"3",#PB_Window_MinimizeGadget)
OpenWindow(3,400,200,200,50,"4",#PB_Window_MinimizeGadget)

Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow


Уроки PureBasic Запускаем цикл из 20 окон, закрываем процесс Delay(6000)

Уроки PureBasic


For k = 0 To 20
i+10
s+20
d+20
OpenWindow(i, s, d, 300, 200, "Фантом-окно", #PB_Window_SystemMenu)
Next
Delay(6000)


Уроки PureBasic Каждое окно закрываем отдельно

OpenWindow(0,20,20,200,200,"Главное",#PB_Window_MinimizeGadget)
OpenWindow(1,100,200,100,50,"2",#PB_Window_MinimizeGadget)
OpenWindow(2,300,500,300,80,"3",#PB_Window_MinimizeGadget)
OpenWindow(3,400,200,200,50,"4",#PB_Window_MinimizeGadget)

Repeat
Event=WaitWindowEvent()
Window=EventWindow()

If Event=#PB_Event_CloseWindow
CloseWindow(Window)
EndIf

Until Event=#PB_Event_CloseWindow And Window=0


Уроки PureBasic Запуск окна после того, как загрузиться все гаджеты
Используем флаг окна #PB_Window_Invisible
Когда все гаджеты, меню, строка состояния и т. д. созданы, можно отобразить окно с помощью функции HideWindow

; Создаём невидимое окно
OpenWindow(0,20,20,200,200,"1",#PB_Window_MinimizeGadget|#PB_Window_Invisible)

; Тут создаём гаджеты меню, панель инструментов, строку состояния и т. д.

; Отображаем окно
HideWindow(0,0)

Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow


Уроки PureBasic Фантом окно.

Замените команду Break на сообщение MessageRequester(""," Кнопка поломалась!")

w = GetSystemMetrics_(#SM_CXSCREEN)
h = GetSystemMetrics_(#SM_CYSCREEN)

For a = 1 To 100
OpenWindow(a,Random(w-200),Random(h-200),400,100,"Stiv ",#PB_Window_SystemMenu)

Next a

Repeat
Event=WaitWindowEvent()

If event=#PB_Event_CloseWindow
Break ; Прерываем главный цикл
EndIf
ForEver


Перейти на форум http://purebasic.info/phpBB2/viewtopic.php?t=387
Уроки PureBasic

 

Используются технологии uCoz