Condividi tramite


TN035: Utilizzo di file di più risorse e file di intestazione con Visual C++

[!NOTA]

La seguente nota tecnica non è stata aggiornata dalla prima volta che viene inclusa nella documentazione online.Di conseguenza, alcune procedure e argomenti potrebbero non essere aggiornati o errati.Per le informazioni più recenti, è consigliabile cercare l'argomento di interesseindice della documentazione online.

Questa nota viene descritto come file di risorse e file di intestazione supporta più di editor di risorse di Visual C++ condivisi in un singolo progetto o condivisi tra più progetti e come è possibile usufruire di tale supporto.Questa nota rispondono alle domande seguenti:

  • Quando si desidera dividere un progetto in file di risorse più e/o file di intestazione e altrettanto potente?

  • La condivisione un'intestazione comune. File H tra due file RC?

  • Come dividere le risorse del progetto in file di più .RC?

  • Ad esempio è (e gli strumenti) gestiscono le dipendenze di compilazione tra .RC, .CPP e. File H?

È necessario tenere presente che se si aggiunge un file di risorse aggiuntivo al progetto, ClassWizard non riconoscerà le risorse nel file aggiunto.

Questa nota è strutturata rispondere alle domande elencate in precedenza come segue:

  • Overview of How Visual C++ Manages Resource Files and Header Files viene fornita una panoramica di come set di risorse include il comando in Visual C++ consente di utilizzare i file di risorse più file di intestazione e gli stessi per un progetto.

  • Aspetti diAnalysis of AppWizard-created .RC and .H Files alle risorse e ai file di intestazione più utilizzati da un'applicazione AppWizard-creata.Questi file vengono utilizzate come buon modello per i file di risorse aggiuntive e i file di intestazione che è possibile aggiungere al progetto.

  • Including Additional Header Files viene descritto dove si desidera includere i file di intestazione più e vengono forniti i dettagli quanto a tale scopo.

  • Nell'Sharing a Header File Between Two .RC Files come è possibile condividere un file di intestazione tra i file multipli .RC in progetti diversi, oppure nello stesso progetto.

  • Using Multiple Resource Files in the Same Project viene descritto dove è possibile suddividere al progetto in file di più .RC e vengono forniti i dettagli quanto a tale scopo.

  • Enforcement of Non-Editable Visual C++ Files viene descritto come è possibile assicurarsi che Visual C++ non modificare e in modo non intenzionale riformattare una risorsa personalizzata.

  • Managing Symbols Shared by Multiple Visual C++-Edited .RC Files viene illustrato come condividere gli stessi simboli nei file di più .RC e come evitare di assegnare valori numerici duplicati ID.

  • Managing Dependencies Between .RC, .CPP, and .H Files viene descritto come Visual C++ non ricompilare i file non necessari di .CPP che dipendono dai file di simboli risorsa.

  • How Visual C++ Manages Set Includes Information fornisce dettagli tecnici su come Visual C++ tiene traccia dei file di più .RC annidato () e i file di intestazione in cui sono #include'd da un file RC.

Cenni preliminari su come Visual C++ gestisce i file di risorse e i file di intestazione

Visual C++ mantiene un solo file di risorse RC e una corrispondenza. File di intestazione H come coppia con accoppiamento dei file.Quando si modifica e si salvano le risorse in un file RC, indirettamente modificare e salvare i simboli corrispondenti in. File H.Sebbene sia possibile aprire e modificare i file di più .RC per volta mediante l'interfaccia utente di MDI di Visual C++) per qualsiasi file specificato RC modificate indirettamente esattamente un file di intestazione corrispondente.

File di intestazione simboli

Per impostazione predefinita, Visual C++ denominazione sempre il file di intestazione corrispondente RESOURCE.H, indipendentemente dal nome del file di risorse (ad esempio, MYAPP.RC).Utilizzando il comando di Resource Includes dal menu Visualizza in Visual C++, è possibile modificare il nome di questo file di intestazione aggiornando il file del file di intestazione simboli nella finestra di dialogo di Set Includes .

