Владимир Волков - Программирование для карманных компьютеров

Тут можно читать онлайн Владимир Волков - Программирование для карманных компьютеров - бесплатно ознакомительный отрывок. Жанр: comp-programming. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Программирование для карманных компьютеров
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.11/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Владимир Волков - Программирование для карманных компьютеров краткое содержание

Программирование для карманных компьютеров - описание и краткое содержание, автор Владимир Волков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Эта книга предназначена для того, чтобы читатель смог быстро научиться создавать мощные и эффективные приложения для наладонных компьютеров Pocket PC. Рынок программ для карманных компьютеров сейчас бурно развивается, и именно в этой отрасли программист-одиночка может успешно соперничать с большими корпорациями, которые создают программное обеспечение. Прочитав эту книгу, читатель сможет уверенно и быстро разрабатывать достаточно сложные приложения для Pocket PC. Огромное количество разнообразных примеров позволит быстро совершенствоваться и развиваться, обогащая свой опыт работы.

Книга предназначена для начинающих программистов.

Программирование для карманных компьютеров - читать онлайн бесплатно ознакомительный отрывок

Программирование для карманных компьютеров - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Владимир Волков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

g_hmPopup = CreatePopupMenu();

AppendMenu(g_hmPopup,MF_STRING, 1000,TEXT(«pop 1»));

AppendMenu(g_hmPopup,MF_STRING, 1001, TEXT(«pop 2»));

AppendMenu(g_hmPopup,MF_STRING, 1002,TEXT(«pop 3»));

AppendMenu(g_hmPopup,MF_STRING|MF_MENUBARBREAK, 1003, TEXT(«pop 4»));

AppendMenu(g_hmPopup,MF_STRING|MF_CHECKED, 1004,TEXT(«pop 5»));

AppendMenu(g_hmPopup,MF_STRING, 1005, TEXT(«pop 6»));

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

case WM_LBUTTONDOWN:

{

WORD xPos = LOWORD(lParam); // horizontal position of the cursor

WORD yPos = HIWORD(lParam); // vertical position of the cursor

if (g_hmPopup){

TrackPopupMenuEx(g_hmPopup,0, xPos, yPos, hWnd, NULL);

}

}

break;

33. Запустить проект. Легко убедиться, что всплывающее меню работает так, как надо.

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

? ID – идентификатор команды меню, по которому приложение будет обращаться к этой команде для обработки событий или манипуляций с данной кнопкой.

? Caption – название команды меню.

? Caption ID – идентификатор строкового ресурса, в котором хранится название команды меню.

? Pop-Up – установка этого флажка говорит о том, что данный пункт меню имеет подменю, которые будут выведены во всплывающем окне. В редакторе меню при выделении пункта меню с включенным свойством Pop-up над этим пунктом появляется прямоугольник, позволяющий редактировать всплывающее меню.

? Separator – установка этого флажка превращает данный пункт меню в разделитель.

? Shared New – выводит в строку меню кнопку New, предназначенную для создания нового пустого документа.

? Prompt – текст, предназначенный для автоматического показа в строке состояния, когда выбрана данная команда меню.

? Свойство Break имеет три состояния. Значение None указывает, что свойство не активно. Значение Column говорит о том, что данный пункт меню начинает следующий вертикальный столбец, а значение Bar указывает, что данный пункт меню начинает следующий вертикальный столбец, отделенный от предыдущего вертикальной линией.

В следующем списке рассматриваются органы управления, расположенные на вкладке Styles.

? Check Button – при установке данного флажка кнопка меню становится западающей. После первого щелчка мышью она переходит в нажатое состояние, после второго – возвращается в исходное состояние.

? Group – установка данного флажка позволяет создавать группу кнопок. Это имеет смысл, когда кнопки все имеют стиль Check Button. Тогда нажатие одной кнопки вызывает автоматическое отжатие другой кнопки в группе.

? Auto Size – автоматически меняет размер кнопки при изменении надписи.

? No wrap – установка флажка не позволяет переносить текст на другую строку.

? Pressed – нажатая кнопка при создании меню. Имеет смысл для кнопки со стилем Check Button.

? Grayed – кнопка будет окрашена в серый цвет и станет неактивна.

? Indeterminate – кнопка неопределенного стиля, активная, но серая.

? Hidden – скрытая кнопка.

? Highlighted – надпись кнопки подкрашена в контрастный цвет.

И наконец, в последнем списке рассматривается предназначение органов управления, расположенных на вкладке More Styles.

? Bitmap – кнопка вместо надписи несет на себе изображение.

? Bitmap index – уникальный индекс, идентифицирующий номер изображения в наборе изображений, подключенных к меню.

Однако меню не исчерпывает все потребности при создании набора команд. Гораздо большую гибкость дает элемент управления CommandBar.

CommandBar

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

Упражнение 4.6

1. Создать простое приложение и сохранить его с именем CommandBar.

2. В окне Workspace перейти на вкладку ResourceView, открыть корневую папку Menu resources и в этой папке перейти в подкаталог Menubar. Существующее меню нужно отредактировать так, чтобы оно содержало команды Tools, File и Edit. Не надо добавлять дополнительные элементы в меню, создавать подменю и совершать прочие действия, которые уже рассматривались в предыдущем упражнении. Данное меню будет нужно только для демонстрации использования ресурса меню при помещении его в CommandBar.

