|
|
|
Помогите сделать прогу на зачёт (30 мая)
|
|||
|---|---|---|---|
|
#18+
Помогите написать программу. Её мне надо сдать 30 мая на зачёте. Очень прошу, даже молю о помощи :cry: . Возможно даже вознаграждение. Вот задание: Напишите программу - Win32 application, основное окно содержит следующие опции меню: Выход Индикаторы. Назовём "индикатором" небольшой круг с цифровым номером посередине. Программа должна отобразить в своём окне N индикаторов одинакового цвета. При нажатии пользователем левой кнопки мыши в тот момент, когда курсор помещён на один из индикаторов, программа должна «включить» индикатор – изменить его цвет, при этом другие индикаторы должны автоматически выключиться. Включённый индикатор не должен реагировать на нажатие кнопки мыши. Программа должна автоматически вернуть цвет индикатора в исходный по истечению времени задержки t. При выборе пользователем опции «Индикаторы» программа должна организовать диалог с пользователем, в рамках которого запросить число индикаторов N в диапазоне от 1 до 25. Значение по умолчанию должно быть взято из ini-файла. Программа должна помнить ранее введённое значение. Кроме этого пользователь должен иметь возможность изменять значение времени задержки t в секундах от 1 до 60. Значение по умолчанию должно быть взято из ini-файла. При изменении числа индикаторов программа должна их перерисовать заново в исходном состоянии. Изменение значения времени задержки должно влиять только на вновь включаемые индикаторы. При выборе пользователем опции «Выход» программа должна запросить пользователя, действительно ли он хочет выйти, и при утвердительном ответе обновить в ini-файле значения N и t по умолчанию на текущие значения, после этого завершить работу. Советы по программированию: 1. Начните модификацию программы с введения требуемых опций основного меню. Для этого добавьте в проект файл ресурсов. В редакторе ресурсов создайте меню MYMENU, включите меню в класс окна, проверьте его работу. 2. Обработайте в программе сообщения новых опций меню по аналогии с уже имеющимися опциями. (Для проверки при выборе пользователем новых опций меню ваша программа может выдать какое-нибудь сообщение с помощью вызова функции MessageBox). 3. В редакторе ресурсов создайте подходящий шаблон диалога, присвойте диалогу идентификатор (имя). Напишите код диалоговой функции. В начале работы диалоговой функции (событие WM_INITDIALOG) передайте в диалог исходные значения параметров (функция SetDlgItemText). По окончанию диалога перед вызовом функции EndDialog сохраните введённые значения параметров (GetDlgItemText) в переменных программы. В оконной функции активизируйте диалог (в ответ на выбор пользователем соответствующей опции меню, событие WM_COMMAND) с помощью вызова функции DialogBox. Убедитесь, что вводимые данные правильно передаются в Вашу программу. 4. Организуйте считывание исходных данных из ini-файла (функция GetPrivateProfileInt). 5. Собственно рисование индикаторов может быть выполнено как рисование круга нужного цвета (Ellipse) и вывод номера индикатора (TextOut). Для принудительной инициализации события WM_PAINT используйте функции InvalidateRect и UpdateWindow. 6. Перерисуйте индикатор нужным цветов и установите таймер (SetTimer) в ответ на выбор пользователем конкретного индикатора (событие WM_RBUTTONDOWN) и обработайте событие таймера WM_TIMER в оконной функции. 7. Обеспечьте сохранение изменённых параметров в ini-файле (функция WritePrivateProfileString) при выходе из программы как реакцию на событие WM_CLOSE. Генерируйте это событие (функция PostNessage) в ответ на утвердительный ответ пользователя о выходе из программы. Запросить пользователя (да/нет) можно с помощью функции MessageBox с параметром MB_YESNO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2006, 16:17 |
|
||
|
Помогите сделать прогу на зачёт (30 мая)
|
|||
|---|---|---|---|
|
#18+
неслабо :) у меня это в экран не влезло. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2006, 16:57 |
|
||
|
Помогите сделать прогу на зачёт (30 мая)
|
|||
|---|---|---|---|
|
#18+
maXmoнеслабо :) у меня это в экран не влезло. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm А я вот думаю, чего людям не хватает? Вот мне хотя бы толико из той постановки и хоть пародию на такое задание, когда я учился в универе... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2006, 22:46 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33756839&tid=2031154]: |
0ms |
get settings: |
11ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 352ms |

| 0 / 0 |