Direttive di sola lettura dei simboli

Sebbene Visual C++ di modificare solo un file di intestazione per qualsiasi file specificato RC, Visual C++ supporta i riferimenti ai simboli definiti in file di intestazione di sola lettura aggiuntivi.Utilizzando il comando di Resource Includes dal menu Visualizza in Visual C++, è possibile specificare qualsiasi numero di file di intestazione di sola lettura aggiuntivi quali direttive di sola lettura del simbolo.La restrizione “readonly„ significa che se si aggiunge una nuova risorsa nel file RC, è possibile utilizzare un simbolo definito nel file di intestazione di sola lettura; ma se si elimina la risorsa, il simbolo rimane ancora definito nel file di intestazione di sola lettura.Non è possibile modificare il valore numerico assegnato a un simbolo di sola lettura.

Direttive in fase di compilazione

Visual C++ supporta inoltre l'annidamento dei file di risorse, dove un file RC è #include'd in un'altra.Quando si modifica un determinato file RC utilizzando Visual C++, alcune risorse nei file di #include'd non sono visibili.Ma quando si compila il file RC, i file di #include'd vengono compilati.Utilizzando il comando di Resource Includes dal menu Visualizza in Visual C++, è possibile specificare qualsiasi numero di file di #include'd .RC come direttive in fase di compilazione.

Annotare cosa si verifica se primi in Visual C++ un file RC che un altro file di .RC di #include che non viene specificato come direttiva in fase di compilazione.Questa situazione potrebbe verificarsi quando intervalli a Visual C++ un file RC in precedenza si gestendo manualmente con un editor di testo.Quando in Visual C++ viene letto il file di #include'd .RC, unisce le risorse del #include'd nel file del padre .RC.Quando si salva il file padre .RC, l'istruzione #include, in effetti, verrà sostituito dalle risorse del #include'd.Se non si desidera che questa unione per verificare, è necessario rimuovere l'istruzione #include nel file del padre .RC prima di leggere in Visual C++, quindi utilizzando Visual C++, aggiungere nuovamente la stessa istruzione #include come direttiva in fase di compilazione.

Visual C++ vengono salvati in un file con RC i tre tipi di su impostati include le informazioni (file di intestazione simboli, direttive di sola lettura del simbolo e direttive in fase di compilazione) nelle direttive #include e nelle risorse di TEXTINCLUDE.Le risorse di TEXTINCLUDE, un dettaglio di implementazione di cui generalmente non è necessario gestire, vengono descritte in Come Visual C++ gestisce il set sono incluse informazioni.

Analisi RC AppWizard-Creato e. File H

La revisione del codice dell'applicazione scritto da AppWizard consente di comprendere se Visual C++ gestisce i file di più risorse e file di intestazione.Gli estratti di codice esaminati in provengono da un'applicazione di MYAPP prodotta da AppWizard utilizzando le opzioni predefinite.

Un'applicazione AppWizard-creata utilizza file di risorse più file di intestazione e più, come riepilogato nel diagramma riportato di seguito:

   RESOURCE.H     AFXRES.H                    
          \       /                              
           \     /                                
          MYAPP.RC                               
              |                                
              |                              
        RES\MYAPP.RC2  
        AFXRES.RC                   
        AFXPRINT.RC                 

È possibile visualizzare queste relazioni di più file utilizzando il file/set di Visual C++ include il comando.

  • MYAPP.RC
    Il file di risorse dell'applicazione modificata tramite Visual C++.

RESOURCE.H è il file di intestazione specifico dell'applicazione.È sempre denominata RESOURCE.H da AppWizard, coerente con la denominazione predefinito di Visual C++ del file di intestazione.Il #include per questo file di intestazione è la prima istruzione nel file di risorse (MYAPP.RC):

