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

HWNDg_hwndB1;

9. Обеспечить помещение значения в этот идентификатор. Для этого нужно изменить вызов функции создания первой кнопки, как показано ниже.

g_hwndB1=CreateWindow(TEXT («BUTTON»), TEXT («Button»),

BS_PUSHBUTTON | BS_NOTIFY | WS_VISIBLE | WS_CHILD,

10, 20, 100,25, hWnd, (HMENU)200, g_hInst, NULL);

10. Теперь первая кнопка в левом столбце может принимать сообщения. Нужно обеспечить, обработку сообщений, посланных первой кнопкой в правом столбце. Параметр hMenu этой кнопки получил значение 207, значит, нужно обеспечить «узнавание» этого значения в переключателе switch. В функции WndProc следует отыскать блок case WM_COMMAND: (именно этот тип сообщений посылают кнопки и пункты меню, когда пользователь щелкает на них) и изменить его так, как показано в листинге 4.16. Листинг 4.16

case WM_COMMAND:

wmId = LOWORD(wParam);

wmEvent = HIWORD(wParam);

switch (wmId)

{

//Начало добавленного кода case 200:

case 200:

SendMessage (g_hwndB1, WM_SETTEXT, 0, (LPARAM)(LPSTR)L" Svoy text");

break;

case 207:

SendMessage (g_hwndB1, WM_SETTEXT, 0, (LPARAM)(LPSTR)L" Text ot 107");

break;

case 208:

MessageBox (hWnd, L" Этo тело сообщения!", L" A это заголовок", 0);

break;

//Окончание добавленного кода

case IDM_HELP_ABOUT:

DialogBox(g_hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);

break;

case IDOK:

SendMessage(hWnd, WM_ACTIVATE, MAKEWPARAM(WA_INACTIVE,0), (LPARAM)hWnd);

SendMessage (hWnd, WM_CLOSE, 0, 0);

break;

default:

return DefWindowProc(hWnd, message, wParam, lParam);

11. Теперь этот код следует детально рассмотреть. Ветка case 200 перехватывает сообщение от первой кнопки в левом столбце и в качестве реакции посылает команду установки текста WM_SETTEXT этой же кнопке (gJiwndBl).

12. Ветка case 207 перехватывает сообщение от первой кнопки в правом столбце и посылает первой кнопке в левом столбце команду присвоить другое значение тексту.

13. Ветка case 208 перехватывает сообщение от второй кнопки в правом столбце и выводит окно сообщения с заданным текстом и заголовком.

Окна сообщений

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

? МВ_0К – системная кнопка OK в правом углу сообщения.

? MBOKCANCEL – кнопки OK и Cancel.

? MBABORTRETRYIGNORE – кнопки Abort, Retry и Ignore.

? MBYESNOCANCEL – кнопки Yes, No и Cancel.

? MB_YESN0 – кнопки Yes и No.

? MB_RETRYCANCEL – кнопки Retry и Cancel.

Константы, определяющие рисунок на сообщении, приведены отдельно.

? MB_ICONHAND – красный круг с восклицательным знаком.

? MB_ICONQUESTION – белый круг с вопросительным знаком.

? MB_ICONEXCLAMATION – желтый треугольник с восклицательным знаком.

? MBICONASTERISK – белый круг с буквой I.

Эти два типа констант могут быть использованы в объединении. Например, если нужно вывести сообщение с тремя кнопками и рисунком вопросительного знака, то в качестве последнего параметра следует использовать следующую конструкцию:

MB_YESNOCANCEL | MB_ICONQUESTION

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных