Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » 11. Линейки прокрутки, переключатели, окна пометки, окна списка.

11. Линейки прокрутки, переключатели, окна пометки, окна списка. (Ответы на вопросы билетов)

PDF-файл 11. Линейки прокрутки, переключатели, окна пометки, окна списка. (Ответы на вопросы билетов) API Windows (15971): Ответы (шпаргалки) - 6 семестр11. Линейки прокрутки, переключатели, окна пометки, окна списка. (Ответы на вопросы билетов) - PDF (15971) - СтудИзба2017-12-28СтудИзба

Описание файла

Файл "11. Линейки прокрутки, переключатели, окна пометки, окна списка." внутри архива находится в следующих папках: Ответы на вопросы билетов, WinAPI - Ответы на вопросы билетов. PDF-файл из архива "Ответы на вопросы билетов", который расположен в категории "". Всё это находится в предмете "api windows" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "api windows" в общих файлах.

Просмотр PDF-файла онлайн

Текст из PDF

1.Линейки прокрутки, переключатели, окна пометки, окна списка.Кнопки, переключатели, полосы просмотра, редакторы текста и др. относятся к органамуправления. Они создаются как дочерние окна на базе предопределенных классов.1. Кнопки, переключатели (переключатели – кнопки с 3-мя состояниями (вкл, выкл инеактивен)Для создания кнопки нужно создать дочернее окно на базе предопределенного класса "button".После этого родительское окно будет получать от кнопки сообщение с кодом WM_COMMAND. Этимсообщением кнопка информирует родительское окно о том, что с ней что - то сделали, например,нажали.А) Создание кнопки:HWND CreateWindow (LPCSTR lpszClassName, LPCSTR lpszWindowName, DWORD dwStyle, int x, int y, int nWidth,int nHeight, HWND hwndParent, HMENU hmenu, HINSTANCE hinst, void FAR* lpvParam);1 параметр – имя класса "button".2 параметр – надпись на кнопке – указатель на строку3 параметр – набор битов – стиль окна, обязательно WS_CHILD4 и 5 параметры – координаты кнопки относительно левого верхнего угла родительского окна6 и 7 параметры – ширина и высота кнопки8 параметр – идентификатор родительского окна; 9 параметр – идентификатор самой кнопки10 параметр – идентификатор приложения11 параметр – дальний указатель на область данных, для кнопки – 0.Б) Стили:BS_3STATE – переключатель может нах.

в 3 состояниях: вкл, выкл и неактив.BS_AUTO3STATE – внешний вид изменяется автоматическиBS_AUTORADIOBUTTON – в виде окружности, 2 состояния, изм-ся автоматическиBS_DEFPUSHBUTTON – стандартная кнопка с жирной рамкойBS_GROUPBOX – Прямоугольная область, внутри которой могут находиться другие кнопки. Обычноиспользуется в диалоговых панелях. Этот орган управления не воспринимает сообщения от мыши иликлавиатуры.В) Способы управления:А) Вызов специальных функций, например MoveWindow (новое расположение и размеры),EnableWindow (разрешение или запрет поступления сообщений), ShowWindow (показать или скрыть SW_HIDE и SW_SHOWNORMAL).

SetWindowText (новый текст на кнопке)Б) Отправка сообщения, в ответ на которые кнопка будет менять вид (2 способа – функцииPostMessage и SendMessage – через очередь приложения и минуя ее).Для перерисовки посылается сообщение BM_SETCHECK: SendMessage(hButton, BM_SETCHECK, 1,0L);Переключатели в поле wParam передают 0 – выкл, 1- вкл или 2 – неактив. сост-е. Параметр lParamсообщения BM_SETCHECK должен быть равен 0.Узнать состояние – посылать сообщение BM_GETCHECK:WORD nState;nState = (WORD) SendMessage(hButton, BM_GETCHECK, 0, 0L);Окна пометки: окна на базе класса “button” (кнопки) со стилем BS_CHECKBOX.2. Полосы прокрутки.Полосы просмотра (Scrollbar) широко используются в приложениях Windows для просмотра текстаили изображения, которое не помещается в окне.