//Microsoft Visual C++ generated resource script
//
#include "resource.h"
  • RICERCA \ MYAPP.RC2
    Contiene le risorse che non verranno modificate tramite Visual C++ ma verrà incluso nel file eseguibile compilato finale.AppWizard non crea tali risorse per impostazione predefinita, poiché Visual C++ possibile modificare tutte risorse MFC standard, inclusa la risorsa di versione (una nuova funzionalità di questa versione).Un file vuoto viene generato da AppWizard qualora dovesse aggiungere le proprie risorse in formato personalizzati a questo file.

Se si utilizza le risorse in formato personalizzato, è possibile aggiungerli alla ricerca \ MYAPP.RC2 e modificarli utilizzando l'editor di testo di Visual C++.

AFXRES.RC e AFXPRINT.RC contengono le risorse MFC standard obbligatorie da determinate funzionalità del framework.Ad esempio RES \ MYAPP.RC2, questi due Framework-hanno fornito i file di risorse vengono #include'd alla fine di MYAPP.RC e vengono specificate nelle direttive in fase di compilazione set includono la finestra di dialogo.Pertanto, direttamente da non visualizzare o modificare le risorse del framework durante la modifica MYAPP.RC in Visual C++, ma vengono compilate nel file EXE del file e finale del binario .RES dell'applicazione.Per ulteriori informazioni sulle risorse MFC standard del framework, incluse le procedure per modificarle, vedere nota tecnica 23.

AFXRES.H definisce i simboli standard, ad esempio ID_FILE_NEW, utilizzato dal framework e in particolare utilizzato in AFXRES.RC.Di AFXRES.H A WINRES.H di #include anche, che contiene un sottoinsieme di WINDOWS.H necessari da Visual C++ per generare i file RC nonché AFXRES.RC.I simboli definiti in AFXRES.H sono disponibili quando si modifica il file di risorse dell'applicazione (MYAPP.RC).Ad esempio, ID_FILE_NEW viene utilizzato per la nuova voce di menu del file della risorsa menu di MYAPP.RC.Non è possibile modificare o eliminare questi simboli Framework-definiti.

Inclusi i file di intestazione aggiuntivi

L'applicazione AppWizard-creata include solo due file di intestazione: RESOURCE.H e AFXRES.H.Solo RESOURCE.H è specifico dell'applicazione.Potrebbe essere necessario includere i file di intestazione di sola lettura aggiuntivi nei seguenti casi:

Il file di intestazione viene fornito da un'origine esterna, oppure se si desidera condividere il file di intestazione tra più progetti o più parti dello stesso progetto.

Il file di intestazione contiene formattazione e commenti che non si desidera che Visual C++ per modificare o filtrare il momento del salvataggio del file.Ad esempio, forse si desidera conservare i #define cui utilizzare l'aritmetica dei token come:

#define RED 0
#define BLUE 1
#define GREEN 2
#define ID_COLOR_BUTTON 1001
#define ID_RED_BUTTON (ID_COLOR_BUTTON + RED)
#define ID_BLUE_BUTTON (ID_COLOR_BUTTON + BLUE)
#define ID_GREEN_BUTTON (ID_COLOR_BUTTON + GREEN)

È possibile includere i file di intestazione di sola lettura aggiuntivi tramite il comando di Resource Includes specificare l'istruzione #include come seconda direttiva di sola lettura del simbolo, come indicato di seguito:

#include "afxres.h"
#include "second.h"

Gli aspetti del diagramma di relazione del nuovo file sarà la seguente:

                   AFXRES.H       
    RESOURCE.H     SECOND.H                    
          \       /                              
           \     /                                
          MYAPP.RC   
              |                                
              |                              
        RES\MYAPP.RC2  
        AFXRES.RC                   
        AFXPRINT.RC                 

Condividere un file di intestazione tra due file RC

