В нашем примере для окна заставки регистрируется класс окна, который будет использовать стандартный кусор IDC_ARROW в форме стрелки.
Метод HideSplashScreen класса CSplashWnd закрывает окно заставки, вызывая метод DestroyWindow, а затем устанавливает флаг обновления для всех окон приложения с помощью метода UpdateWindow:
DestroyWindow;
AfxGetMainWnd->UpdateWindow;
Метод PostNcDestroy класса CSplashWnd вызывается уже после того как окно заставки закрыто и используется дл того, чтобы удалить объект класса CSplashWnd, представляющий это окно в нашем приложении:
delete this;
Органы управления OCX
На странице OLE Controls диалоговой панели Component Gallery представлены органы управления OCX . Количество этих компонент настолько велико, что мы не имеем возможности рассказать про них все. Поэтому мы ограничимся только несколькими органами управления, которые поставляются вместе с Microsoft Visual C++.
По возможности используйте органы управления OCX. Это позволит сократить время на разработку вашего приложения и повысит его надежность.
Многие фирмы выпускают собственные органы управления OCX и распространяют их как отдельные продукты вместе с подробной документацией. Во многих случаях вместо разработки собственных органов управления вы можете приобрести уже готовые решения. Такой подход позволит сохранить много времени на разработке и отладке собственного программного кода.
Пиктограмма Назначение соответствующего компонента
Для добавления к проекту новых органов управления OCX, выберите соответствующую пиктограмму на странице OLE Control окна Component Gallry и нажмите кнопку Insert. Дальнейший процесс вставки компонента зависит от него самого.
Как правило, когда вы нажимаете кнопку Insert, у вас запрашивается различная дополнительная информация. Это могут быть названия классов, файлов и т. д. Когда вы введете всю необходимую информацию, начнется модификация проекта. В проект будут добавлены один или несколько классов, представляющих новый орган управления OCX. Методы этих классов вы будете использовать для взаимодействия с объектами OCX. Описание данных классов вы можете получить, нажав кнопку ? в панели Component Gallry.
Новые органы управления, которые вы добавили в проект, доступны для использования в диалоговых панелях. Некоторые из них вы также можете использовать в качестве отдельных окон, не входящих в диалоговые панели точно также, как стандартные органы управления, такие как кнопка или поле редактирования.
Когда вы добавляете новые органы управления OCX в ваш проект, то в панели инструментов Controls появляются представляющие их пиктограммы. Так на рисунке 2.5 мы представили начальный набор органов управления панели Controls. После того как в проект добавлены органы управления Anibutton Control, Grid Control, Microsoft Comm Control, Microsoft Masked Ediit Control и VideoPlay Control, внешний вид панели изменится (рис. 2.6).
Рис. 2.5. Стандартные органы управления
Используя новые кнопки на панели Control также, как стандартные кнопки этой панели, вы можете поместить соответствующие органы управления на диалоговых панелях приложения.
Рис. 2.6. Новые органы управления OCX
3. Меню, панели управления и панели состояния
Практически все приложения, имеющие оконный интерфейс, управляются посредством меню. Пользователь выбирает строки меню или, другими словами, команды, а приложение в ответ на это выполняет определенные действия, например, отображает диалоговые панели, выполняет вычисления и т. д.
Многие приложения также имеют панель управления – небольшую полоску, содержащую ряд кнопок. Как правило, эта полоска располагается ниже меню в главном окне приложения. Кнопки панелей управления дублируют некоторые, как правило наиболее часто используемые, строки меню. Их использование позволяет значительно ускорить и облегчить работу с приложением.
Меню и панели управления служат для передачи команд приложению. Напротив, панель состояния отражает текущее состояние приложения и может давать пользователю краткие подсказки, состоящие буквально из нескольких строк.
Все однооконные и многооконные приложения, созданные с использованием MFC AppWizard , по умолчанию имеют меню, панель управления и панель состояния.