Операционная система Windows 95 для программиста



         

Исходные тексты приложения Compact Disk Player - часть 3


// Если окно свернуто в пиктограмму, ничего не делаем, // чтобы не снижать производительность системы if(IsIconic(hwnd)) return;

// Если состояние устройства проигрывания изменилось, // отображаем изменения в диалоговой панели if(CdUpdateState(hwnd)) { // Отображаем номер текущей дорожки if(nCurTrack != 0) { itoa(nCurTrack, szBuf, 10); SetWindowText(hwndCurTrack, szBuf); } else SetWindowText(hwndCurTrack, "");

// Изменяем положение движка Trackbar SendMessage(hTrackBar, TBM_SETPOS, TRUE, nCurTrack);

// Изменяем диапазон значений и положение // полосы Progressbar SendMessage(hProgressBar, PBM_SETRANGE, 0, MAKELPARAM(0, nTrackCnt)); SendMessage(hProgressBar, PBM_SETPOS, nCurTrack, 0); } }

// ----------------------------------------------------- // Функция DlgProc_OnHScroll // ----------------------------------------------------- void DlgProc_OnHScroll(HWND hdlg, HWND hwndCtl, UINT code, int pos) { switch(code) { // Отрабатываем команды, поступающие от органа // управления Trackbar case TB_LINEDOWN: case TB_PAGEDOWN: CdPlayNext(hdlg); break;

case TB_LINEUP: case TB_PAGEUP: CdPlayPrev(hdlg); break;

case TB_BOTTOM: CdPlay(hdlg, nTrackCnt); break;

case TB_TOP: CdPlay(hdlg, 1); break;

case TB_THUMBPOSITION: CdPlay(hdlg, pos); break; default: break; } }

В файле cdproc.c (листинг 7.2) собраны функции управления устройством чтения компакт-диска.

Листинг 7.2. Файл cdplay\cdproc.c

#define STRICT #include <windows.h> #include <windowsx.h> #include <commctrl.h> #include "resource.h" #include "afxres.h" #include "cdplay.h" #include <mmsystem.h>

DWORD dwrc; MCI_OPEN_PARMS MCIOpen; MCI_SET_PARMS MCISet; MCI_STATUS_PARMS MCIStatus; MCI_PLAY_PARMS MCIPlay; BOOL bMediaPresent = FALSE; BOOL bPaused = FALSE; UINT nMode = 0; HWND hwndCurTrack = NULL; extern UINT nCurTrack; extern UINT nTrackCnt; extern HWND hTrackBar;

// ----------------------------------------------------- // Функция CdInit // ----------------------------------------------------- BOOL CdInit(void) { // Открываем устройство чтения компакт-дисков MCIOpen.lpstrDeviceType = (LPSTR)MCI_DEVTYPE_CD_AUDIO; dwrc = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID, (DWORD)&MCIOpen); if(dwrc) { mciwioError(dwrc); return FALSE; }




Содержание  Назад  Вперед