ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

sound.c
Go to the documentation of this file.
00001 /* $Id: sound.c 29112 2007-09-19 21:31:49Z ekohl $
00002  *
00003  * PROJECT:         ReactOS Accessibility Control Panel
00004  * LICENSE:         GPL - See COPYING in the top level directory
00005  * FILE:            dll/cpl/access/sound.c
00006  * PURPOSE:         Sound-related acessibility settings
00007  * COPYRIGHT:       Copyright 2004 Johannes Anderwald (j_anderw@sbox.tugraz.at)
00008  *                  Copyright 2007 Eric Kohl
00009  */
00010 
00011 #include "access.h"
00012 
00013 
00014 static VOID
00015 OnInitDialog(HWND hwndDlg, PGLOBAL_DATA pGlobalData)
00016 {
00017     TCHAR szBuffer[256];
00018     UINT i;
00019 
00020     /* Add strings to the combo-box */
00021     for (i = 0; i < 4; i++)
00022     {
00023         LoadString(hApplet, IDS_SENTRY_NONE + i, szBuffer, 256);
00024         SendDlgItemMessage(hwndDlg, IDC_SENTRY_COMBO, CB_ADDSTRING, 0, (LPARAM)szBuffer);
00025     }
00026 
00027     /* Select a combo-box item */
00028     SendDlgItemMessage(hwndDlg, IDC_SENTRY_COMBO, CB_SETCURSEL, pGlobalData->ssSoundSentry.iWindowsEffect, 0);
00029 
00030     /* Initialize SoundSentry settings */
00031     if (!(pGlobalData->ssSoundSentry.dwFlags & SSF_AVAILABLE))
00032     {
00033         EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_BOX), FALSE);
00034         EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_TEXT), FALSE);
00035         EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_COMBO), FALSE);
00036     }
00037     else
00038     {
00039         if (pGlobalData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)
00040         {
00041             CheckDlgButton(hwndDlg, IDC_SENTRY_BOX, BST_CHECKED);
00042         }
00043         else
00044         {
00045             EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_TEXT), FALSE);
00046             EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_COMBO), FALSE);
00047         }
00048     }
00049 
00050     /* Initialize ShowSounds settings */
00051     if (pGlobalData->bShowSounds)
00052         CheckDlgButton(hwndDlg, IDC_SSHOW_BOX, BST_CHECKED);
00053 }
00054 
00055 
00056 /* Property page dialog callback */
00057 INT_PTR CALLBACK
00058 SoundPageProc(HWND hwndDlg,
00059               UINT uMsg,
00060               WPARAM wParam,
00061               LPARAM lParam)
00062 {
00063     PGLOBAL_DATA pGlobalData;
00064 
00065     pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
00066 
00067     switch (uMsg)
00068     {
00069         case WM_INITDIALOG:
00070             pGlobalData = (PGLOBAL_DATA)((LPPROPSHEETPAGE)lParam)->lParam;
00071 
00072             SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);
00073 
00074             OnInitDialog(hwndDlg, pGlobalData);
00075             break;
00076 
00077         case WM_COMMAND:
00078             switch (LOWORD(wParam))
00079             {
00080                 case IDC_SENTRY_BOX:
00081                     pGlobalData->ssSoundSentry.dwFlags ^= SSF_SOUNDSENTRYON;
00082                     EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_TEXT), (pGlobalData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)?TRUE:FALSE);
00083                     EnableWindow(GetDlgItem(hwndDlg, IDC_SENTRY_COMBO), (pGlobalData->ssSoundSentry.dwFlags & SSF_SOUNDSENTRYON)?TRUE:FALSE);
00084                     PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
00085                     break;
00086 
00087                 case IDC_SENTRY_COMBO:
00088                     if (HIWORD(wParam) == CBN_SELENDOK)
00089                     {
00090                         pGlobalData->ssSoundSentry.iWindowsEffect =
00091                             (DWORD)SendMessage((HWND)lParam, CB_GETCURSEL, 0, 0);
00092                         PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
00093                     }
00094                     break;
00095 
00096                 case IDC_SSHOW_BOX:
00097                     pGlobalData->bShowSounds = !pGlobalData->bShowSounds;
00098                     PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
00099                     break;
00100 
00101                 default:
00102                     break;
00103             }
00104             break;
00105 
00106         case WM_NOTIFY:
00107             switch (((LPNMHDR)lParam)->code)
00108             {
00109                 case PSN_APPLY:
00110                     SystemParametersInfo(SPI_SETSOUNDSENTRY,
00111                                          sizeof(SOUNDSENTRY),
00112                                          &pGlobalData->ssSoundSentry,
00113                                          SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
00114                     SystemParametersInfo(SPI_SETSHOWSOUNDS,
00115                                          pGlobalData->bShowSounds,
00116                                          0,
00117                                          SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
00118                     return TRUE;
00119 
00120                 default:
00121                     break;
00122             }
00123             break;
00124     }
00125 
00126     return FALSE;
00127 }

Generated on Fri May 25 2012 04:14:57 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.