// // C O N F G D L G . C P P // // Dialog box handling for Server configuration // // Author: danielwe // Created: 5 Mar 1997 // #include "pch.h" #pragma hdrstop #include "resource.h" #include "srvrdlg.h" #include "srvrhlp.h" extern const WCHAR c_szNetCfgHelpFile[]; LRESULT CServerConfigDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { const SERVER_DLG_DATA * psdd; INT idd = 0; psdd = m_psc->DlgData(); Assert(psdd); switch (psdd->dwSize) { case 1: idd = RDB_Minimize; break; case 2: idd = RDB_Balance; break; case 3: if (psdd->fLargeCache) { idd = RDB_FileSharing; } else { idd = RDB_NetApps; } break; default: AssertSz(FALSE, "Invalid Size parameter!"); break; } CheckDlgButton(idd, TRUE); CheckDlgButton(CHK_Announce, psdd->fAnnounce); return TRUE; } LRESULT CServerConfigDlg::OnOk(int idCtrl, LPNMHDR pnmh, BOOL& bHandled) { SERVER_DLG_DATA * psdd; static const INT aidd[] = { RDB_Minimize, RDB_Balance, RDB_FileSharing, RDB_NetApps, }; static const INT cidd = celems(aidd); INT iidd; psdd = m_psc->DlgDataRW(); Assert(psdd); // figure out which radio button was selected for (iidd = 0; iidd < cidd; iidd++) { if (IsDlgButtonChecked(aidd[iidd])) break; } AssertSz(iidd < cidd, "Umm. How could a button NOT be selected??"); // make it 1-based instead of 0-based iidd++; psdd->fLargeCache = (iidd == 3); psdd->dwSize = min(iidd, 3); psdd->fAnnounce = IsDlgButtonChecked(CHK_Announce); m_psc->SetDirty(); return 0; } //+--------------------------------------------------------------------------- // // Method: CServerConfigDlg::OnContextMenu // // Desc: Bring up context-sensitive help // // Args: Standard command parameters // // Return: LRESULT // LRESULT CServerConfigDlg::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& fHandled) { if (g_aHelpIDs_DLG_ServerConfig != NULL) { ::WinHelp(m_hWnd, c_szNetCfgHelpFile, HELP_CONTEXTMENU, (ULONG_PTR)g_aHelpIDs_DLG_ServerConfig); } return 0; } //+--------------------------------------------------------------------------- // // Method: CServerConfigDlg::OnHelp // // Desc: Bring up context-sensitive help when dragging ? icon over a control // // Args: Standard command parameters // // Return: LRESULT // // LRESULT CServerConfigDlg::OnHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& fHandled) { LPHELPINFO lphi = reinterpret_cast(lParam); Assert(lphi); if ((g_aHelpIDs_DLG_ServerConfig != NULL) && (HELPINFO_WINDOW == lphi->iContextType)) { ::WinHelp(static_cast(lphi->hItemHandle), c_szNetCfgHelpFile, HELP_WM_HELP, (ULONG_PTR)g_aHelpIDs_DLG_ServerConfig); } return 0; }