Può essere opportuno condividere un file di intestazione tra due file RC che sono in progetti diversi, o eventualmente dello stesso progetto.A tale scopo, applicare semplicemente la tecnica di sola lettura di direttive sopra descritta in entrambi i file RC.Nel caso in cui i due file RC sono per le applicazioni diverse (progetti diversi), il risultato è illustrato nel diagramma seguente:

     RESOURCE.H   AFXRES.H   RESOURCE.H  
    (for MYAPP1)  SECOND.H   (for MYAPP2)             
          \       /     \       /           
           \     /       \     /             
          MYAPP1.RC      MYAPP2.RC                 
           /    \        /     \                   
          /      \      /       \            
RES\MYAPP1.RC2  AFXRES.RC     RES\MYAPP2.RC2              
                AFXPRINT.RC                 

Il caso in cui il secondo file di intestazione è condiviso da due file RC nella stessa applicazione (progetto) viene illustrato di seguito.

Utilizzo di file di risorse nello stesso progetto

Visual C++ e i file di più .RC di supporto del compilatore di risorse nello stesso progetto tra i #include di un file RC in un'altra.L'annidamento più consentito.Esistono varie ragioni dividere le risorse del progetto in file di più .RC:

  • È più facile gestione di un numero elevato di risorse tra i membri del team di progetto più se è suddiviso le risorse nei file di più .RC.Se si utilizza un pacchetto di gestione del controllo del codice sorgente per estrarre i file e archiviazione delle modifiche, suddividente le risorse nei file di più .RC fornirà il controllo più accurato di gestire le modifiche alle risorse.

  • Se si desidera utilizzare le direttive per il preprocessore, come #ifdef, #endif e #define, per le parti delle risorse, è necessario isolarli nelle risorse di sola lettura che verranno compilate dal compilatore di risorse.

  • I file del componente .RC vengono caricati e risparmieranno più velocemente di Visual C++ che un file composito RC.

  • Se si desidera gestire una risorsa con un editor di testo in formato leggibile, è necessario continuare in un file RC separato dalle modifiche di un Visual C++.

  • Se è necessario mantenere una risorsa definita dall'utente in un binario o form di testo che si interpretabile da un altro editor specifico di dati, è necessario continuare in un file separato RC in modo da Visual C++ non modifica il formato ai dati esadecimali.Le risorse (problematiche) del file di .WAV nell'esempio E di concetti avanzati MFC sono un esempio efficace.

È possibile #include che un SECOND.RC nelle direttive in fase di compilazione stessa include la finestra di dialogo:

#include "res\myapp.rc2"  // non-Visual C++ edited resources
#include "second.rc"  // THE SECOND .RC FILE

#include "afxres.rc"  // Standard components
#include "afxprint.rc"  // printing/print preview resources

Il risultato è illustrato nel diagramma seguente:

   RESOURCE.H     AFXRES.H                    
          \       /                              
           \     /                                
          MYAPP.RC
              |                                
              |                              
        RES\MYAPP.RC2
        SECOND.RC  
        AFXRES.RC                   
        AFXPRINT.RC                 

Mediante le direttive in fase di compilazione, è possibile organizzare la rappresentazione C++-editable e le risorse non modificabili nei file di più .RC, in cui il valore “master„ MYAPP.RC non esegue alcuna operazione ma il #include l'altro .RC file.Se si utilizza un file di progetto .MAK Visual C++, è necessario includere il file RC “master„ nel progetto in modo da compilare tutte le risorse del #include'd con l'applicazione.

Imposizione dei file di Noneditable Visual C++

Il file AppWizard-creato RES \ MYAPP.RC2 è un esempio di un file che contiene le risorse che non si desidera leggere accidentalmente in Visual C++ e quindi scriverla ritirar con perdita di informazioni di formattazione.Per proteggersi da questo, utilizzare le seguenti righe all'inizio del file RES \ MYAPP.RC2:

#ifdef APSTUDIO_INVOKED
    #error this file is not editable by Visual C++
#endif //APSTUDIO_INVOKED