«Scrollbar» - класс, на основе которого реализуетсяполоса просмотра. Бывает вертикальной и горизонтальной и посылает в родительское окноWM_HSCROLL и WM_VSCROLL. Перемещение дискретно (интервал задается при инициализации).Бывает 2 типа позиционирования: точное – нажатием на кнопки побокам от полосы и грубое –кликами выше или ниже ползунка на полосе прокрутки.А) СозданиеHWND hScroll = CreateWindow("scrollbar", NULL, WS_CHILD | WS_VISIBLE | SBS_HORZ,20, 400, 100, 50, hWnd, IDC_SCROLLBAR, hInstance, NULL);1 – класс, на базе которого создается полоса просмотра; 2 – заголовок окна, должен быть NULL3 – флаги полосы; 4-7 – расположение, размеры; 8 – идентификатор окна; 9 – идентификаторполосы просмотра (Определяет не саму полосу, а прямоугольник для полосы).Б) Стили ( флаги SBS только для полос просмотра):SBS_BOTTOMALIGN – Создается горизонтальная полоса просмотра, высота которой равна высотесистемной полосы просмотра.

Выполняется выравнивание нижнего края полосы просмотра понижнему краю прямоугольника, координаты и размер которого определен при вызове функцииCreateWindow. Этот стиль должен использоваться вместе со стилем SBS_HORZ.SBS_HORZ (SBS_VERT)– Создается горизонтальная (вертикальная) полоса просмотра. Размер ирасположение полосы просмотра определяются при вызове функции CreateWindowSBS_LEFTALIGN – аналогично 1, по левому краю.SBS_SIZEBOX – орган управления с небольшим прямоугольником серого цвета (Size Box). Если выустановите курсор мыши внутрь органа управления, нажмете левую клавишу мыши и будетеперемещать мышь, родительское окно будет получать сообщения, аналогичные сообщениям отрамки, предназначенной для изменения размера окна.В) Коды полос:SB_LEFT (SB_RIGHT), SB_TOP(SB_BOTTOM) – влево(вправо) для горизонтальных, вверх(вниз) - для вертикальныхSB_ENDSCROLL – отпускаете мышь при работе с полосойГ) Сообщения от полос:WM_HSCROLL и WM_VSCROLL содержат в wParam коды:SB_LEFT, SB_RIGHT – сдвиг до упора влево и врпавоSB_LINEUP, SB_LINELEFT,SB_LINERIGHT,SB_LINEDOWN – сдвиг на одну позицию.SB_PAGELEFT, SB_PAGEUP (и так далее) – сдвиг на одну страницуSB_ENDSCROOL – окончание работы мышьюД) Необходима инициализация:Указываем диапазон изменений значений ползунка:void WINAPI SetScrollRange(HWND hwnd, int fnBar, int nMin, int nMax, BOOL fRedraw);2 параметр – тип полосы просмотра: SB_CTL – как орган упр.

или SB_HORZ и SB_VERT.1 параметр – если SB_CTL – ID органа управления, иначе ID Окна, в котором создается полоса.3 и 4 параметры – дальние указатели на целые диапазона (Диапоазон не больше 32767)5 – нужна ли перерисовка.Е) Управление:int WINAPI SetScrollPos(HWND hwnd, int fuBar, int nPos, BOOL fRepaint);3 параметр – положение ползунка. ShowScrollBar – показать или скрыть полосу прокрутки3. Окна спискаПредназначены для выбора элемента из некоторого определенного списка.

С помощью класса"listbox" можно создавать одноколоночные и многоколоночные списки, имеющие вертикальную (дляодноколоночных списков) и горизонтальную (для многоколоночных списков) полосу просмотра.А) Создание:hListBox = CreateWindow("listbox", NULL,WS_CHILD | WS_VISIBLE | LBS_STANDARD |LBS_WANTKEYBOARDINPUT, 30,30,200,100, hwnd, (HMENU) ID_LIST, hInst, NULL);2 – имя/заголовок (должен быть NULL)8 – идентификатор родит окна, куда будет поступать сообщение WM_COMMANDБ) Стили окон списка:LBS_EXTENDEDSEL – Можно выделять несколько рядом расположенных строкLBS_MULTICOLUMN – для мультиколоночного спискаLBS_MULTIPLESEL – выделять несколько любых строкLBS_SORT – строки списка будут отсортированы и другие (LBS_NOINTEGRALHEIGHT,LBS_NOREDROW, LBS_OWNERDRAWFIXED)Список посылает в родительское окно сообщение WM_COMMAND.

wParam этого сообщениясодержит идентификатор списка, Младшее слово параметра lParam содержит идентификатор окнасписка, а старшее - код извещения.LBN_DBLCLK – Двойной щелчок левой клавишей мыши по строке спискаLBN_KILLFOCUS – потерян фокус вводаLBN_SELCHANGE – польз-ль выбрал другую строку.В) Сообщения для списка:Для управления списком приложение посылает ему сообщения, вызывая функцию SendMessage.LB_ADDSTRING – добавление строки в список LB_DELETESTRINGLB_DIR – заполнение списка именами файлов и каталогов в текущем каталогеLB_FINDSTRING – поиск строки в списке..

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее