Спонсоры сайта:

Наличие этой страницы в поиске?

Информеры ТИЦ и PR

  Yandex ТИЦ:  
   Google PR:  

Путешественникам, меломанам, бизнесменам, вебмастерам, новости.

Содержание | <<< | >>>

Общая картина специфики программирования для Windows 2000





Краеугольным камнем операционной системы Windows 2000 (как впрочем и любой из версий Windows в целом) является идея предоставления любому человеку, имеющему базовые навыки работы с данной системой, возможность сесть за компьютер и запустить практически любое приложение без специального предварительного обучения. Чтобы реализовать этот замысел, Windows предоставляет пользователю единообразный интерфейс. Теоретически, если вы можете работать в какой-либо одной Windows-ориентированной программе, то вы сможете работать и во всех остальных. Без сомнения, в реальной жизни для максимально эффективного использования возможностей наиболее полезных программ по-прежнему требуется определенная подготовка. Но, по крайней мере, это обучение может быть сведено до разъяснения того, что делает данная программа, а не того, как пользователь должен взаимодействовать с ней. Поэтому неудивительно, что значительная часть кода в Windows-приложениях предназначена для реализации интерфейса пользователя.

Необходимо иметь в виду (и это очень важный момент), что не всякая программа, выполняемая под управлением Windows 2000, автоматически предоставляет пользователю интерфейс, выполненный в Windows-стиле. Операционная система Windows определяет среду, которая только поддерживает и стимулирует единообразие, но не заставляет делать это в "принудительном порядке". Например, можно написать массу Windows-программ, которые не будут использовать преимущества, которые обеспечивают стандартные элементы интерфейса Windows. (Кстати, очень многие системные и сетевые утилиты Windows выполнены именно в виде приложений командной строки, а не в стиле Windows. Но это допустимо, так как они предназначены для высококвалифицированных специалистов, например, системных администраторов.) Для того чтобы создать программу в стиле Windows, необходимо осознанно следовать определенным правилам. Только те программы, которые написаны с учетом использования богатых возможностей Windows, будут выглядеть и вести себя как настоящие Windows-приложения. Конечно, вы можете отвергнуть базовую философию Windows-дизайна, но для такого решения у вас должны быть очень веские причины. Потому что иначе ваши программы будут нарушать самую фундаментальную заповедь Windows: обеспечить единообразный и последовательный интерфейс пользователя. В общем случае, если вы пишите прикладные программы под Windows 2000, то они обязаны соответствовать нормам и подходам проектирования стандартного Windows-стиля.

Давайте рассмотрим самые значительные составляющие, которые определяют среду приложений для Windows 2000.

Модель рабочего стола

Основная идея (с некоторыми нюансами) основанного на окнах пользовательского интерфейса состоит в том, чтобы обеспечить на экране монитора эквивалент поверхности рабочего стола. Так, на обычном письменном столе могут лежать стопкой несколько листков бумаги, причем часто некоторые листы торчат из стопки в разные стороны, так что под верхним листом видны фрагменты этих страниц. Эквивалентом рабочего стола в Windows 2000 является экран монитора. Эквивалентами листов бумаги или их фрагментов являются окна на экране. На обычном рабочем столе эти листы бумаги вы можете передвигать с места на место. Возможно, даже ухитряетесь выдернуть из стопки необходимый документ и положить его поверх всех остальных, или изучаете кусочек другого листа, выглядывающего из пачки документов. Аналогичные операции позволяет выполнять в своих окнах и Windows 2000. Благодаря возможности выбрать какое-то окно, вы можете сделать его активным. Это означает, что оно будет помещено поверх всех остальных окон, и вся информация, вводимая, например, с помощью клавиатуры будет направляться именно приложению, представленному этим окном. Окно можно увеличить или уменьшить, а также переместить в другое место экрана. Иными словами, Windows позволяет использовать поверхность экрана практически таким же образом, как и поверхность своего письменного стола. Все программы, соответствующие стандартам Windows-стиля, должны позволять пользователям выполнять подобные действия.

Мышь

Как и все предыдущие версии Windows, операционная система Windows 2000 использует манипулятор типа мышь почти во всех операциях управления, выбора и перемещения. Конечно, для этого можно использовать также и клавиатуру, но в первую очередь Windows оптимизирована для работы с мышкой. Поэтому ваши программы должны поддерживать мышь в качестве основного устройства ввода, причем везде, где это только возможно. К счастью, для основного набора обычных действий, как, например, использования линейки прокрутки, выбора элемента меню и тому подобного, автоматически предусмотрено использование мыши.

Пиктограммы, растровые изображения и другая графика

Windows 2000 широко поддерживает, даже поощряет применение пиктограмм, растровых изображений и других видов графики. Обоснованием повсеместного применения таких элементов служит старая проверенная временем поговорка: Лучше один раз увидеть, чем сто раз услышать[1]. Пиктограмма — это маленький мнемонический значок, символизирующий некоторую операцию, ресурс или программу. Растровое изображение, часто называемое битмапкой (bitmap) — это графическое изображение прямоугольной формы в растровом формате; такие изображения часто используются для того, чтобы быстро донести до пользователя некоторую информацию в визуальном виде. Более того, растровые изображения могут также использоваться в качестве элементов меню. Windows 2000 поддерживает очень широкий диапазон графических возможностей, в том числе прорисовку линий, прямоугольников и окружностей. Правильное применение подобных графических элементов является необходимым условием успешного программирования для Windows.