Quando Visual C++ compilato il file RC, definisce APSTUDIO_INVOKED nonché RC_INVOKED.Se la struttura di file AppWizard-creata è danneggiata e Visual C++ legge la linea di #error precedente, viene segnalato un errore irreversibile e interrompere la lettura del file RC.

Gestione dei simboli condivisi da più file di rappresentazione C++-Edited .RC

Due problemi quando scindete le risorse nei file di più .RC che si desidera modificare separatamente in Visual C++:

  • Potrebbe essere necessario condividere gli stessi simboli nei file di più .RC.

  • È necessario aiutare Visual C++ per evitare di assegnare gli stessi valori numerici ID alle risorse distinte (simboli).

Nel diagramma seguente viene illustrato un'organizzazione RC e. File H che si occupa della prima problema:

              MYAPP.RC
             /         \
            /           \
MYSTRS.H   / MYSHARED.H  \  MYMENUS.H
     \    /    /      \   \    \
      \  /    /        \   \    \
   MYSTRS.RC           MYMENUS.RC

In questo esempio, le risorse di tipo stringa sono conservate in un file di risorse, MYSTRS.RC e i menu vengono conservati in un altro, MYMENUS.RC.Alcuni simboli, ad esempio per controlli, potrebbero avere l'esigenza di essere condiviso tra i due file.Ad esempio, un ID_TOOLS_SPELL può essere il comando di menu ID per l'elemento di ora in un menu strumenti, e può essere ID stringa del prompt dei comandi visualizzati dal framework nella barra di stato della finestra principale dell'applicazione.

Il simbolo di ID_TOOLS_SPELL si trova nel file di intestazione condiviso, MYSHARED.H.Gestire questo file di intestazione condiviso manualmente con un editor di testo, Visual C++ direttamente non lo modifica.Nei due file di risorse MYSTRS.RC e MYMENUS.RC, specificare il #include MYSHARED.H nelle direttive di sola lettura per MYAPP.RC, utilizzando il comando di Resource Includes , come descritto in precedenza.

È più pratico per visualizzare un simbolo che condividerete prima di tentare l'utilizzo identificare qualsiasi risorsa.Aggiungere il simbolo nel file di intestazione condiviso e, se non è già #include'd il file di intestazione condiviso nelle direttive di sola lettura per il file RC, questa operazione prima di utilizzare il simbolo.Se non attendere che condividere il simbolo in questo modo, sarà necessario manualmente (utilizzando un editor di testo) spostare l'istruzione #define per il simbolo ad esempio da MYMENUS.H a MYSHARED.H prima di utilizzarlo in MYSTRS.RC.

Quando si gestiscono i simboli nei file di più .RC, è anche necessario aiutare Visual C++ per evitare di assegnare gli stessi valori numerici ID alle risorse distinte (simboli).Per qualsiasi file specificato RC, Visual C++ assegna incrementale gli ID in ognuno dei quattro domini dell'ID.Tra le sessioni di modifica, Visual C++ tiene traccia dell'ultimo ID che ha assegnato in ognuno dei domini nel file di intestazione simboli per il file RC.Ecco cosa i valori di APS_NEXT sono per (un nuovo) file vuoto RC:

#define _APS_NEXT_RESOURCE_VALUE  101
#define _APS_NEXT_COMMAND_VALUE   40001
#define _APS_NEXT_CONTROL_VALUE   1000
#define _APS_NEXT_SYMED_VALUE     101

_APS_NEXT_RESOURCE_VALUE è il valore successivo del simbolo che verrà utilizzato per una risorsa finestra di dialogo, risorsa menu, e così via.L'intervallo valido per i valori di simboli risorsa è 1 a 0x6FFF.

_APS_NEXT_COMMAND_VALUE è il valore successivo del simbolo che verrà utilizzato per un ID di comando.L'intervallo valido per i valori del simbolo di comando è 0x8000 a 0xDFFF.

