![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| legion33 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Здравствуйте Уважаемые !!! Помогите подскажите как сделать. Суть такова: дали задачу звучит так "В центре рабочей области окна расположено окно без заголовка с вертикальной и горизонтальной полосами просмотра размером в четверть рабочей области. При нажатии разных клавиш мыши временное окно выдает разный звуковой сигнал". Два окна я создал, полосы прокрутки сделал, нужно как-то написать звуковые сигналы при нажатии мыши и если можно то привязать второе окно к первому, т.е. в области первого окна.
Код программы: #include <windows.h> LRESULT CALLBACK HelloWorldWndProc (HWND, UINT, UINT, LONG); int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevlnstance, LPSTR lpszCmdParam, int nCmdShow ) { HWND hWnd; HWND hOkno; WNDCLASS WndClass; MSG Msg; char szClassName[] = "HelloWorld"; //----------------------------------------------------------------- // создадим и зарегистрируем класс окна // Заполняем структуру типа WNDCLASS WndClass.style = CS_HREDRAW|CS_VREDRAW; WndClass.lpfnWndProc = HelloWorldWndProc; WndClass.cbClsExtra = 0; WndClass.cbWndExtra = 0; WndClass.hInstance = hInstance; WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION); WndClass.hCursor = LoadCursor(NULL, IDC_ARROW); WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); WndClass.lpszMenuName = NULL; WndClass.lpszClassName = szClassName; //--------------------------------------------------------------- //Регистрируем создаваемый класс if (!RegisterClass(&WndClass)) {MessageBox(NULL, "Невозможно зарегстрировать класс", "Ошибка !!!", MB_OK); return 0; } //----------------------------------------------------------------- // Создаем окно hWnd = CreateWindow(szClassName, "ПРОГ1", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hOkno, NULL); if (!hWnd) {MessageBox(NULL, "Невозможно создать окно", "Ошибка !!!", MB_OK); return 0; } //------------------------------------------------------------ // Создаем окно 2 hOkno = CreateWindow(szClassName, "", WS_CAPTION|WS_HSCROLL|WS_VSCROLL, 33, 50, 200, 200, hWnd, NULL, hInstance, NULL); if (!hOkno) {MessageBox(NULL, "Невозможно создать окно", "Ошибка !!!", MB_OK); return 0; } //---------------------------------------------------------------- //Вывод окна ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); ShowWindow(hOkno, nCmdShow); UpdateWindow(hOkno); //Запуск цикла сообщений while (GetMessage(&Msg, NULL, 0, 0)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } return Msg.wParam; } //Реализация оконой функции LRESULT CALLBACK HelloWorldWndProc(HWND hWnd, UINT Message, UINT wParam, LONG lParam) { HDC hDC; PAINTSTRUCT PaintStruct; RECT Rect; switch (Message) { case WM_PAINT: hDC = BeginPaint(hWnd, &PaintStruct); GetClientRect(hWnd, &Rect); DrawText(hDC, "Hello", -1, &Rect, DT_SINGLELINE|DT_CENTER|DT_VCENTER); EndPaint(hWnd, &PaintStruct); //mouse_event return 0; sound(130); case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hWnd, Message, wParam, lParam); } ЗАРАНЕЕ СПАСИБО. Присоединённый файл ( Кол-во скачиваний: 5 )
Unit1.cpp 4,05 Kb |
|||
|
||||
| belphegor |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 17.12.2006 Где: Молдова, Кишинев Репутация: нет Всего: нет |
//Если нажали на левую кнопку мыши,
case WM_LBUTTONDOWN: //то раздается звуковой сигнал. MessageBeep(0xFFFFFFFF); break; |
|||
|
||||
| legion33 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 11.3.2007 Репутация: нет Всего: нет |
Мне нужно чтобы звук был не из колонок, а из динамика системника и только при нажатии на втором окне там где есть полосы прокрутки
|
|||
|
||||
| ama_kid |
|
||||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 5 Всего: 95 |
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
||||
|
|||||
| Gaudi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 18.3.2007 Репутация: нет Всего: нет |
Под виндовс 95/98 используй прямой вывод в 61h порт
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |