PureBasic
;
; ------------------------------------------------------------
;
;   PureBasic - Win32 API example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;
; ПРИМЕЧАНИЕ. Этот файл не компилируется в демо версии! (API-вызовы)
;

;
; Теперь откроем окно и сделаем с ним кое-что...
;

If OpenWindow(0, 100, 100, 195, 260, "PureBasic Window")

  ;
  ; Это "цикл событий". Здесь обрабатываются все действия пользователя.
  ; Это очень легко понять: когда происходит действие, Событие не равно 0, 
  ; и мы просто должны увидеть, что произошло...
  ;

  Repeat
    Event = WaitWindowEvent()

    ;
    ; Здесь мы используем непосредственно Windows API для рисования эллипса.
    ; Все функции Windows® поддерживаются!
    ;
  
    *DC = GetDC_(WindowID(0))          ; Get the output pointer
    Ellipse_(*DC, 10, 10, 100, 100)   ; Нарисуем заполненный эллипс.
    ReleaseDC_(WindowID(0), *DC)       ; Отпустим поверхность вывода графики.

    If Event = #PB_Event_CloseWindow  ; Если пользователь нажал на кнопку закрытия
      Quit = 1
    EndIf

  Until Quit = 1
  
EndIf

End   ; Все открытые окна автоматически закрываются PureBasic