3. Как и в прошлом упражнении, добавить к ресурсам изображение для кнопок.

4. Щелкнуть внутри дерева ресурсов правой клавишей мыши на папке Dialogs и в контекстном меню выполнить команду Insert Dialog. В папку будет добавлен еще один диалог с идентификатором IDD_DIALOG1. Теперь нужно перейти в правую часть окна, в редактор диалога. На панели Controls следует отыскать компонент Combo Box и поместить его на окно диалога.

5. Перейти в редактор кода, и в файле CommandBar.cpp добавить код, приведенный в листинге 4.26.

Листинг 4.26

//объявить хэндлеры для меню, компонентов CommandBar и Combo Box

HWNDg_hwndCombo, g_hwndMenu;

HMENUg_hmCB;

//объявление структуры для кнопок:

static TBBUTTON b_but1, b_but2, b_but3;

6. Теперь нужно перейти в процедуру WinProc и в ее начале объявить переменные, как показано в листинге 4.27. Листинг 4.27

int i;

RECT *lprc;

wchar_t *mstr[]={L"1", L"2", L"3", L"4"};

7. Удалить из обработчика сообщения WM_CREATE ранее сгенерированный код и ввести туда код, приведенный в листинге 4.28. Листинг 4.28

//Создаем CommandBar и помещаем его хэндлер в g_hwndCB

g_hwndCB = CommandBar_Create(g_hInst,hWnd, 500);

//Добавляем к списку изображений CommandBar (CB) наши рисунки

CommandBar_AddBitmap(g_hwndCB, g_hInst,IDB_BITMAP1, 2, 16, 16);

//Устанавливаем положение внизу окна

//Закомментируйте эту строку, и CB будет сверху

SendMessage (g_hwndCB, TB_SETSTYLE, 0, (LPARAM)(DWORD)CCS_BOTTOM);

//Добавляем в CB меню

CommandBar_InsertMenubar(g_hwndCB, g_hInst, IDM_MENU, 0);

//Добавляем в CB Combo Box

g_hwndCombo = CommandBar_InsertComboBox (g_hwndCB, g_hInst, 30,

WS_CHILD|WS_VISIBLE,IDC_COMBO1, 1);

//Задаем содержимое Combo Box

for (i=0;i<4;i++)

SendMessage (g_hwndCombo, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)mstr[i]);

//Устанавливаем текущую позицию, выбранную в Combo Box

SendMessage (g_hwndCombo, CB_SETCURSEL, (WPARAM)0, 0);

//Используя структуры свойств кнопок, устанавливаем их параметры

//и добавляем кнопки к CB

b_but1.iBitmap = 0;

b_but1.idCommand = 201;

b_but1.fsState = TBSTATE_ENABLED;

//Эта кнопка будет содержать в себе выпадающий список

b_but1.fsStyle =TBSTYLE_BUTTON | TBSTYLE_DROPDOWN;

b_but1.dwData = 0;

b_but1.iString = -1;

CommandBar_InsertButton (g_hwndCB, 2, &b_but1);

//Создаем выпадающий список для кнопки

g_hmCB = CreatePopupMenu();

AppendMenu(g_hmCB,MF_STRING, 1000,TEXT(«AI1»));

AppendMenu(g_hmCB,MF_STRING, 1001, TEXT(« AI2»));

//Следующие две кнопки будут зависеть друг от друга

b_but2.iBitmap = 1;

b_but2.idCommand = 202;

b_but2.fsState = TBSTATE_ENABLED;

b_but2.fsStyle = TBSTYLE_BUTTON|TBSTYLE_CHECKGROUP;

b_but2.dwData = 0;

b_but2.iString = -1;

CommandBar_InsertButton (g_hwndCB, 3, &b_but2);

b_but3.iBitmap = 0;

b_but3.idCommand = 203;

b_but3.fsState = TBSTATE_ENABLED;

b_but3.fsStyle = TBSTYLE_BUTTON|TBSTYLE_CHECKGROUP;

b_but3.dwData = 0;

b_but3.iString = -1;

CommandBar_InsertButton (g_hwndCB, 4, &b_but3);

break;

8. Запустить проект. Все должно работать, кроме выпадающего списка. Когда пользователь нажимает кнопку со стрелкой, щелчок на самой кнопке очень легко обработать в ветви WM_COMMAND, выловив идентификатор кнопки. Но вот как обработать щелчок на стрелке, чтобы появился выпадающий список? Теоретически, щелчок на этой стрелке должен генерировать константу TBN_DROPDOWN внутри поля lParam сообщения WM_NOTIFY, но, как выясняется, такой константы в этом поле нет. На самом деле в поле lParam помещается указатель на структуру LPTBNOTIFY, в которой есть поле hdr, в структуру которого входит поле code, в которое и помещается соответствующая константа. Значит, всего-то нужно выловить наличие константы в этом поле. Соответствующий код, располагающийся в процедуре WinProc, приведен в листинге 4.29. Листинг 4.29

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Владимир Волков читать все книги автора по порядку

Владимир Волков - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Программирование для карманных компьютеров отзывы


Отзывы читателей о книге Программирование для карманных компьютеров, автор: Владимир Волков. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x