İleti Eşleme Makroları (MFC)
MFC, ileti eşlemelerini desteklemek için aşağıdaki makroları sağlar:
İleti Eşleme Bildirimi ve Sınırlayıcı Makrolar
Veri Akışı Adı | Açıklama |
---|---|
DECLARE_MESSAGE_MAP |
İleti eşlemesinin bir sınıfta iletileri işlevlere eşlemek için kullanılacağını bildirir (sınıf bildiriminde kullanılmalıdır). |
BEGIN_MESSAGE_MAP |
İleti eşlemesinin tanımını başlatır (sınıf uygulamasında kullanılmalıdır). |
BEGIN_TEMPLATE_MESSAGE_MAP |
Tek bir şablon bağımsız değişkeni içeren bir sınıf türünde ileti eşlemesinin tanımını başlatır. |
END_MESSAGE_MAP |
İleti eşlemesinin tanımını sonlandırır (sınıf uygulamasında kullanılmalıdır). |
İleti Eşleme Makroları
Veri Akışı Adı | Açıklama |
---|---|
ON_COMMAND |
Belirtilen komut iletisini hangi işlevin işleneceğini gösterir. |
ON_COMMAND_EX |
Belirtilen komut iletisini hangi işlevin işleneceğini gösterir. |
ON_CONTROL |
Belirtilen bir denetim bildirimi iletisini hangi işlevin işleneceğini gösterir. |
ON_MESSAGE |
Kullanıcı tanımlı bir iletiyi hangi işlevin işleneceğini gösterir. |
ON_OLECMD |
DocObject'ten veya kapsayıcısından hangi işlevin menü komutunu işleyeceğini gösterir. |
ON_REGISTERED_MESSAGE |
Kayıtlı kullanıcı tanımlı iletiyi hangi işlevin işleneceğini gösterir. |
ON_REGISTERED_THREAD_MESSAGE |
Sınıfınız CWinThread olduğunda kayıtlı kullanıcı tanımlı iletiyi hangi işlevin işleneceğini gösterir. |
ON_THREAD_MESSAGE |
Sınıfınız CWinThread olduğunda kullanıcı tanımlı bir iletiyi hangi işlevin işleneceğini gösterir. |
ON_UPDATE_COMMAND_UI |
Belirtilen kullanıcı arabirimi güncelleştirme komut iletisini hangi işlevin işleneceğini gösterir. |
İleti Eşleme Aralığı Makroları
Veri Akışı Adı | Açıklama |
---|---|
ON_COMMAND_RANGE |
Makronun ilk iki parametresinde belirtilen komut kimlikleri aralığını hangi işlevin işleyeceğini gösterir. |
ON_UPDATE_COMMAND_UI_RANGE |
Makronun ilk iki parametresinde belirtilen komut kimlikleri aralığını hangi güncelleştirme işleyicisinin işleyeceğini gösterir. |
ON_CONTROL_RANGE |
Hangi işlevin, ikinci ve üçüncü parametrelerde belirtilen denetim kimlikleri aralığından makroya gelen bildirimleri işleyeceğini gösterir. İlk parametre, gibi BN_CLICKED bir denetim bildirimi iletisidir. |
İleti eşlemeleri, ileti eşleme bildirimi ve özetleme makroları ve ileti eşleme makroları hakkında daha fazla bilgi için bkz . İleti Eşlemeleri ve İleti İşleme ve Eşleme Konuları. İleti eşleme aralıkları hakkında daha fazla bilgi için bkz . İleti Eşleme Aralıkları için İşleyiciler.
BEGIN_MESSAGE_MAP
İleti eşlemenizin tanımını başlatır.
Sözdizimi
BEGIN_MESSAGE_MAP( theClass, baseClass )
Parametreler
theClass
İleti eşlemesi bu olan sınıfın adını belirtir.
baseClass
temel sınıfının theClass
adını belirtir.
Açıklamalar
Sınıfınızın üye işlevlerini tanımlayan uygulama (.cpp) dosyasında, makroyla ileti eşlemesini BEGIN_MESSAGE_MAP
başlatın, ardından ileti işleyici işlevlerinizin her biri için makro girdileri ekleyin ve makroyla ileti eşlemesini END_MESSAGE_MAP
tamamlayın.
İleti eşlemeleri hakkında daha fazla bilgi için bkz. İleti Eşlemeleri
Örnek
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
ON_WM_CREATE()
END_MESSAGE_MAP()
Gereksinimler
Üstbilgi: afxwin.h
BEGIN_TEMPLATE_MESSAGE_MAP
Tek bir şablon bağımsız değişkeni içeren bir sınıf türünde ileti eşlemesinin tanımını başlatır.
Sözdizimi
BEGIN_TEMPLATE_MESSAGE_MAP( theClass, type_name, baseClass )
Parametreler
theClass
İleti eşlemesi bu olan sınıfın adını belirtir.
type_name
Sınıf için belirtilen şablon parametresinin adı.
baseClass
temel sınıfının theClass
adını belirtir.
Açıklamalar
Bu makro makroya BEGIN_MESSAGE_MAP
benzer; ancak bu makro tek bir şablon bağımsız değişkeni içeren sınıflara yöneliktir.
Sınıfınızın yöntem uygulaması bölümünde, ileti eşlemesini makroyla BEGIN_TEMPLATE_MESSAGE_MAP
başlatın; ardından standart bir ileti eşlemesi için yaptığınız gibi ileti işleyicisi yöntemlerinizin her biri için makro girdileri ekleyin. Makroda BEGIN_MESSAGE_MAP
olduğu gibi, şablon ileti eşlemesini makroyla END_MESSAGE_MAP
tamamlayın.
Şablon sınıfları için ileti eşlemeleri uygulama hakkında daha fazla bilgi için bkz . Nasıl yapılır: Şablon Sınıfı için İleti Eşlemesi Oluşturma.
Gereksinimler
Üstbilgi: afxwin.h
DECLARE_MESSAGE_MAP
sınıfının bir ileti eşlemesi tanımladığını bildirir. Programınızdaki türetilmiş her CCmdTarget
sınıf, iletileri işlemek için bir ileti eşlemesi sağlamalıdır.
Sözdizimi
DECLARE_MESSAGE_MAP( )
Açıklamalar
DECLARE_MESSAGE_MAP
Sınıf bildiriminizin sonundaki makroyu kullanın. Ardından, sınıfın üye işlevlerini tanımlayan .cpp dosyasında makroyu BEGIN_MESSAGE_MAP
, ileti işleyici işlevlerinizin her biri için makro girdilerini ve makroyu END_MESSAGE_MAP
kullanın.
Not
öğesinden sonra DECLARE_MESSAGE_MAP
herhangi bir üye bildirirseniz, bunlar için yeni bir erişim türü (public
, private
veya protected
) belirtmeniz gerekir.
İleti eşlemeleri ve DECLARE_MESSAGE_MAP
makro hakkında daha fazla bilgi için bkz . İleti İşleme ve Eşleme Konuları.
Örnek
class CMainFrame : public CMDIFrameWnd
{
DECLARE_MESSAGE_MAP()
// Remainder of class declaration omitted.
Gereksinimler
Üstbilgi: afxwin.h
END_MESSAGE_MAP
İleti haritanızın tanımını sonlandırır.
Sözdizimi
END_MESSAGE_MAP( )
Açıklamalar
İleti eşlemeleri ve END_MESSAGE_MAP
makro hakkında daha fazla bilgi için bkz . İleti İşleme ve Eşleme Konuları.
Gereksinimler
Üstbilgi: afxwin.h
ON_COMMAND
Bu makro, bir komut iletisini üye işleviyle eşler.
Sözdizimi
ON_COMMAND( commandId, memberFxn )
Parametreler
commandId
Komut kimliği.
memberFxn
Komutun eşlendiği ileti işleyici işlevinin adı.
Açıklamalar
Hangi işlevin menü öğesi veya araç çubuğu düğmesi gibi bir komut kullanıcı arabirimi nesnesinden komut iletisini işleyecek olduğunu gösterir.
Bir komut hedefi nesnesi belirtilen kimlikle bir Windows WM_COMMAND
iletisi aldığında, ON_COMMAND
iletiyi işlemek için üye işlevini memberFxn
çağırır.
Tek bir komutu üye işlevine eşlemek için kullanın ON_COMMAND
. Bir komut kimlikleri aralığını bir üye işleviyle eşlemek için kullanın ON_COMMAND_RANGE
. Belirli bir komut kimliğiyle yalnızca bir ileti eşleme girdisi eşleşebilir. Başka bir ifadeyle, bir komutu birden fazla işleyiciyle eşleyemezsiniz. Daha fazla bilgi ve örnek için bkz . İleti İşleme ve Eşleme Konuları.
Örnek
BEGIN_MESSAGE_MAP(CMFCListViewDoc, CDocument)
ON_COMMAND(ID_MYCOMMAND, &CMFCListViewDoc::OnMycommand)
END_MESSAGE_MAP()
Gereksinimler
Üstbilgi: afxmsg_.h
ON_COMMAND_EX
Genişletilmiş komut işleyicisi üye işlevi.
Sözdizimi
ON_COMMAND_EX(commandId, memberFxn);
Parametreler
commandId
Komut kimliği.
memberFxn
Komutun eşlendiği ileti işleyici işlevinin adı.
Açıklamalar
Gelişmiş kullanımlar için genişletilmiş bir komut iletisi işleyici biçimi sağlanır. Makro ON_COMMAND_EX
, bu tür ileti işleyicileri için kullanılır ve işlevselliğin ON_COMMAND
üst kümesini sağlar. Genişletilmiş komut işleyicisi üye işlevleri, komut kimliğini içeren tek bir UINT
parametre alır ve bir BOOL
döndürür. Dönüş değeri, komutun işlendiğini belirtmek için olmalıdır TRUE
; aksi takdirde yönlendirme diğer komut hedef nesnelerine devam eder.
Daha fazla bilgi için bkz. Teknik Not [TN006: İleti Eşlemeleri]tm006-message-maps.md).
Gereksinimler
Üst bilgi dosyası: afxmsg_.h
ON_CONTROL
Özel denetim bildirim iletisinin hangi işlevin işleneceğini gösterir.
Sözdizimi
ON_CONTROL( wNotifyCode, commandId, memberFxn )
Parametreler
wNotifyCode
Denetimin bildirim kodu.
commandId
Komut kimliği.
memberFxn
Komutun eşlendiği ileti işleyici işlevinin adı.
Açıklamalar
Denetim bildirim iletileri, bir denetimden üst penceresine gönderilen iletilerdir.
İleti eşlemenizde, bir ileti işleyici işlevine eşlenmesi gereken her denetim bildirimi iletisi için tam olarak ON_CONTROL
bir makro deyimi olmalıdır.
Daha fazla bilgi ve örnek için bkz . İleti İşleme ve Eşleme Konuları.
Gereksinimler
Üstbilgi: afxmsg_.h
ON_MESSAGE
Kullanıcı tanımlı bir iletiyi hangi işlevin işleneceğini gösterir.
Sözdizimi
ON_MESSAGE( message, memberFxn )
Parametreler
message
İleti kimliği.
memberFxn
İletinin eşlendiği ileti işleyici işlevinin adı.
İşlevin türü olmalıdır afx_msg LRESULT (CWnd::*)(WPARAM, LPARAM)
.
Açıklamalar
Kullanıcı tanımlı iletiler, standart Windows WM_MESSAGE
iletileri olmayan iletilerdir. İleti kimliğini seçerken, 0x7FFF için (0x0400) veya WM_APP
0xBFFF için (0x8000) aralığındaki WM_USER
değerleri kullanmanız gerekir. İleti kimlikleri hakkında daha fazla bilgi için bkz WM_APP
. .
İleti eşlemenizde, ileti işleyici işlevine eşlenmesi gereken, kullanıcı tanımlı her ileti için tam olarak ON_MESSAGE
bir makro deyimi olmalıdır.
Not
Kullanıcı tanımlı iletilere ek olarak, ON_MESSAGE
daha az yaygın Windows iletilerini işler. Daha fazla bilgi için bkz . İleti Eşlemeleri.
Daha fazla bilgi ve örnek için bkz. İleti İşleme ve Eşleme Konuları ve Kullanıcı Tanımlı İşleyiciler
Örnek
#define WM_MYMESSAGE (WM_USER + 100)
BEGIN_MESSAGE_MAP(CMyWnd2, CWnd)
ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
END_MESSAGE_MAP()
// inside the class declaration
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
LRESULT CMyWnd2::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(wParam);
UNREFERENCED_PARAMETER(lParam);
// Handle message here.
return 0;
}
Gereksinimler
Üstbilgi: afxmsg_.h
ON_OLECMD
Komut gönderme arabirimi IOleCommandTarget
aracılığıyla komutları yönlendirir.
Sözdizimi
ON_OLECMD( pguid, olecmdid, commandId )
Parametreler
pguid
Komutun ait olduğu komut grubunun tanımlayıcısı. Standart grup için kullanın NULL
.
olecmdid
OLE komutunun tanımlayıcısı.
commandId
Komutu veren kaynağın veya nesnenin menü kimliği, araç çubuğu kimliği, düğme kimliği veya diğer kimliği.
Açıklamalar
IOleCommandTarget
bir kapsayıcının DocObject'in kullanıcı arabiriminden kaynaklanan komutları almasına olanak tanır ve kapsayıcının aynı komutları (Dosya menüsünde Yeni, Aç, Kaydet ve Yazdır gibi) ve Düzenle menüsünde Kopyala, Yapıştır, Geri Al vb.) DocObject'e göndermesine olanak tanır.
IOleCommandTarget
, OLE Otomasyonu'nun değerinden IDispatch
daha basittir. IOleCommandTarget
tamamen bağımsız değişkenleri nadiren olan standart bir komut kümesine dayanır ve hiçbir tür bilgisi dahil değildir (komut bağımsız değişkenleri için de tür güvenliği azalır). Bağımsız değişkenlerle komut göndermeniz gerekiyorsa kullanın COleServerDoc::OnExecOleCmd
.
Standart IOleCommandTarget
menü komutları aşağıdaki makrolarda MFC tarafından uygulanmıştır:
ON_OLECMD_CLEARSELECTION( )
Temizle'yi Düzenle komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_CLEARSELECTION, ID_EDIT_CLEAR)
ON_OLECMD_COPY( )
Kopyayı Düzenle komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_COPY, ID_EDIT_COPY)
ON_OLECMD_CUT( )
Kesmeyi Düzenle komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_CUT, ID_EDIT_CUT)
ON_OLECMD_NEW( )
Dosya Yeni komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_NEW, ID_FILE_NEW)
ON_OLECMD_OPEN( )
Dosya Aç komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_OPEN, ID_FILE_OPEN)
ON_OLECMD_PAGESETUP( )
Dosya Sayfası Yapısı komutunu gönderir. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_PAGESETUP, ID_FILE_PAGE_SETUP)
ON_OLECMD_PASTE( )
Yapıştırmayı Düzenle komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_PASTE, ID_EDIT_PASTE)
ON_OLECMD_PASTESPECIAL( )
Özel Yapıştır'ı Düzenle komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_PASTESPECIAL, ID_EDIT_PASTE_SPECIAL)
ON_OLECMD_PRINT( )
Dosya Yazdırma komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_PRINT, ID_FILE_PRINT)
ON_OLECMD_PRINTPREVIEW( )
Dosya Baskı Önizleme komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_PRINTPREVIEW, ID_FILE_PRINT_PREVIEW)
ON_OLECMD_REDO( )
Yinelemeyi Düzenle komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_REDO, ID_EDIT_REDO)
ON_OLECMD_SAVE( )
Dosya Kaydet komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_SAVE, ID_FILE_SAVE)
ON_OLECMD_SAVE_AS( )
Dosya Farklı Kaydet komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_SAVEAS, ID_FILE_SAVE_AS)
ON_OLECMD_SAVE_COPY_AS( )
Dosya Farklı Kaydet komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_SAVECOPYAS, ID_FILE_SAVE_COPY_AS)
ON_OLECMD_SELECTALL( )
Tümünü Düzenle Tümünü Seç komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_SELECTALL, ID_EDIT_SELECT_ALL)
ON_OLECMD_UNDO( )
Geri Almayı Düzenle komutunu sevk eder. Şu şekilde uygulanır:
ON_OLECMD(NULL, OLECMDID_UNDO, ID_EDIT_UNDO)
Gereksinimler
Üstbilgi: afxdocob.h
ON_REGISTERED_MESSAGE
Windows RegisterWindowMessage
işlevi, sistem genelinde benzersiz olacağı garanti edilen yeni bir pencere iletisi tanımlamak için kullanılır.
Sözdizimi
ON_REGISTERED_MESSAGE( nMessageVariable, memberFxn )
Parametreler
nMessageVariable
Kayıtlı pencere-ileti kimliği değişkeni.
memberFxn
İletinin eşlendiği ileti işleyici işlevinin adı.
Açıklamalar
Bu makro, kayıtlı iletiyi hangi işlevin işleneceğini gösterir.
Daha fazla bilgi ve örnek için bkz . İleti İşleme ve Eşleme Konuları.
Örnek
static UINT NEAR WM_FIND = RegisterWindowMessage(_T("COMMDLG_FIND"));
BEGIN_MESSAGE_MAP(CMyWnd3, CWnd)
ON_REGISTERED_MESSAGE(WM_FIND, OnFind)
END_MESSAGE_MAP()
Gereksinimler
Üstbilgi: afxmsg_.h
ON_REGISTERED_THREAD_MESSAGE
Hangi işlevin Windows RegisterWindowMessage
işlevi tarafından kaydedilen iletiyi işleyeceğini gösterir.
Sözdizimi
ON_REGISTERED_THREAD_MESSAGE(nMessageVariable, memberFxn )
Parametreler
nMessageVariable
Kayıtlı pencere-ileti kimliği değişkeni.
memberFxn
İletinin CWinThread
eşlendiği -message-handler işlevinin adı.
Açıklamalar
RegisterWindowMessage
, sistem genelinde benzersiz olacağı garanti edilen yeni bir pencere iletisi tanımlamak için kullanılır. ON_REGISTERED_THREAD_MESSAGE
bir sınıfınız CWinThread
olduğunda yerine ON_REGISTERED_MESSAGE
kullanılmalıdır.
Gereksinimler
Üstbilgi: afxmsg_.h
ON_THREAD_MESSAGE
Kullanıcı tanımlı bir iletiyi hangi işlevin işleneceğini gösterir.
Sözdizimi
ON_THREAD_MESSAGE( message, memberFxn )
Parametreler
message
İleti kimliği.
memberFxn
İletinin CWinThread
eşlendiği -message-handler işlevinin adı.
Açıklamalar
ON_THREAD_MESSAGE
bir sınıfınız CWinThread
olduğunda yerine ON_MESSAGE
kullanılmalıdır. Kullanıcı tanımlı iletiler, standart Windows WM_MESSAGE
iletileri olmayan iletilerdir. İleti eşlemenizde, ileti işleyici işlevine eşlenmesi gereken, kullanıcı tanımlı her ileti için tam olarak ON_THREAD_MESSAGE
bir makro deyimi olmalıdır.
Gereksinimler
Üstbilgi: afxole.h
ON_UPDATE_COMMAND_UI
Bu makro, kullanıcı arabirimi güncelleştirme komut iletisini hangi işlevin işleneceğini gösterir.
Sözdizimi
ON_UPDATE_COMMAND_UI( messageId, memberFxn )
Parametreler
messageId
İleti kimliği.
memberFxn
İletinin eşlendiği ileti işleyici işlevinin adı.
Açıklamalar
İleti eşlemenizde, bir ileti işleyici işlevine eşlenmesi gereken her kullanıcı arabirimi güncelleştirme komutu için tam olarak ON_UPDATE_COMMAND_UI
bir makro deyimi olmalıdır.
Daha fazla bilgi ve örnek için bkz . İleti İşleme ve Eşleme Konuları.
Gereksinimler
Üstbilgi: afxole.h
ON_COMMAND_RANGE
Bitişik bir komut kimlikleri aralığını tek bir ileti işleyici işleviyle eşlemek için bu makroyu kullanın.
Sözdizimi
ON_COMMAND_RANGE( id1, id2, memberFxn )
Parametreler
id1
Bitişik bir komut kimlikleri aralığının başındaki komut kimliği.
id2
Bitişik bir komut kimlikleri aralığının sonundaki Komut Kimliği.
memberFxn
Komutların eşlendiği ileti işleyici işlevinin adı.
Açıklamalar
Kimlik aralığı ile id1
başlar ve ile id2
biter.
Bir komut kimlikleri aralığını bir üye işleviyle eşlemek için kullanın ON_COMMAND_RANGE
. Tek bir komutu üye işlevine eşlemek için kullanın ON_COMMAND
. Belirli bir komut kimliğiyle yalnızca bir ileti eşleme girdisi eşleşebilir. Başka bir ifadeyle, bir komutu birden fazla işleyiciyle eşleyemezsiniz. İleti aralıklarını eşleme hakkında daha fazla bilgi için bkz . İleti Eşleme Aralıkları için İşleyiciler.
İleti eşleme aralıkları için otomatik destek olmadığından makroyu kendiniz yerleştirmeniz gerekir.
Örnek
// The code fragment below shows how to use ON_COMMAND_RANGE macro
// to map a contiguous range of command IDs to a single message
// handler function (i.e. OnRangeCmds() in the sample below). In
// addition, it also shows how to use CheckMenuRadioItem() to check a
// selected menu item and makes it a radio item.
BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
ON_COMMAND_RANGE(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3, &CChildFrame::OnRangeCmds)
END_MESSAGE_MAP()
void CChildFrame::OnRangeCmds(UINT nID)
{
CMenu* mmenu = AfxGetMainWnd()->GetMenu();
CMenu* submenu = mmenu->GetSubMenu(5);
submenu->CheckMenuRadioItem(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3,
nID, MF_BYCOMMAND);
}
Gereksinimler
Üstbilgi: afxmsg_.h
ON_UPDATE_COMMAND_UI_RANGE
Bitişik bir komut kimlikleri aralığını tek bir güncelleştirme iletisi işleyici işleviyle eşler.
Sözdizimi
ON_UPDATE_COMMAND_UI_RANGE( id1, id2, memberFxn )
Parametreler
id1
Bitişik bir komut kimlikleri aralığının başındaki komut kimliği.
id2
Bitişik bir komut kimlikleri aralığının sonundaki Komut Kimliği.
memberFxn
Komutların eşlendiği güncelleştirme ileti işleyicisi işlevinin adı.
Açıklamalar
İleti işleyicilerini güncelleştir komutuyla ilişkilendirilmiş menü öğelerinin ve araç çubuğu düğmelerinin durumunu güncelleştirir. Kimlik aralığı ile id1
başlar ve ile id2
biter.
İleti eşleme aralıkları için otomatik destek olmadığından makroyu kendiniz yerleştirmeniz gerekir.
Gereksinimler
Üstbilgi: afxmsg_.h
ON_CONTROL_RANGE
Bu makroyu, denetim kimliklerinin bitişik aralığını, gibi BN_CLICKED
belirli bir Windows bildirim iletisi için tek bir ileti işleyici işleviyle eşlemek için kullanın.
Sözdizimi
ON_CONTROL_RANGE( wNotifyCode, id1, id2, memberFxn )
Parametreler
wNotifyCode
İşleyicinizin yanıt verdiği bildirim kodu.
id1
Bitişik bir denetim kimlikleri aralığının başındaki komut kimliği.
id2
Bitişik bir denetim kimlikleri aralığının sonundaki komut kimliği.
memberFxn
Denetimlerin eşlendiği ileti işleyici işlevinin adı.
Açıklamalar
Kimlik aralığı ile id1
başlar ve ile id2
biter. İşleyici, eşlenen denetimlerin herhangi birinden gelen belirtilen bildirim için çağrılır.
İleti eşleme aralıkları için otomatik destek olmadığından makroyu kendiniz yerleştirmeniz gerekir.
Bir dizi denetim kimlikleri için işleyici işlevlerini uygulama hakkında daha fazla bilgi için bkz . İleti Eşleme Aralıkları için İşleyiciler.
Gereksinimler
Üstbilgi: afxmsg_.h
Ayrıca bkz.
ON_COMMAND
TN006: İleti Eşlemeleri
COleCmdUI
Sınıf
COleServerDoc::OnExecOleCmd
RegisterWindowMessage
Kullanıcı Tanımlı İşleyiciler
CCmdUI
Sınıf