Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Amikor egy vezérlő értesíteni szeretné a tárolóját arról, hogy valamilyen művelet (amelyet a vezérlő fejlesztője határoz meg) történt (például billentyűleütés, egérkattintás vagy a vezérlő állapotának módosítása), eseményindító függvényt hív meg. Ez a függvény értesíti a vezérlőtárolót, hogy fontos művelet történt a kapcsolódó esemény aktiválásával.
A Microsoft Foundation osztálykönyvtára egy olyan programozási modellt kínál, amely az események kilövésére van optimalizálva. Ebben a modellben az "eseménytérképek" segítségével határozható meg, hogy mely függvények aktiválják az adott vezérlő eseményeit. Az eseménytérképek minden eseményhez egy-egy makrót tartalmaznak. Például egy eseménytérkép, amely egy részvényt aktivál, a Click esemény a következőképpen nézhet ki:
BEGIN_EVENT_MAP(CMyAxCtrl, COleControl)
EVENT_STOCK_CLICK()
END_EVENT_MAP()
A EVENT_STOCK_CLICK makró azt jelzi, hogy a vezérlő minden alkalommal aktivál egy részvénykattintás eseményt, amikor egérkattintás észlelhető. Az egyéb tőzsdei események részletesebb felsorolását az ActiveX-vezérlők: Események című cikkben találja. A makrók egyéni eseményeket is jeleznek.
Bár az eseménytérkép-makrók fontosak, általában nem szúrja be őket közvetlenül. Ennek az az oka, hogy a Tulajdonságok ablak ( Osztálynézetben) automatikusan eseménytérkép-bejegyzéseket hoz létre a forrásfájlokban, amikor eseményindító függvényeket társít az eseményekhez. Bármikor használhatja a Tulajdonságok ablakot, amikor szerkeszteni vagy hozzáadni szeretne egy eseménytérkép-bejegyzést.
Az eseménytérképek támogatásához az MFC a következő makrókat biztosítja:
Eseménytérkép makrói
Eseménytérkép deklarációja és elhatárolása
| Név | Description |
|---|---|
| DECLARE_EVENT_MAP | Deklarálja, hogy egy osztály eseménytérképet használ az események eseményégetési függvényekre való leképezéséhez (az osztálydeklarációban kell használni). |
| BEGIN_EVENT_MAP | Elindítja az eseménytérkép definícióját (az osztály implementációjában kell használni). |
| END_EVENT_MAP | Véget vet egy eseménytérkép definíciójának (az osztály implementációjában kell használni). |
Eseményleképezési makrók
| Név | Description |
|---|---|
| EVENT_CUSTOM | Azt jelzi, hogy melyik eseményindító függvény indítja el a megadott eseményt. |
| EVENT_CUSTOM_ID | Azt jelzi, hogy melyik eseményindító függvény indítja el a megadott eseményt egy kijelölt küldési azonosítóval. |
Üzenetleképezési makrók
| Név | Description |
|---|---|
| ON_OLEVERB | Az OLE vezérlőelem által kezelt egyéni igét jelzi. |
| ON_STDOLEVERB | Felülbírálja az OLE-vezérlő szabványos igeleképezését. |
DECLARE_EVENT_MAP
A program minden COleControl-származtatott osztálya megadhat egy eseménytérképet a vezérlő által aktivált események megadásához.
DECLARE_EVENT_MAP()
Megjegyzések
Használja a DECLARE_EVENT_MAP makrót az osztálydeklaráció végén. Ezután az osztály tagfüggvényeit meghatározó .cpp fájlban használja a BEGIN_EVENT_MAP makrót, a vezérlő egyes eseményeinek makróbejegyzéseit, valamint az END_EVENT_MAP makrót az eseménylista végének deklarálásához.
Az eseménytérképekkel kapcsolatos további információkért tekintse meg az ActiveX-vezérlők: Események című cikket.
Requirements
Fejléc afxctl.h
BEGIN_EVENT_MAP
Megkezdi az eseménytérkép definícióját.
BEGIN_EVENT_MAP(theClass, baseClass)
Paraméterek
theClass
Annak a vezérlőosztálynak a nevét adja meg, amelynek eseménytérképe ez.
(No changes needed, translation remains the same as original)
```
baseClass
```
AClass alaposztályának nevét adja meg.
Megjegyzések
Az osztály tagfüggvényeit meghatározó implementációs (.cpp) fájlban indítsa el az eseménytérképet a BEGIN_EVENT_MAP makróval, majd adjon hozzá makróbejegyzéseket az egyes eseményekhez, és töltse ki az eseménytérképet a END_EVENT_MAP makróval.
Az eseménytérképekkel és a BEGIN_EVENT_MAP makróval kapcsolatos további információkért tekintse meg az ActiveX-vezérlők: Események című cikket.
Requirements
Fejléc afxctl.h
END_EVENT_MAP
Az END_EVENT_MAP makróval fejezheti be az eseménytérkép definícióját.
END_EVENT_MAP()
Requirements
Fejléc afxctl.h
EVENT_CUSTOM
Egy egyéni esemény eseménytérkép-bejegyzését határozza meg.
EVENT_CUSTOM(pszName, pfnFire, vtsParams)
Paraméterek
pszName
Az esemény neve.
pfnFire
Az eseményindító függvény neve.
vtsParams
A függvény paraméterlistáját meghatározó egy vagy több állandó szóközzel elválasztott listája.
Megjegyzések
A vtsParams paraméter az értékek szóközzel elválasztott listája az VTS_ állandóktól. Egy vagy több érték szóközökkel elválasztva (nem vesszővel) határozza meg a függvény paraméterlistáját. Például:
VTS_COLOR VTS_FONT
egy 32 bites egész számot tartalmazó listát ad meg, amely egy RGB színértéket jelöl, majd egy mutatót IFontDisp egy OLE betűtípus-objektum felületére.
Az VTS_ állandók és jelentésük a következők:
| Szimbólum | Paraméter típusa |
|---|---|
| VTS_I2 | short |
| VTS_I4 | long |
| VTS_R4 | float |
| VTS_R8 | double |
| VTS_COLOR | OLE_COLOR |
| VTS_CY | PÉNZNEM |
| VTS_DATE | DATE |
| VTS_BSTR |
const
Char* |
| VTS_DISPATCH | LPDISPATCH |
| VTS_FONT | IFontDispatch* |
| VTS_HANDLE | KEZELNI |
| VTS_SCODE | SCODE |
| VTS_BOOL | BOOL |
| VTS_VARIANT | const VARIANT* |
| VTS_PVARIANT | VARIANT* |
| VTS_UNKNOWN | LPUNKNOWN |
| VTS_OPTEXCLUSIVE | OLE_OPTEXCLUSIVE |
| VTS_PICTURE | IPictureDisp* |
| VTS_TRISTATE | OLE_TRISTATE |
| VTS_XPOS_PIXELS | OLE_XPOS_PIXELS |
| VTS_YPOS_PIXELS | OLE_YPOS_PIXELS |
| VTS_XSIZE_PIXELS | OLE_XSIZE_PIXELS |
| VTS_YSIZE_PIXELS | OLE_YSIZE_PIXELS |
| TS_XPOS_HIMETRIC | OLE_XPOS_HIMETRIC |
| VTS_YPOS_HIMETRIC | OLE_YPOS_HIMETRIC |
| VTS_XSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
| VTS_YSIZE_HIMETRIC | OLE_YSIZE_HIMETRIC |
Megjegyzés:
Az összes változattípushoz további variánsállandók lettek definiálva, a VTS_FONT és a VTS_PICTURE kivételével, amelyek mutatót biztosítanak a variáns adatállandóhoz. Ezeket az állandókat a VTS_Pconstantname konvenció alapján nevezik el. A VTS_PCOLOR például egy VTS_COLOR állandóra mutató mutató.
Requirements
Fejléc afxctl.h
EVENT_CUSTOM_ID
A dispid által megadott küldési azonosítóhoz tartozó egyéni esemény eseményindító függvényét határozza meg.
EVENT_CUSTOM_ID(
pszName,
dispid,
pfnFire,
vtsParams)
Paraméterek
pszName
Az esemény neve.
dispid
A vezérlő által az esemény aktiválásakor használt feladóazonosító.
pfnFire
Az eseményindító függvény neve.
vtsParams
Az esemény aktiválásakor a vezérlőtárolónak átadott paraméterek változólistája.
Megjegyzések
A vtsParams argumentum az értékek szóközzel elválasztott listája az VTS_ állandóktól. Ezen értékek közül egy vagy több szóközzel elválasztva, nem vesszővel van elválasztva, a függvény paraméterlistáját adja meg. Például:
VTS_COLOR VTS_FONT
egy 32 bites egész számot tartalmazó listát ad meg, amely egy RGB színértéket jelöl, majd egy mutatót IFontDisp egy OLE betűtípus-objektum felületére.
Az állandók listájáért lásd a VTS_EVENT_CUSTOM.
Requirements
Fejléc afxctl.h
ON_OLEVERB
Ez a makró egy üzenettérkép-bejegyzést határoz meg, amely egy egyéni igét képez le a vezérlő egy adott tagfüggvényére.
ON_OLEVERB(idsVerbName, memberFxn)
Paraméterek
idsVerbName
Az ige nevének sztringerőforrás-azonosítója.
memberFxn
A keretrendszer által az ige meghívásakor hívott függvény.
Megjegyzések
Az erőforrás-szerkesztővel egyéni igeneveket hozhat létre, amelyek hozzáadódnak a sztringtáblához.
A memberFxn függvény prototípusa a következő:
BOOL memberFxn(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Az lpMsg, a hWndParent és az lpRect paraméterek értékei a tagfüggvény megfelelő paramétereiből IOleObject::DoVerb származnak.
Requirements
Fejléc afxole.h
ON_STDOLEVERB
Ezzel a makróval felülbírálhatja egy szabványos ige alapértelmezett viselkedését.
ON_STDOLEVERB(iVerb, memberFxn)
Paraméterek
iVerb
A felülbírált igéhez tartozó szokásos igeindex.
memberFxn
A keretrendszer által az ige meghívásakor hívott függvény.
Megjegyzések
A szabványos igeindex az űrlap OLEIVERB_, amelyet egy művelet követ. OLEIVERB_SHOW, OLEIVERB_HIDE és OLEIVERB_UIACTIVATE néhány példa a standard igékre.
A tagFxn paraméterként használandó függvény prototípusának leírását lásd ON_OLEVERB.
Requirements
Fejléc afxole.h