Exemplo n.º 1
0
void launch_help(HWND hwnd, const char *topic)
{
    if (topic) {
	int colonpos = strcspn(topic, ":");

#ifndef NO_HTMLHELP
	if (chm_path) {
	    char *fname;
	    assert(topic[colonpos] != '\0');
	    fname = dupprintf("%s::/%s.html>main", chm_path,
			      topic + colonpos + 1);
	    p_HtmlHelpA(hwnd, fname, HH_DISPLAY_TOPIC, 0);
	    sfree(fname);
	} else
#endif /* NO_HTMLHELP */
	if (help_path) {
	    char *cmd = dupprintf("JI(`',`%.*s')", colonpos, topic);
	    WinHelp(hwnd, help_path, HELP_COMMAND, (DWORD)cmd);
	    sfree(cmd);
	}
    } else {
#ifndef NO_HTMLHELP
	if (chm_path) {
	    p_HtmlHelpA(hwnd, chm_path, HH_DISPLAY_TOPIC, 0);
	} else
#endif /* NO_HTMLHELP */
	if (help_path) {
	    WinHelp(hwnd, help_path,
		    help_has_contents ? HELP_FINDER : HELP_CONTENTS, 0);
	}
    }
    requested_help = TRUE;
}
Exemplo n.º 2
0
BOOL CALLBACK HostsTab_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
{
   switch (msg)
      {
      case WM_INITDIALOG:
         if (g.fIsCCenter)
            Main_OnInitDialog (GetParent(hDlg));
         HostsTab_OnInitDialog (hDlg);
         break;

      case WM_COMMAND:
         switch (LOWORD(wp))
            {
            case IDAPPLY:
               if (!HostsTab_OnApply (hDlg))
                  SetWindowLongPtr (hDlg, DWLP_MSGRESULT, TRUE);
               break;

            case IDC_ADD:
               HostsTab_OnAdd (hDlg);
               break;

            case IDC_EDIT:
               HostsTab_OnEdit (hDlg);
               break;

            case IDC_REMOVE:
               HostsTab_OnRemove (hDlg);
               break;

            case IDHELP:
               HostsTab_DlgProc (hDlg, WM_HELP, 0, 0);
               break;
            }
         break;

      case WM_HELP:
         if (g.fIsCCenter)
            WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCONFIG_GENERAL_CCENTER);
         else
            WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCONFIG_CELLS);
         break;

      case WM_NOTIFY:
         switch (((LPNMHDR)lp)->code)
            {
            case FLN_ITEMSELECT:
               HostsTab_OnSelect (hDlg);
               break;

            case FLN_LDBLCLICK:
               if (IsWindowEnabled (GetDlgItem (hDlg, IDC_EDIT)))
                  HostsTab_OnEdit (hDlg);
               break;
            }
         break;
      }

   return FALSE;
}
Exemplo n.º 3
0
void tUtil::ShowHelp(const char *filename, unsigned long context)
{
  // filename must have at least the extension
  if(!filename || strlen(filename) < 5)
    return;

  const char* extension = &filename[strlen(filename) - 4];

  if(_stricmp(extension, ".chm") == 0)
  {
    char context_param[50];
  
    if(context != 0)
      sprintf(context_param, "-mapid %d", context);
    else
      context_param[0] = '\0';
  
    _spawnlp(_P_NOWAIT, "hh.exe", "hh.exe", context_param, filename, NULL);
  }
  else if(_stricmp(extension, ".hlp") == 0)
  {
    if(context != 0)
      WinHelp(NULL, filename, HELP_CONTEXT, context);
    else
      WinHelp(NULL, filename, HELP_FINDER, 0);
  }
}
Exemplo n.º 4
0
void tUtil::ShowHelp(const char *filename, unsigned long context)
{
  // filename must have at least the extension
  if(!filename || strlen(filename) < 5)
    return;

  const char* extension = &filename[strlen(filename) - 4];

  if(_stricmp(extension, ".chm") == 0)
  {
    char context_param[50];
  
    if(context != 0)
      sprintf(context_param, "-mapid %d", context);
    else
      context_param[0] = '\0';
#if !defined(__WINE__) || defined(__MSVCRT__)
    _spawnlp(_P_NOWAIT, "hh.exe", "hh.exe", context_param, filename, NULL);
#else
    MessageBox(NULL, "FIX - not implemented - _spawnlp", "LuaCOM", MB_ICONEXCLAMATION);
    #warning FIX - not implemented - _spawnlp
#endif
  }
  else if(_stricmp(extension, ".hlp") == 0)
  {
    if(context != 0)
      WinHelp(NULL, filename, HELP_CONTEXT, context);
    else
      WinHelp(NULL, filename, HELP_FINDER, 0);
  }
}
Exemplo n.º 5
0
INT_PTR CALLBACK MainDlgProc(HWND sheet, UINT msg, WPARAM wParam, LPARAM lParam)
{
	INT_PTR ret = FALSE;

	switch (msg)
	{
	case WM_CLOSE:
		DestroyWindow(sheet);
		return CALLPROC();

	case WM_SYSCOMMAND:
		//the overloaded DialogProc screwes up the automatic SC_CLOSE translation to WM_CLOSE
		if (wParam == SC_CLOSE)
			DestroyWindow(sheet);
		else
			return CALLPROC();
		break;

	case WM_COMMAND:
		ret = 0;	//processing message
		Sheet_HandleCommand(sheet, HIWORD(wParam), LOWORD(wParam), (HWND)lParam);
		CALLPROC();
		break;

	case WM_DESTROY:
		{
		    SendMessage(
			    PropSheet_GetCurrentPageHwnd(sheet),
			    AOKTS_Closing, 0, 0);
			WinHelp(sheet, "ts.hlp", HELP_QUIT, 0);
			PostQuitMessage(0);
		}
		return CALLPROC();

	case WM_HELP:
		WinHelp(sheet, "ts.hlp", HELP_CONTENTS, 0);
		break;

	case WM_MENUSELECT:
		OnMenuSelect(LOWORD(wParam), HIWORD(wParam), (HMENU)lParam);
		break;

	case MAP_Close:
		CheckMenuItem(GetMenu(sheet), ID_VIEW_MAP, MF_BYCOMMAND | MF_UNCHECKED);
		propdata.mapview = NULL;
		break;

	case MAP_Click:
		SendMessage(
			PropSheet_GetCurrentPageHwnd(sheet),
			MAP_Click, wParam, lParam);
		break;

	default:
		return CALLPROC();
	}

	return ret;
}
Exemplo n.º 6
0
INT_PTR
CALLBACK
DlgLine(
    HWND hDlg,
    UINT message,
    WPARAM wParam,
    LPARAM lParam
    )
{
    int y;

    static DWORD HelpArray[]=
    {
       ID_LINE_LINE, IDH_LINE,
       0, 0
    };

    Unused(lParam);

    switch (message) {

      case WM_HELP:
          WinHelp((HWND)((LPHELPINFO) lParam)->hItemHandle, "windbg.hlp", HELP_WM_HELP, 
             (DWORD_PTR)(LPVOID) HelpArray );
          return TRUE;

      case WM_CONTEXTMENU:
          WinHelp ((HWND) wParam, "windbg.hlp", HELP_CONTEXTMENU,
             (DWORD_PTR)(LPVOID) HelpArray );
          return TRUE;

      case WM_COMMAND:
        switch (wParam) {

          case IDOK:
            // Retrieve selected item text and compute line nbr

            y = GetDlgItemInt(hDlg, ID_LINE_LINE, NULL, FALSE);

            if (y <= 0) {
                ErrorBox2(hDlg, MB_TASKMODAL, ERR_Goto_Line);
                SetFocus(GetDlgItem(hDlg, ID_LINE_LINE));
            } else {
                GotoLine(curView, y, FALSE);
                EndDialog(hDlg, TRUE);
            }

            return (TRUE);

          case IDCANCEL :
            EndDialog(hDlg, TRUE);
            return (TRUE);

        }
        break;
    }

    return (FALSE);
}                                       /* DlgLine() */
Exemplo n.º 7
0
bool wxWinHelpController::DisplayContents(void)
{
    if (m_helpFile.IsEmpty()) return false;

    wxString str = GetValidFilename(m_helpFile);

#if defined(__WIN95__)
    return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_FINDER, 0L) != 0);
