<PAVE OVER> Visualizzazione della Guida sensibile al contesto
La guida sensibile al contesto, allo scopo di questa discussione, si riferisce al supporto della Guida per i controlli in una finestra di dialogo a cui gli utenti accedono:
Premendo il tasto F1.
Facendo clic con il pulsante destro del mouse su un controllo (Cos'è Questo? Aiuto).
Utilizzando il puntatore del segno di domanda (Il Cos'è Questo? Puntatore dell'Aiuto).
Per ogni controllo che si desidera supportare la guida sensibile al contesto, impostare la proprietà HelpID a True.
Se necessario, aggiungere htmlhelp.lib alla proprietà Dipendenze aggiuntive, disponibile nella pagina delle proprietà Input della cartella Linker nella finestra di dialogo Pagine delle proprietà del progetto.
Le informazioni di origine per la guida sensibile al contesto sono archiviate in un file .txt da includere nel progetto della guida HTML.
Per creare il file di testo della guida sensibile al contesto
Utilizzare un editor di testo per creare un file .txt.
Formattare l'argomento come segue:
.topic 1
help text for control 1
.topic 2
help text for control 2
Nota
Per ulteriori informazioni, vedere "Progettare la guida sensibile al contesto" nella Guida HTML online.Dal menu ? (in Workshop Aiuto HTML), scegliere Argomento Guida.
Dopo aver creato il file .txt, aggiungerlo alla sezione [File] nel file di .hhp.
Per supportare la guida per le risorse in una finestra di dialogo, è necessario creare un array bidimensionale che esegue il mapping degli ID del controllo per aiutare gli ID (numeri di argomento).
Per creare l'array bidimensionale
Nel file .cpp, per ogni classe che rappresenta una finestra di dialogo, aggiungere un array bidimensionale alla fine della classe. Di seguito è riportato un esempio.
static DWORD myarray[] = { IDC_CHECK1, 1, IDC_BUTTON1, 2, IDC_EDIT1, (DWORD)-1, 0,0 };
Ogni voce nell'array bidimensionale associa un ID di risorsa per un controllo finestra di dialogo con un numero di argomento dal file di testo della guida sensibile al contesto. Se non si desidera una risorsa specifica per avere Cos'è Questo? Guida, utilizzo –1. L'ultima coppia in questo array deve essere 0,0.
L'accesso F1 alla guida sensibile al contesto indica che gli utenti potranno premere F1 quando un controllo è attivo per accedere alla guida.
Per consentire l'accesso F1 alla guida sensibile al contesto
Implementare un gestore per il messaggio WM_HELPINFO (in ogni classe della finestra di dialogo in cui si desidera accedere tramite F1 alla guida sensibile al contesto) e implementare il codice seguente per il gestore:
BOOL CMyDlg::OnHelpInfo(HELPINFO* pHelpInfo) { BOOL bRet = TRUE; if (pHelpInfo->iContextType == HELPINFO_WINDOW) { HWND hwnd = ::HtmlHelp( (HWND)pHelpInfo->hItemHandle, _T("my_chm.chm::/ctrlhlp.txt"), HH_TP_HELP_WM_HELP, (DWORD)(LPVOID)myarray); bRet = (NULL != hwnd); } return bRet; }
Cos'è Questo? La guida visualizza l'aiuto del controllo quando un utente fa clic con il pulsante destro del mouse sul controllo.
Per implementare il clic con il pulsante destro del mouse di Cos'è Questo??
Implementare un gestore (vedere Mappare Messaggi su Funzioni) per il messaggio WM_CONTEXTMENU in ogni classe della finestra di dialogo in cui si desidera Cos'è Questo? Guida (selezionare l'ID della finestra di dialogo dall'elenco di ID oggetto). Implementare il codice seguente per il gestore:
void CMyDlg::OnContextMenu(CWnd* pWnd, CPoint point) { UNREFERENCED_PARAMETER(point); ::HtmlHelp( pWnd->GetSafeHwnd(), _T("my_chm.chm::/ctrlhlp.txt"), HH_TP_HELP_CONTEXTMENU, (DWORD)(LPVOID)myarray); }
Quando si specifica il file .chm, la posizione prevista è la directory di lavoro del progetto. Vedere scheda Debug della finestra di dialogo Pagine delle proprietà per il percorso della directory di lavoro (per impostazione predefinita, la directory del progetto). Quando si specifica il file di testo nel .chm contenente la guida sensibile al contesto, è necessario specificare le stesse informazioni sul percorso come specificato per il file .txt nel file .hhp del .chm.
Se si ha già implementato l'accesso F1 alla guida sensibile al contesto, è possibile attivare facilmente il puntatore Cos'è Questo?, il quale farà apparire un punto interrogativo sulla barra del titolo, nell'angolo superiore destro della finestra di dialogo.
Per abilitare il Cos'è Questo?Puntatore del punto di domanda della guida
- Selezionare la casella di controllo Guida di contesto nella scheda Stili Estesi delle proprietà della casella di dialogo.