OFNHookProcOldStyle

La routine di hook OFNHookProcOldStyle è una funzione di callback definito dall'applicazione o libreria definita che viene utilizzata con le finestre di dialogo comuni Apri e Salva con nome . La funzione riceve messaggi o notifiche destinate alla procedura di casella di dialogo.

Il tipo LPOFNHOOKPROC definisce un puntatore a questa funzione di richiamata. OFNHookProcOldStyle è un segnaposto per il nome della funzione definito dall'applicazione o libreria definita.

Se si specifica il flag OFN_EXPLORER quando si crea un comune finestra di dialogo Apri o Salva con nome , e si desidera che una routine di hook, è necessario utilizzare una procedura di tipo Esplora risorse OFNHookProc gancio.

 (UINT CALLBACK OFNHookProcOldStyle HWND  hdlg, / / handle alla finestra di dialogo casellaUINTuiMsg / / identificatore il messaggioWPARAMwParam, / / messaggio di parametroLPARAMlParam / / messaggio di parametro);
 

Parametri

hdlg
Gestire ad aprire o Salvare come casella finestra di dialogo alla quale è destinato il messaggio.
uiMsg
Identifica il messaggio viene ricevuto.
wParam
Specifica le informazioni aggiuntive sul messaggio. Il significato esatto dipende dal valore del parametro uiMsg .
lParam
Specifica le informazioni aggiuntive sul messaggio. Il significato esatto dipende dal valore del parametro uiMsg .

Se il parametro uiMsg indica che il messaggio WM_INITDIALOG , lParam è un puntatore a una struttura OPENFILENAME contenente che i valori specificati quando fu creata la finestra di dialogo comuni.

Valori restituiti

Se la routine di hook restituisce zero, la procedura di casella di dialogo predefinita elabora il messaggio.

Se la routine di hook restituisce un valore diverso da zero, la procedura di impostazione predefinita di dialogo casella ignora il messaggio.

Osservazioni

Quando si utilizzano le funzioni GetOpenFileName o GetSaveFileName per creare una casella di dialogo vecchio stile aperto o Salva con nome , è possibile fornire una routine di hook OFNHookProcOldStyle . Per abilitare la routine di hook, utilizzare la struttura OPENFILENAME che è passato alla funzione creazione di dialogo. Specificare il puntatore per la routine di hook nel membro lpfnHook e specificare il flag OFN_ENABLEHOOK nel membro Flags.

La procedura di casella di dialogo predefinita elabora il messaggio WM_INITDIALOG prima di passarlo alla routine di hook. Per tutti gli altri messaggi, la routine di hook riceve il messaggio in primo luogo. Poi, il valore restituito di routine di hook determina se la procedura di dialogo predefinita elabora il messaggio o ignora.

Se la routine di hook elabora il messaggio WM_CTLCOLORDLG, deve restituire un handle di pennello validi per lo sfondo della finestra di dialogo. In generale, se la routine di hook elabora qualsiasi messaggio WM_CTLCOLOR *, deve restituire un handle di pennello validi per lo sfondo del controllo specificato.

Non chiamare la funzione EndDialog la routine di hook. Invece, la routine di hook può chiamare la funzione PostMessage per inviare un messaggio WM_COMMAND con il valore IDABORT per la procedura di casella di dialogo. Distacco IDABORT chiude la finestra di dialogo e provoca la funzione della casella di dialogo restituire FALSE. Se avete bisogno di sapere perché la routine di hook chiuso la finestra di dialogo, è necessario fornire il proprio meccanismo di comunicazione tra la routine di hook e l'applicazione.

È possibile sottoclasse i controlli standard della finestra di dialogo comune. Tuttavia, la procedura comune per la casella di dialogo può anche sottoclasse dei controlli. A causa di questo, si dovrebbero controlli sottoclasse quando la routine di hook elabora il messaggio WM_INITDIALOG. Questo assicura che la routine di sottoclasse riceve i messaggi specifici del controllo prima della procedura di sottoclasse impostata dalla procedura di dialogo casella.

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Non supportato.
Intestazione:Dichiarati in commdlg.h.
Importare librerie:Definito dall'utente.

Vedi anche

Comune di dialogo casella libreria panoramica, funzioni di Box di dialogo comuni, GetOpenFileName, GetSaveFileName, OFNHookProc, OPENFILENAME, WM_INITDIALOG

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index