Задание №1

Написать программу, создающую на экране два окна. Первое является главным окном приложения, второе окно является дочерним. Цвет фона главного окна приложения – зеленый, дочернего окна по умолчанию. Функция дочернего окна обрабатывает сообщение WM_LBUTTONDOWN, при этом на экране должен отобразиться бегущая строка «Нажата левая клавиша мыши» в координатах 100,70;

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

Задание №2

1. Написать программу, создающую на экране окно со следующими параметрами. Окно имеет белый цвет. Класс окна имеет свойства ускоренной прорисовки, при перемещении окна позиция левого верхнего угла окна выравнивается на границу байта. Функция окна должна обрабатывать три события: нажатие левой клавиши мыши,

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

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

Задание №3

Написать программу, создающую на экране три окна. Главное окно приложения и два дочерних окна. Одно из дочерних окон имеет пиктограмму IDI_EXCLAMATION, а другое -IDI_QUESTION. При создании оба дочерних окна скрыты. При нажатии левой на экране отображается первое из двух дочерних окон, при этом второе скрывается; аналогично для второго окна при нажатии правой клавиши.

Создать два потока, первый из которых перемещает дочерние окна по нижней кромке экрана(desktop), а второй – поочередно выводит в центре каждого окна текстовое сообщение.

Задание №4

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

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

Задание №5

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

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

Задание №6

Написать программу создающую на экране два окна. Первое из окон обрабатывает сообщения с минимальным номером 30. Второе- с максимальным номером 200.Первое окно имеет синий цвет, второе -красный.

Создать два потока, первый из которых отслеживает очередь сообщений обоих окон и при совпадении номеров выводит соответствующее сообщение с помощью MessageBox(), а второй – периодически меняет размеры окон.

Задание №7

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

2. Создать два потока, первый из которых выводит в главном окне текущие координаты дочернего и всплывающего окон, а второй – периодически перемещает оба окна в пределах клиентской области главного.

Задание №8

Написать программу, создающую на экране окно (главное окно приложения) со следующими свойствами. При нажатии левой клавиши мыши создается дочернее окно белого цвета с надписью в центре окна «Вид 1». При двойном щелчке на главное окно приложения создаются два окна зеленого цвета с надписью «Вид 2», в центре каждого.

Создать два потока, первый из которых периодически меняет размеры окон, имеющих белый цвет, а второй – перемещает окна красного цвета.

Задание №9

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

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

Задание №10

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

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

Задание №11

Написать программу, создающую четыре окна. В центре каждого из окон выведен номер окна в порядке его создания (1..4). При нажатии кнопки мыши в любом из окон, номер окна изменяется на «1», соответственно изменяется нумерация остальных окон.

Окна с четными номерами имеют белый цвет фона, с нечетными – красный.

Создать два потока, первый из которых выводит в каждом из окон бегущую строку, позиция строки меняется в соответствие с позицией курсора мыши, а второй – периодически меняет размеры окон с нечетными номерами.

Задание №12

Написать программу создающую два окна (верхний уровень), одно из них красного цвета, другое – синего. При щелчке мыши в одном из окон создается дочернее окно соответствующего цвета. При закрытии любого из окон верхнего уровня закрываются все дочерние окна другого цвета.

Создать два потока, первый из которых отслеживает число дочерних окон и при достижении ограничения меняет цвет дочерних окон, а второй – выводит в центре каждого окна прямоугольники, периодически меняя их цвет.

Задание №13

Написать программу создающую на экране окно. В центре окна выведен текст «Окно». При нажатии левой кнопки мыши текст выравнивается по нижней кромке окна, правой – по верхней кромке, при двойном щелчке левой клавиши мыши – по центру. При двойном щелчке правой – по правой кромке.

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

Задание №14

Написать программу, создающую на экране три окна, в центре каждого выведен текст «кнопка не нажата». При нажатии кнопки мыши в одном из окон, текст в окне меняется строку следующего формата «Кнопка нажата N» где N – количество окон в которых была нажата кнопка. При повторном нажатии – строка принимает исходный вид, причем N=N-1, содержимое окон с форматированным текстом соответствующим образом изменяется.

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

Задание №15

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

Создать два потока, первый из которых периодически выполняет расчет факториала числа N – где N –координата x левого верхнего угла окна, а второй периодически выполняет расчет интеграла ф-ии y=ax^2+bx+c на пределе [0;x].

Задание №16

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

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

Задание №17

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

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

Задание №18

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

Создать два потока, первый из которых выводит в одном из окон прямоугольники с периодически меняющимися цветами, а второй –перемещает окна.

Задание №19

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

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

Задание №20

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

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

Задание №21

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

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

Задание №22

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

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