Dela via


Aktivering (C++)

I den här artikeln beskrivs aktiveringens roll vid visuell redigering av OLE-objekt. När en användare har inbäddat ett OLE-objekt i ett containerdokument kan det behöva användas. För att göra detta dubbelklickar användaren på objektet, som aktiverar objektet. Den vanligaste aktiveringsaktiviteten är redigering. Många aktuella OLE-objekt, när de aktiveras för redigering, gör att menyerna och verktygsfälten i det aktuella ramfönstret ändras för att återspegla de som tillhör serverprogrammet som skapade objektet. Det här beteendet, som kallas aktivering på plats, gör att användaren kan redigera inbäddade objekt i ett sammansatt dokument utan att lämna containerdokumentets fönster.

Det går också att redigera inbäddade OLE-objekt i ett separat fönster. Detta inträffar om containern eller serverprogrammet inte stöder aktivering på plats. I det här fallet, när användaren dubbelklickar på ett inbäddat objekt, startas serverprogrammet i ett separat fönster och det inbäddade objektet visas som ett eget dokument. Användaren redigerar objektet i det här fönstret. När redigeringen är klar stänger användaren serverprogrammet och återgår till containerprogrammet.

Alternativt kan användaren välja "öppna redigering" med <kommandot Öppna objekt>redigera-menyn. Då öppnas objektet i ett separat fönster.

Anmärkning

Redigering av inbäddade objekt i ett separat fönster var standardbeteende i version 1 av OLE, och vissa OLE-program kan bara stödja den här redigeringsstilen.

Aktivering på plats främjar en dokumentcentrerad metod för att skapa dokument. Användaren kan behandla ett sammansatt dokument som en enda entitet och arbeta med det utan att växla mellan program. Aktivering på plats används dock endast för inbäddade objekt, inte för länkade objekt: de måste redigeras i ett separat fönster. Det beror på att ett länkat objekt faktiskt lagras på en annan plats. Redigeringen av ett länkat objekt sker inom den faktiska kontexten för data, dvs. där data lagras. När du redigerar ett länkat objekt i ett separat fönster påminner det användaren om att data tillhör ett annat dokument.

MFC stöder inte kapslad aktivering på plats. Om du skapar en container/server-app och containern/servern är inbäddad i en annan container och aktiveras på plats, kan den inte aktivera objekt som är inbäddade i den på plats.

Vad som händer med ett inbäddat objekt när användaren dubbelklickar beror på de verb som definierats för objektet. Mer information finns i Aktivering: Verb.

Se även

OLE
Behållare
Servrar