_APS_NEXT_CONTROL_VALUE è il valore successivo del simbolo che verrà utilizzato per un controllo finestra di dialogo.L'intervallo valido per i valori del simbolo del controllo della finestra di dialogo è 8 a 0xDFFF.

_APS_NEXT_SYMED_VALUE è il valore successivo del simbolo che verrà generato quando manualmente si assegna un valore del simbolo utilizzando il nuovo comando nel browser del simbolo.

Visual C++ inizia con i valori leggermente più elevati al valore valido più basso quando viene creato un nuovo file RC.AppWizard anche inizializzerà questi valori con nomi più appropriato per le applicazioni MFC.Per ulteriori informazioni sugli intervalli di valori ID, vedere nota tecnica 20.

Ora ogni volta che si crea un nuovo file di risorse, anche nello stesso progetto, Visual C++ definisce gli stessi valori di _APS_NEXT_ .Ciò significa che se si aggiunge le finestre di dialogo ad esempio in due diversi file RC, è molto probabile che lo stesso valore #define verrà assegnato alle diverse finestre di dialogo.Ad esempio, IDD_MY_DLG1 nel primo file RC potrebbe essere assegnato lo stesso numero, 101, come IDD_MY_DLG2 in un secondo file RC.

Per evitare questo problema, è necessario riservare un intervallo numerico separato a ognuno dei quattro domini degli ID nei rispettivi file RC.Per eseguire questa operazione manualmente aggiornamento dei valori di _APS_NEXT in ogni file before che RC avviare le risorse di aggiunta.Ad esempio, se il primo file RC utilizza i valori predefiniti di _APS_NEXT , è possibile assegnare i seguenti valori di _APS_NEXT al secondo file RC:

#define _APS_NEXT_RESOURCE_VALUE  2000
#define _APS_NEXT_COMMAND_VALUE   42000
#define _APS_NEXT_CONTROL_VALUE   2000
#define _APS_NEXT_SYMED_VALUE     2000

Naturalmente, è ancora possibile che Visual C++ considerazione consentire a diversi ID nel primo file RC che i valori numerici iniziano per propagare quelli riservati al secondo file RC.È necessario riservare gli intervalli sufficiente ampi in modo che non si verifichi.

Gestire le dipendenze tra .RC, .CPP e. File H

Quando Visual C++ salva un file RC, si salva le modifiche dei simboli al file corrispondente di RESOURCE.H.Uno dei file di .CPP che fanno riferimento alle risorse nel file RC devono #include il file di RESOURCE.H, in genere nel file di intestazione del progetto.Questo consente a un effetto collaterale indesiderata a causa di gestione dei progetti l'ambiente di sviluppo che esamina i file di origine per le dipendenze di intestazione.Ogni volta che si aggiunge un nuovo simbolo in Visual C++, il file di .CPP che il #include RESOURCE.H deve essere ricompilato.

Visual C++, aggira la dipendenza da RESOURCE.H inserendo il commento seguente come prima riga del file di RESOURCE.H:

//{{NO_DEPENDENCIES}}

L'ambiente di sviluppo interpreta il commento ignorando le modifiche a RESOURCE.H in modo che i file dipendenti di .CPP non sia necessario ricompilare.

Visual C++ aggiunge sempre la riga di commento di //{{NO_DEPENDENCIES}} in un file RC momento del salvataggio del file.In alcuni casi, l'aggiramento di dipendenza di compilazione da RESOURCE.H può generare errori di runtime rilevati in fase di collegamento.Ad esempio, se si utilizza il browser del simbolo per modificare il valore numerico assegnato a un simbolo per una risorsa, la risorsa correttamente non verrà trovata e non caricata in fase di esecuzione dell'applicazione se il file di .CPP che fa riferimento alla risorsa non viene ricompilato.In questi casi, è necessario ricompilare in modo esplicito tutti i file di .CPP che si è interessati dalle modifiche dei simboli in RESOURCE.H o si seleziona Rebuild All.Se la necessità di modificare spesso i valori dei simboli per un gruppo sicuro di risorse, probabilmente sarà più semplice e più sicuro per predisporre questi simboli in un file di intestazione di sola lettura separato, come descritto nella sezione sopra Inclusi i file di intestazione aggiuntivi.