Меню, средства управления и диалоговые окна

Windows обеспечивает несколько видов стандартных элементов, которые предназначены для ввода информации пользователем. В их число входят: меню, разнообразные средства управления, а также диалоговые окна. Не отвлекаясь на подробности, можно сказать, что меню отображает варианты действий, на которых пользователь может остановить свой выбор. Поскольку меню являются стандартными элементами Windows-программирования, функции встроенного в меню выбора обеспечиваются средствами самой системы Windows. Из этого следует, что вашей программе не понадобится самой нести бремя непроизводительных организационных издержек, связанных с применением меню.

Элемент управления представляет собой окно особого вида, которое позволяет осуществлять специфический способ взаимодействия с пользователем. В качестве примеров таких окон можно привести кнопки, полосы прокрутки, окна редактирования и флажки (check boxes). Как и в случае со средствами меню, обработка элементов управления, которые определяются самой Windows, почти полностью автоматизирована. Поэтому ваша программа может использовать их без необходимости погружаться в рутину проработки всех деталей.

Диалоговое окно — специальное окно, которое позволяет осуществлять более сложное взаимодействие с программой по сравнению с возможностями, реализуемыми с помощью меню. Например, ваше приложение может использовать диалоговое окно, которое будет позволять пользователям вводить имя файла. Как правило, диалоговые окна содержат еще и элементы управления. В большинстве случаев ввод информации с помощью стандартных средств, реализуемый не через меню, осуществляется посредством диалогового окна.

----------

[1]Вот ее Windows-переформулировка: Лучше один раз щелкнуть на пиктограмме, чем сто раз набрать на клавиатуре.


Содержание | <<< | >>>

C++ исходники. Все примеры - рабочие:

часы:

Dev C++ WinAPI Стрелочные часы Analog Clock

Dev C++ WinAPI Цифровые прозрачные часы. Текст на рабочем столе. Digital transparent clock. Text on desktop

Dev C++ OLE WinApi CALENDAR and DIGITAL CLOCK (15kb). Календарь и цифровые часы

Dev C++ OLE WinAPI Календарь и цифровые часы почти Vista SideBar всего 21kb

плееры:

Microsoft Visual C++ 2008 Direct Show DVD Mini Player 10.5kb

Dev C++ WinAPI Микро медиа плеер 3.5kb

Dev C++ WinAPI Мини медиа плеер 4.5kb

Dev C++ WinAPI Hint Всплывающая подсказка

Dev C++ WinAPI RECT - имитатор кнопки

Dev C++ WinAPI Заполнить ListBox

Dev C++ WinAPI Заполнить, редактировать, сохранить, загрузить ListBox (PlayList)

Dev C++ WinAPI Индикатор уровня

Dev C++ WinAPI MP3 Микро плеер Открыть с помощью...

Dev C++ WinAPI Своя кнопка

изображения:

Dev C++ GDI+ WinAPI Mini FotoResizer (16kb), изменяет размеры всех фото (JPG) до указанного размера в выбраной папке и её подпапках

Dev C++ WinAPI Сохранить BITMAP экрана, десктопа, окна, клиентской области.

Dev C++ WinAPI Изменить размер изображения BMP RESIZE. Загрузка изображений из ФАЙЛА, вывод на экран и сохранение в файл.

Dev C++ WinAPI Загрузка изображений из РЕСУРСОВ и вывод на экран.

Dev C++ GDI+ WinAPI. Преобразовать изображения из одного формата в другой (JPG в BMP, GIF, PNG и обратно ), используя дополнительные библиотеки GDI+. Загрузка изображений из файла и сохранение в файл.

Dev C++ GDI+ WinAPI масштабирование JPG RESIZE

Dev C++ OLE WinAPI. Преобразовать изображения из JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из РЕСУРСОВ и сохранение в файл.

Dev C++ OLE WinAPI преобразовать JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из ФАЙЛА и сохранение в файл.

Dev C++ OLE WinAPI масштабирование BMP RESIZE

разное:

Dev C++ WinAPI Dev C++ Преобразовать цвет точки экрана в HTML код

Dev C++ WinAPI NOTIFYICONDATA WS_EX_TOOLWINDOW Иконка в области уведомлений (notification area, tray, трей). Удалить с панели задач (taskbar).

Dev C++ WinAPI ShellExecute Создать ссылку на WEB сайт

Dev C++ WinAPI ShellExecute Создать окно со ссылкой на WEB сайт

Dev C++ WinAPI CreateProcess ShellExecute WinExec Запуск приложения из приложения

Dev C++ OLE WinAPI Создать регион Regions PopUp Меню Menu

Dev C++ FindFiles. Поиск файлов заданного типа (в примере *.JPG) в папке и её подпапках

библиотеки:

Скачать библиотеку GDI+ для Dev C++

Скачать справочнник с примерами языка C.