6.2 Различия между консольными и графическими приложениями
____________________________________________________________________
Windows), могут быть без изменения скомпилированы на другой платформе
(например, OS X или Linux). При этом следует помнить, что графический ин-
терфейс в различных операционных системах реализован совершенно по-
другому. Так, в Windows GUI основан на функциях WinAPI, а в Linux на биб-
лиотеках GTK-2 или QT.
6.2. Различия между консольными и графическими приложениями
Итак, приложение с GUI отличается от консольного наличием графическо-
го интерфейса (напомню, что консольное приложение использует экран в тек-
стовом режиме, а приложение с GUI в графическом режиме). Но между кон-
сольным и GUI-приложением существует еще одно, более существенное разли-
чие. Консольное приложение, получив управление, далее полностью само кон-
тролирует вычислительный процесс. По мере необходимости запрашивает дан-
ные для работы (оператор read), выводит результаты вычислений на экран (опе-
ратор writeln) и завершает работу по достижению последнего оператора про-
граммы.
Совершенно по-другому работают GUI-программы. Они реагируют на
события. Событие может вызвать действие пользователя, например, нажатие мышью на какую-нибудь кнопку в приложении. Событие может вызвать опера-
ционная система или же событие может породить само приложение. Все собы-
тия отслеживаются операционной системой, которая формирует на каждый тип события соответствующее сообщение. Это сообщение передается в приложе-
ние, на которое приложение должно реагировать в соответствии с алгоритмом своей работы. Т.е. GUI-приложение должно уметь обрабатывать сообщения операционной системы и уметь генерировать и посылать свои собственные со-
общения.
Приложение, после запуска, создает свое окно и запускает так называемый