Come Visual C++ gestisce il set sono incluse informazioni

Come descritto in, il set di menu File include il comando consente di specificare tre tipi di informazioni:

  • File di intestazione simboli

  • Direttive di sola lettura dei simboli

  • Direttive in fase di compilazione

L'esempio seguente viene descritto come Visual C++ mantiene queste informazioni in un file RC.Non è necessario disporre di queste informazioni per utilizzare Visual C++, ma può migliorare la comprensione in modo da poter utilizzare con fiducia è il set includere la funzionalità.

Ciascuno dei tre tipi principali di set include le informazioni vengono memorizzate nel file RC in due formati: (1) come #include o altre direttive interpretabili dal compilatore di risorse e (2) come risorse speciali di TEXTINCLUDE interpretabili solo da Visual C++.

Lo scopo di TEXTINCLUDE è in modo sicuro all'archivio include le informazioni in un form che è facilmente presentabile nella finestra di dialogo di Set Includes di Visual C++.TEXTINCLUDE è un tipo di risorsa definita da Visual C++.Visual C++ riconosce tre risorse specifiche di TEXTINCLUDE con i numeri di ID 1, 2 e 3 di risorse:

ID di risorsa di TEXTINCLUDE

Il tipo di set sono incluse informazioni

1

File di intestazione simboli

2

Direttive di sola lettura dei simboli

3

Direttive in fase di compilazione

Ciascuno dei tre tipi di set sono incluse informazioni è illustrato dall'impostazione predefinita MYAPP.RC e dai file di RESOURCE.H creati da AppWizard, come descritto di seguito.Integrano \ 0 e token "" tra l'INIZIO e i blocchi FINALI è richiesto dalla sintassi RC specificare le stringhe terminate zero e il carattere di virgoletta rispettivamente.

File di intestazione simboli

Il form delle informazioni di file di intestazione simboli interpretate dal compilatore di risorse è semplicemente un l'istruzione #include:

#include "resource.h"

La risorsa corrispondente di TEXTINCLUDE è:

1 TEXTINCLUDE DISCARDABLE
BEGIN
   #resource.h\0"
END

Direttive di sola lettura dei simboli

Le direttive di sola lettura del simbolo vengono incluse nella parte superiore di MYAPP.RC nel formato seguente interpretabile dal compilatore di risorse:

#include "afxres.h"

La risorsa corrispondente di TEXTINCLUDE è:

2 TEXTINCLUDE DISCARDABLE
BEGIN
   "#include ""afxres.h""\r\n"
   "\0"
END

Direttive in fase di compilazione

Le direttive in fase di compilazione sono incluse alla fine di MYAPP.RC nel formato seguente interpretabile dal compilatore di risorse:

#ifndef APSTUDIO_INVOKED
///////////////////////
//
// From TEXTINCLUDE 3
//
#include "res\myapp.rc2"  // non-Visual C++ edited resources

#include "afxres.rc"  // Standard components
#include "afxprint.rc"  // printing/print preview resources
#endif  // not APSTUDIO_INVOKED

La direttiva del #ifndef APSTUDIO_INVOKED indica a Visual C++ ignorare le direttive in fase di compilazione.

La risorsa corrispondente di TEXTINCLUDE è:

3 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""res\myapp.rc2""  // non-Visual C++ edited resources\r\n"
"\r\n"
"#include ""afxres.rc""  // Standard components\r\n"
"#include ""afxprint.rc""  // printing/print preview resources\r\n"
"\0"
END

Vedere anche

Altre risorse

Note tecniche del numero

Note tecniche per categoria