#else
    return (WinHelp(GetSuitableHWND(), (const wxChar*) str, HELP_CONTENTS, 0L) != 0);
#endif
}
Exemplo n.º 8
0
/*
 * WWinHelp - open an WinHelp file
 */
bool WWinHelp( HWND hwnd, LPCSTR helpFile, UINT fuCommand, HELP_DATA data )
{
    char        buff[_MAX_PATH];
    static bool open = false;

    if( fuCommand == HELP_QUIT && !open ) {
        return( false );
    }
    open = true;

    if( helpFile != NULL ) {
#if !defined( _WIN64 )
        if( __IsDBCS ) {
            /* Look for Japanese version of help file first */
            char        drive[_MAX_DRIVE];
            char        dir[_MAX_DIR];
            char        fname[_MAX_FNAME];
            char        ext[_MAX_EXT];
            char        new_filename[_MAX_PATH];

            _splitpath( helpFile, drive, dir, fname, ext );
            if( strlen( fname ) < 8 ) {
                strcat( fname, "j" );
            } else {
                fname[7] = 'j';
            }
            _makepath( new_filename, drive, dir, fname, ext );

            if( new_filename != NULL ) {
                _searchenv( new_filename, "WWINHELP", buff );
                if( buff[0] != '\0' ) {
                    helpFile = buff;
                    return( WinHelp( hwnd, helpFile, fuCommand, data ) != 0 );
                }
                _searchenv( new_filename, "PATH", buff );
                if( buff[0] != '\0' ) {
                    helpFile = buff;
                    return( WinHelp( hwnd, helpFile, fuCommand, data ) != 0 );
                }
            }
        }
#endif

        /* Can't find the Japanese version, just look for the english one */
        _searchenv( helpFile, "WWINHELP", buff );
        if( buff[0] != '\0' ) {
            helpFile = buff;
        }
    }
    return( WinHelp( hwnd, helpFile, fuCommand, data ) != 0 );

} /* WWinHelp */
Exemplo n.º 9
0
BOOL
InitApplication(
    VOID
    )
{
    DWORD     tid;
    char      szDrive[_MAX_DRIVE];
    char      szDir[_MAX_DIR];
    char      szFName[_MAX_FNAME];
    char      szExt[_MAX_EXT];
    
    hMessageThread = CreateThread( NULL, 0, MessagePumpThread, 0, 0, &tid );
    SetThreadPriority( hMessageThread, THREAD_PRIORITY_ABOVE_NORMAL );
    
    //
    // Build help file name from executable path
    //
    
    (void)GetModuleFileName(g_hInst, szHelpFileName, _MAX_PATH);
    _splitpath(szHelpFileName, szDrive, szDir, szFName, szExt);
    strcpy(szHelpFileName, szDrive);
    strcat(szHelpFileName, szDir);
    strcat(szHelpFileName, "windbg.hlp");
    
    if(bHelpOnInit) {
        // this will invoke windbg.hlp with the remote debugging help
        WinHelp(HWndFrame, szHelpFileName, HELP_CONTEXT, _Setting_Up_a_User_Mode_Remote_Debugging_Session );
    }
    
    return TRUE;
}
Exemplo n.º 10
0
void DisplayDaoException(CDaoException* e)
{
    CString strMsg;
    if (e->m_pErrorInfo!=NULL)
    {
        strMsg.Format(
            _T("%s   (%d)\n\n")
            _T("Would you like to see help?"),
            (LPCTSTR)e->m_pErrorInfo->m_strDescription,
            e->m_pErrorInfo->m_lErrorCode);

        if (AfxMessageBox(strMsg, MB_YESNO) == IDYES)
        {
            WinHelp(GetDesktopWindow(),
                    e->m_pErrorInfo->m_strHelpFile,
                    HELP_CONTEXT,
                    e->m_pErrorInfo->m_lHelpContext);
        }
    }
    else
    {
        strMsg.Format(
            _T("ERROR:CDaoException\n\n")
            _T("SCODE_CODE		=%d\n")
            _T("SCODE_FACILITY	=%d\n")
            _T("SCODE_SEVERITY	=%d\n")
            _T("ResultFromScode	=%d\n"),
            SCODE_CODE		(e->m_scode),
            SCODE_FACILITY	(e->m_scode),
            SCODE_SEVERITY	(e->m_scode),
            ResultFromScode (e->m_scode));
        AfxMessageBox(strMsg);
    }
}
Exemplo n.º 11
0
static void Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
	PopupInfoStruct		*lpPopupInfo;

	switch (id)
	{
	  case IDOK:
	  case IDCANCEL:
		if (lpPopupInfo = (PopupInfoStruct *)GetWindowLong(hwnd, DWL_USER))
		{
			HP_GLOBAL_FREE(lpPopupInfo);
		}

		EndDialog(hwnd, id);
	  	break;

	  case IDC_HELP:
		lpPopupInfo = (PopupInfoStruct *)GetWindowLong(hwnd, DWL_USER);
		if (lpPopupInfo)
		{
			WinHelp(hwnd, lpPopupInfo->helpFilename, HELP_CONTEXT, lpPopupInfo->helpContext);
		}
	  	break;
	}
}
Exemplo n.º 12
0
//  **********************************************************
//                          DIALOGS
//  **********************************************************
BOOL 
ProgramHookProc(
    HWND hDlg, 
    UINT message, 
    WPARAM wParam, 
    LPARAM lParam
    )
{
    static LPCHOOSEFONT    Cf;
    
    switch( message ) {
        
    case WM_COMMAND:
        
        switch( LOWORD( wParam )) {
            
        case IDWINDBGHELP:
        case pshHelp:
            
            Dbg(WinHelp(hDlg, szHelpFileName, (DWORD) HELP_CONTEXT,(DWORD)ID_PROGOPEN_NEW_HELP));
            return TRUE;
            
        }
    }
    return FALSE;
}
Exemplo n.º 13
0
static void DeInitWindow()
{
    if (tmpcaptured)
	ReleaseCapture();
    if (directX != DXFULLSCREEN)
	windowpos = 1, GetWindowRect(hWnd, &rcWindow);
    /* normalize priority */
    SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_NORMAL);
    if (helpname)
	WinHelp(hWnd, helpname, HELP_QUIT, 0), free(helpname), helpname =
	    NULL;

    /* destroy windows and other objects */
    DeleteObject(hFont);
    DestroyWindow(hWnd);
    UnregisterClass("XaosWindow", hInstance);
    if (bmp) {
	free(bmp);
	bmp = NULL;
    }
    if (hModule2 != NULL)
	FreeLibrary(hModule2);
    hModule2 = NULL;
    win32_uninitializewindows();
}
Exemplo n.º 14
0
void CBaseDialog::OnDestroy()
{
    m_bmpBackground.DeleteObject();
    ::DestroyIcon(m_hIconInfo);
    WinHelp(0L, HELP_QUIT);
    CDialog::OnDestroy();
}
Exemplo n.º 15
0
void CWelcomeWnd::OnOK() 
{
	EndDialog(TRUE);
	//
	if (m_bShowRulesHelp)
		WinHelp(HIDT_INTRODUCTION);
}
Exemplo n.º 16
0
/* Callback function to launch context help. */
static VOID CALLBACK message_box_help_callback(LPHELPINFO lpHelpInfo)
{
    if (help_path) {
	char *context = NULL;
#define CHECK_CTX(name) \
	do { \
	    if (lpHelpInfo->dwContextId == WINHELP_CTXID_ ## name) \
		context = WINHELP_CTX_ ## name; \
	} while (0)
	CHECK_CTX(errors_hostkey_absent);
	CHECK_CTX(errors_hostkey_changed);
	CHECK_CTX(errors_cantloadkey);
	CHECK_CTX(option_cleanup);
	CHECK_CTX(pgp_fingerprints);
#undef CHECK_CTX
	if (context) {
	    /* We avoid using malloc, in case we're in a situation where
	     * it would be awkward to do so. */
	    char cmd[WINHELP_CTX_MAXLEN+10];
	    sprintf(cmd, "JI(`',`%.*s')", WINHELP_CTX_MAXLEN, context);
	    WinHelp(hwnd, help_path, HELP_COMMAND, (DWORD)cmd);
	    requested_help = TRUE;
	}
    }
}
Exemplo n.º 17
0
BOOL CALLBACK Creds_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
{
   switch (msg)
      {
      case WM_INITDIALOG:
         RECT rTab;
         GetClientRect (GetParent(hDlg), &rTab);
         TabCtrl_AdjustRect (GetParent (hDlg), FALSE, &rTab);
         SetWindowPos (hDlg, NULL, rTab.left, rTab.top, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE | SWP_NOZORDER);

         SetWindowLongPtr (hDlg, DWLP_USER, lp);
         Creds_OnUpdate (hDlg);
         break;

      case WM_COMMAND:
         switch (LOWORD(wp))
            {
            case IDC_CREDS_REMIND:
               Creds_OnCheckRemind (hDlg);
               break;

            case IDC_CREDS_OBTAIN:
               Creds_OnClickObtain (hDlg);
               break;

            case IDC_CREDS_DESTROY:
               Creds_OnClickDestroy (hDlg);
               break;

            case IDHELP:
               Creds_DlgProc (hDlg, WM_HELP, 0, 0);
               break;
            }
         break;

      case WM_HELP:
         if (IsWindow (GetDlgItem (hDlg, IDC_CREDS_REMIND)))
            WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCREDS_TAB_TOKENS);
         else if (IsServiceRunning())
            WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCREDS_TAB_NOTOKENS_RUNNING);
         else // (!IsServiceRunning())
            WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCREDS_TAB_NOTOKENS_STOPPED);
         break;
      }

   return FALSE;
}
Exemplo n.º 18
0
BOOL CALLBACK ServerEdit_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
{
   switch (msg)
      {
      case WM_INITDIALOG:
         SetWindowLongPtr (hDlg, DWLP_USER, lp);
         ServerEdit_OnInitDialog (hDlg);
         break;

      case WM_COMMAND:
         switch (LOWORD(wp))
            {
            case IDOK:
               if (ServerEdit_OnOK (hDlg))
                  EndDialog (hDlg, IDOK);
               break;

            case IDCANCEL:
               EndDialog (hDlg, IDCANCEL);
               break;

            case IDHELP:
               ServerEdit_DlgProc (hDlg, WM_HELP, 0, 0);
               break;

            case IDC_ADDR_SPECIFIC:
            case IDC_ADDR_LOOKUP:
               EnableWindow (GetDlgItem (hDlg, IDC_SERVER), IsDlgButtonChecked (hDlg, IDC_ADDR_SPECIFIC));
               break;
            }
         break;

      case WM_HELP:
         PCELLDBLINE pLine;
         pLine = (PCELLDBLINE)GetWindowLongPtr (hDlg, DWLP_USER);

         CELLDBLINEINFO Info;
         if (!CSDB_CrackLine (&Info, pLine->szLine))
            WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCONFIG_CELLPROP_SERVER_ADD);
         else
            WinHelp (hDlg, g.szHelpFile, HELP_CONTEXT, IDH_AFSCONFIG_CELLPROP_SERVER_EDIT);
         break;
      }

   return FALSE;
}
Exemplo n.º 19
0
bool wxWinHelpController::DisplayContextPopup(int contextId)
{
    if (m_helpFile.IsEmpty()) return false;

    wxString str = GetValidFilename(m_helpFile);

    return (WinHelp((HWND) wxTheApp->GetTopWindow()->GetHWND(), (const wxChar*) str, HELP_CONTEXTPOPUP, (DWORD) contextId) != 0);
}
Exemplo n.º 20
0
//...................................................................
LRESULT OnF1HelpTrays(WPARAM  wParam, LPARAM  lParam)
{
#ifdef WIN32
	WinHelp((HWND)((LPHELPINFO)lParam)->hItemHandle, ELK_HELP_FILE, HELP_WM_HELP,
          (DWORD)(LPTSTR)keywordIDListTrays);
#endif
	return(1);
}
Exemplo n.º 21
0
bool wxWinHelpController::DisplayContextPopup(int contextId)
{
    if (m_helpFile.empty()) return false;

    wxString str = GetValidFilename(m_helpFile);

    return (WinHelp(GetSuitableHWND(this), str.wx_str(), HELP_CONTEXTPOPUP, (DWORD) contextId) != 0);
}
Exemplo n.º 22
0
bool wxWinHelpController::DisplayContents(void)
{
    if (m_helpFile.empty()) return false;

    wxString str = GetValidFilename(m_helpFile);

    return (WinHelp(GetSuitableHWND(this), str.wx_str(), HELP_FINDER, 0L) != 0);
}
Exemplo n.º 23
0
LRESULT OnContextHelpTrays(WPARAM  wParam, LPARAM  lParam)
{
#ifdef WIN32
	WinHelp((HWND)wParam, ELK_HELP_FILE, HELP_CONTEXTMENU,
          (DWORD)(LPTSTR)keywordIDListTrays);
#endif
	return(1);
}
Exemplo n.º 24
0
//...................................................................
static LRESULT OnF1HelpMIO(WPARAM  wParam, LPARAM  lParam)
{
#ifdef WIN32
	WinHelp((HWND)((LPHELPINFO)lParam)->hItemHandle, ECL_HELP_FILE, HELP_WM_HELP,
          (DWORD)(LPSTR)keywordIDListMIO);
#endif
	return(1);
}
Exemplo n.º 25
0
BOOL CCeWatchDlg::OnHelpInfo(HELPINFO* pHelpInfo) 
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	WinHelp(HID_BASE_RESOURCE + IDD_WATCH);
	return TRUE;

