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; }
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; }
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); } }
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); } }
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; }
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() */
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 }
/* * 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 */
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; }
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); } }
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; } }
// ********************************************************** // 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; }
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(); }
void CBaseDialog::OnDestroy() { m_bmpBackground.DeleteObject(); ::DestroyIcon(m_hIconInfo); WinHelp(0L, HELP_QUIT); CDialog::OnDestroy(); }
void CWelcomeWnd::OnOK() { EndDialog(TRUE); // if (m_bShowRulesHelp) WinHelp(HIDT_INTRODUCTION); }
/* 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; } } }
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; }
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; }
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); }
//................................................................... 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); }
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); }
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); }
LRESULT OnContextHelpTrays(WPARAM wParam, LPARAM lParam) { #ifdef WIN32 WinHelp((HWND)wParam, ELK_HELP_FILE, HELP_CONTEXTMENU, (DWORD)(LPTSTR)keywordIDListTrays); #endif return(1); }
//................................................................... 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); }
BOOL CCeWatchDlg::OnHelpInfo(HELPINFO* pHelpInfo) { AFX_MANAGE_STATE(AfxGetStaticModuleState()) WinHelp(HID_BASE_RESOURCE + IDD_WATCH); return TRUE; // return CDialog::OnHelpInfo(pHelpInfo); }
//................................................................... static LRESULT OnContextHelpMIO(WPARAM wParam, LPARAM lParam) { #ifdef WIN32 WinHelp((HWND)wParam, ECL_HELP_FILE, HELP_CONTEXTMENU, (DWORD)(LPSTR)keywordIDListMIO); #endif return(1); }
//................................................................... 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); }
//................................................................... LRESULT OnContextHelpDisk(WPARAM wParam, LPARAM lParam) { #ifdef WIN32 WinHelp((HWND)wParam, MSTOR_HELP_FILE, HELP_CONTEXTMENU, (DWORD)(LPSTR)keywordIDListDisk); #endif return(1); }
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 ); }