История изменений
Исправление X512, (текущая версия) :
Ну вот, уже оказывается, что не всё сообщениями делается.
Неточно выразился. Я имел ввиду, что родные контролы вроде кнопки или списка управляются через сообщения. Например чтобы добавить элемент в список, надо отослать сообщение LB_ADDSTRING. Функционал GUI сервера вроде создания/удаления окон, отсылание и приём сообщений, рисования и прочее сделан через системные вызовы и включает все необходимые блокировки (иначе испортятся внутренние структуры данных GUI сервера, графика сломается и будет синий экран). Каждый поток может иметь свою очередь сообщений и набор окон.
Исходная версия X512, :
Ну вот, уже оказывается, что не всё сообщениями делается.
Неточно выразился. Я имел ввиду, что родные контролы вроде кнопки или списка управляются через сообщения. Например чтобы добавить элемент в список, надо отослать сообщение LB_ADDSTRING. Функционал GUI сервера вроде создания/удаления окон, отсылание и приём сообщений, рисования и прочее сделано через системные вызовы и включает все необходимые блокировки (иначе испортятся внутренние структуры данных GUI сервера, графика сломается и будет синий экран). Каждый поток может иметь свою очередь сообщений и набор окон.