//	return CDialog::OnHelpInfo(pHelpInfo);
}
Exemplo n.º 26
0
//...................................................................
static LRESULT OnContextHelpMIO(WPARAM  wParam, LPARAM  lParam)
{
#ifdef WIN32
	WinHelp((HWND)wParam, ECL_HELP_FILE, HELP_CONTEXTMENU,
          (DWORD)(LPSTR)keywordIDListMIO);
#endif
	return(1);
}
Exemplo n.º 27
0
//...................................................................
LRESULT OnF1HelpDisk(WPARAM  wParam, LPARAM  lParam)
{
#ifdef WIN32
	WinHelp((HWND)((LPHELPINFO)lParam)->hItemHandle, MSTOR_HELP_FILE, HELP_WM_HELP,
          (DWORD)(LPSTR)keywordIDListDisk);
#endif
	return(1);
}
Exemplo n.º 28
0
//...................................................................
LRESULT OnContextHelpDisk(WPARAM  wParam, LPARAM  lParam)
{
#ifdef WIN32
	WinHelp((HWND)wParam, MSTOR_HELP_FILE, HELP_CONTEXTMENU,
          (DWORD)(LPSTR)keywordIDListDisk);
#endif
	return(1);
}
Exemplo n.º 29
0
BOOL far pascal _export Flag_ObjDDialogProc(
	HWND		hDlg,
	UINT		uMsg,
	WPARAM	wParam,
	LPARAM	lParam)

	{
	FLAG*	flag;

	switch(uMsg)
		{
		case WM_INITDIALOG:
			{
      // write the object name to the title bar
			char	objName[255];
      flag = (FLAG*)lParam;

			AUtlSetTitleFont(OTYPE_FLAG, NULL,
												GetDlgItem(hDlg, IDD_OBJECT));
			AUtlCenterDialog(hDlg, 0);

			AObjGetName(flag->ObjectID(), objName, 255);
			SetWindowText(hDlg, objName);
			SetWindowLong(hDlg, DWL_USER, (long)flag);

			// initialize the dialog
			flag->InitDlgControls(hDlg);
			}

		case WM_COMMAND:
			switch(wParam)
				{
        // buttons on right side of dialog
				case IDOK:
					flag = (FLAG*)GetWindowLong(hDlg, G.cbByteOffset);
					flag->UpdateObject(hDlg);
          EndDialog(hDlg, TRUE);
					return TRUE;

				case IDCANCEL:
					EndDialog(hDlg, FALSE);
					return TRUE;

				case IDHELP:
					WinHelp(hDlg, SERIUS_HELPFILE, HELP_CONTEXT, HELPID_OBJD_Flag);
					return TRUE;

				default:
					break;
				}
			break;

		default:
			break;
		}

  return FALSE;
	}
