888 Часть V. Инструментарий программиста

10. MainWindow->SetIcon( this, "EARTH");

11. • MainWindow->SetCursor( this, "HANDFLAT");

12. }

13. );

14. int OwlMain(int /*argc*/, char* /*argv*/[J) {

15. return TApp().Run() ;

16. }

Этот маленький фрагмент кода — законченное и работающее приложение Windows, хотя делает оно не слишком много — всего лишь привязывает выбранный значок к программе.' Основная работа происходит в строке 10. На рис. 31.8 показано, как выглядит значок программы в окне диалога Обзор.

h08881.jpg

Рис.31.8

Значок, связанный с главным окном, Windows 95 связывает и с исполняемым файлом

Единственное, чем этот код по существу отличается от листинга 31.1 — это строка 10, в которой вызывается функция seticon, принимающая указатель this как аргумент TModule*. Этот простой оператор связывает значок с программой. Класс TApplication библиотеки OWL позволяет очень легко создавать приложения для Windows. Далее мы рассмотрим пример в стиле С, делающий то же самое с помощью Windows API.

Связывание значков с окнами с помощью Windows API

Листинг в стиле С, приведенный в этом разделе, как и программа из предыдущего раздела, может быть использован для построения законченного работающего приложения для Windows.

Листинг 31.3 демонстрирует альтернативный способ использования пользовательских значков и курсоров с помощью базового подхода Windows.

h08882.jpg

1. // APICURS.CPP - Пример вывода курсоров и значков

2. #include <windows.h>

3. ftinclude <string.h>