home *** CD-ROM | disk | FTP | other *** search
- /* ----------------------------------------------------------------------
-
- CNFTEST sample for Microsoft ActiveX Conferencing
-
- Unpublished work.
- Copyright (c) 1996, Microsoft Corporation
- All rights reserved.
-
- cmd.c
-
- Main command routines
-
- All functions in this file have the format:
- VOID CmdXxx(HWND hwnd, WORD wCmd, WORD wNotify, HWND hwndCtrl);
-
- See also cmd.h
-
- ---------------------------------------------------------------------- */
-
- #include "main.h"
-
-
- // Main window command table definition.
- static CMD _rgcmdMain[] =
- {
- {IDM_EXIT, CmdExit},
- {IDM_HELP, CmdHelp},
- {IDM_ABOUT, CmdAbout},
-
- {IDM_VIEW_SBAR, CmdViewSbar},
- {IDM_VIEW_CLEAR, CmdClear},
- {IDM_VIEW_FONT, CmdFont},
- {IDM_VIEW_ENVIRON, CmdViewEnviron},
-
- {IDM_CMD_CANCELTRANSFER, CmdCancelTransfer},
- {IDM_CMD_CONNECT, CmdConnect},
- {IDM_CMD_DISCONNECT, CmdDisconnect},
- {IDM_CMD_GETINFO, CmdGetInfo},
- {IDM_CMD_LAUNCHREMOTE, CmdLaunchRemote},
- {IDM_CMD_LISTEN, CmdListen},
- {IDM_CMD_REMOVENOTIFY, CmdRemoveNotify},
- {IDM_CMD_SENDDATA, CmdSendData},
- {IDM_CMD_SENDFILE, CmdSendFile},
- {IDM_CMD_SETINFO, CmdSetInfo},
- {IDM_CMD_SETNOTIFY, CmdSetNotify},
- {IDM_CMD_SHAREWINDOW, CmdShareWindow},
-
- {IDM_CMD_ISWINDOWSHARED, CmdIsWindowShared},
- {IDM_CMD_UNSHAREWINDOW, CmdUnShareWindow},
- {IDM_CMD_ENUMUSER, CmdEnumUser},
- {IDM_CMD_ENUMCONF, CmdEnumConf},
- {IDM_CMD_SETRECDIR, CmdSetInfo},
- {IDM_CMD_SETGUID, CmdSetGuid},
-
- {0, DefCmdProc}
- };
-
-
- /* M S G C M D M A I N */
- /*-------------------------------------------------------------------------
- %%Function: MsgCmdMain
-
- Handle a WM_COMMAND message
- -------------------------------------------------------------------------*/
- LRESULT MsgCmdMain(HWND hwnd, UINT uMsg, WPARAM wparam, LPARAM lparam)
- {
- return DispatchCmd(_rgcmdMain, hwnd, wparam, lparam);
- }
-
-
-
- /* S H O W H W N D */
- /*----------------------------------------------------------------------------
- %%Function: ShowHwnd
-
- Show/Hide a window
- ----------------------------------------------------------------------------*/
- VOID ShowHwnd(HWND hwnd, BOOL fShow, int idm)
- {
- if (hwnd == NULL)
- return;
-
- ShowWindow(hwnd, fShow ? SW_SHOW : SW_HIDE);
-
- SetMenuCheck(idm, fShow);
- RecalcMsgWindow();
- }
-
-
- /* C M D V I E W S B A R */
- /*----------------------------------------------------------------------------
- %%Function: CmdViewSbar
-
- Show/Hide the status bar
- ----------------------------------------------------------------------------*/
- VOID CmdViewSbar(HWND hwnd, WORD wCmd, WORD wNotify, HWND hwndCtrl)
- {
- gPref.fSbar = !gPref.fSbar;
- ShowHwnd(ghwndSbar, gPref.fSbar, IDM_VIEW_SBAR);
- }
-
-
- /*----------------------------------------------------------------------------
- %%Function: CmdClear
-
- Clear the message window
- ----------------------------------------------------------------------------*/
- VOID CmdClear(HWND hwnd, WORD wCmd, WORD wNotify, HWND hwndCtrl)
- {
- ClearLog();
- }
-
-
- /* C M D E X I T */
- /*-------------------------------------------------------------------------
- %%Function: CmdExit
-
- Shutdown the application.
- -------------------------------------------------------------------------*/
- VOID CmdExit(HWND hwnd, WORD wCmd, WORD wNotify, HWND hwndCtrl)
- {
- WritePref();
- DestroyWindow(hwnd);
- }
-
-
- /* C M D H E L P */
- /*-------------------------------------------------------------------------
- %%Function: CmdHelp
-
- Bring up help for the application
- -------------------------------------------------------------------------*/
- VOID CmdHelp(HWND hwnd, WORD wCmd, WORD wNotify, HWND hwndCtrl)
- {
- char * lpch;
- char szFile[MAX_PATH];
-
- GetModuleFileName(ghInst, szFile, MAX_PATH);
-
- for (lpch = &szFile[lstrlen(szFile)]; lpch != szFile; lpch--) {
- if (*lpch == '.') {
- *lpch = chNull;
- break;
- }
- }
- lstrcat(szFile, ".hlp");
-
- WinHelp(hwnd, szFile, HELP_CONTENTS, 0);
- }
-
- /* C M D F O N T */
- /*----------------------------------------------------------------------------
- %%Function: CmdFont
-
- Change the font for the message window
- ----------------------------------------------------------------------------*/
- VOID CmdFont(HWND hwnd, WORD wCmd, WORD wNotify, HWND hwndCtrl)
- {
- CHOOSEFONT cf;
- LOGFONT lf;
- HFONT hfont;
-
- ClearStruct(&cf);
- cf.lStructSize = sizeof(CHOOSEFONT);
- cf.hwndOwner = ghwndMain;
- cf.lpLogFont = &lf;
- cf.Flags = CF_SCREENFONTS | CF_EFFECTS;
-
- if (ChooseFont(&cf) != fTrue)
- return;
-
- hfont= CreateFontIndirect(cf.lpLogFont);
- if (hfont == hfontNil)
- return;
-
- MaybeDeleteObject(&ghfontEntry);
- ghfontEntry = hfont;
- SendMessage(ghwndMsg, WM_SETFONT,
- (WPARAM) ghfontEntry, MAKELPARAM(fTrue, 0));
-
- gPref.lf = lf;
- }
-
-
-
- /* C M D A B O U T */
- /*-------------------------------------------------------------------------
- %%Function: CmdAbout
-
- Display the about box
- -------------------------------------------------------------------------*/
- VOID CmdAbout(HWND hwnd, WORD wCommand, WORD wNotify, HWND hwndCtrl)
- {
- char szVersion[MAX_PATH];
-
- LoadString(ghInst, IDS_VERSION, szVersion, sizeof(szVersion));
-
- ShellAbout(hwnd, szVersion, NULL, LoadIcon(ghInst, MAKEINTRESOURCE(ICO_APP)));
- }
-
- /* C M D V I E W E N V I R O N */
- /*----------------------------------------------------------------------------
- %%Function: CmdViewEnviron
-
- ----------------------------------------------------------------------------*/
- VOID CmdViewEnviron(HWND hwnd, WORD wCmd, WORD wNotify, HWND hwndCtrl)
- {
- LPSTR lpEnv;
-
- Log(LOG_NORMAL, "-- start of environment variable list");
- lpEnv = GetEnvironmentStrings();
- if (NULL != lpEnv)
- {
- while (*lpEnv)
- {
- Log(LOG_NORMAL, lpEnv);
- lpEnv += CbSz(lpEnv);
- }
- }
-
- FreeEnvironmentStrings(lpEnv);
- Log(LOG_NORMAL, "--- end of list");
- }
-
-
-