/****************************************************************************
*
*     FUNCTION: WndProc
*
*     PURPOSE:  Window Procedure for the main window.
*
*     PARAMS:   HWND   hWnd    - This window
*               UINT   Message - Which message?
*               WPARAM wParam  - message parameter
*               LPARAM lParam  - message parameter
*
*     RETURNS:  LRESULT - depends on message
*
* History:
*                July '95 - Created
*
\****************************************************************************/
LRESULT CALLBACK WndProc( HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam )
{
    // which message are we handling?
    switch( Message )
    {
        // Menu is coming up, initialize it
        case WM_INITMENU:
            UpdateMenuState( hWnd, (HMENU)wParam );
            return 1;
        break; // end WM_INITMENU

        // Window is being created, create the MDI client also
        case WM_CREATE:
        {
            CLIENTCREATESTRUCT ccs;

            // Retrieve the handle of the Window menu and assign the
            // first child window identifier.
            ccs.hWindowMenu = GetSubMenu(GetMenu(hWnd), 2 );
            ccs.idFirstChild = IDM_WINDOWCHILD;

            // Create the MDI client window
            hMDIClientWnd = CreateWindow(	TEXT("MDICLIENT"), (LPCTSTR) NULL,
                                            WS_CHILD | WS_CLIPCHILDREN | WS_VSCROLL | WS_HSCROLL,
                                            0, 0, 0, 0, hWnd, (HMENU) 0xCAC, hInst, (LPSTR) &ccs );

            ShowWindow(hMDIClientWnd, SW_SHOW);
        }
        break; // End WM_CREATE

        // Command Messages (menu items, etc)
        case WM_COMMAND:
            OnCommand( hWnd, wParam, lParam );
            return DefFrameProc( hWnd, hMDIClientWnd, Message, wParam, lParam );
        break; // End WM_COMMAND

        // Time to close down now :(
        case WM_CLOSE:
        {
            // Will the children allow it? (Give 'em a chance to cancel)
            if( QueryCloseAllChildren() )
            {
                WinHelp( hWnd, szHelpFileName, HELP_QUIT, 0 );
                DestroyWindow( hWnd );
                PostQuitMessage( 0 );
                return DefFrameProc( hWnd, hMDIClientWnd, Message, wParam, lParam );
            }
            return 0;
        }
        break; // End WM_CLOSE

        // Pass it on to the default window procedure
        default:
            return DefFrameProc( hWnd, hMDIClientWnd, Message, wParam, lParam );
        break; // end default
    }
    return DefFrameProc( hWnd, hMDIClientWnd, Message, wParam, lParam );
}