Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 116


Первым элементом управления, работу с которым мы рассмотрим, бу­дет строка состояния (status bar). Ранее мы использовали ее в наших демонстрационных программах, но работу с ней не изучали.

РАБОТА СО СТРОКОЙ СОСТОЯНИЯ

Для того чтобы отобразить информацию о текущем состоянии про­граммы, выполняемых операциях и режимах, в программе может исполь­зоваться элемент управления, который называют окном или линейкой состояния (status bar). Мне кажется более удачным термин «строка со­стояния». Включение окна состояния в программу в значительной степе­ни изменяет внешний вид окна и позволяет создать более понятный и удобный для пользователя интерфейс.

Строка состояния может быть включена в описание диалогового окна в файле ресурсов. Но так как окно состояния является стандартным окном, то, естественно, что для его создания могут быть использованы функции и стандартные функции CreateWindowQ и CreateWindowExQ. При этом в качестве имени класса окна необходимо задать макро «STATUSCLASSNAME». В зависимости от того, какую систему коди­ровки использует прснрамма, можно воспользоваться также и «истинным» именем класса (msctls_statusbar32). В commctrl.h эти макро и имена описаны следующим образом:

#ifdcf_WIN32

«define STATUSCLASSNAMEW

«define STATUSCLASSNAMEA

«ifdefUNICODE

«define STATUSCLASSNAME

«else

«define STATUSCLASSNAME

#cndif

#else

«define STATUSCLASSNAME

«endif

L"msctls_statusbar32" "msctls statusbar32"

STATUSCLASSNAMEW STATUSCLASSNAMEA

"msctls statusbar"

136

Тем не менее, для создания окна состояния предусмотрена и отдель­ная функция CreateStatusWindowQ. В файле commctrl.h эта функция определяется так:

WINCOMMCTRLAPI HWND WINAPI CreateStatusWindowA(LONG style,

LPCSTR IpszText, HWND hwndParent, UINT wID);

WINCOMMCTRLAPI HWND WINAPI CreatcStatusWindowW(LONG style,

LPCWSTR IpszText, HWND hwndParent, UINT wID);

#ifdcf UNICODE

«define CreateStatusWindow

«else

«define CreateStatusWindow

«cndif

CrcateStatusWindowW




Начало  Назад  Вперед



Книжный магазин