Aracılığıyla paylaş


mfc ActiveX denetimi: Özel yöntemleri ekleme

Bunlar zaten tarafından uygulanmamış, özel yöntemler farklı hisse senedi yöntemleri COleControl.Her özel yöntemi, denetim eklemek için uygulama sağlamanız gerekir.

ActiveX denetimi kullanıcı denetimi belirli eylemleri gerçekleştirmek için herhangi bir anda özel yöntemi çağırabilirsiniz.Özel yöntemler gönderme eşleme girdisini biçimidir DISP_FUNCTION.

Özel bir yöntemle ekleme yöntemi Sihirbazı Ekle

PtInCircle özel yöntemi için ActiveX denetiminin iskelet kodunu ekleyerek aşağıdaki yordamda gösterilmektedir.PtInCircle denetime koordinatları içinde veya dışında daire olup olmadığını belirler.Aynı yordamı, diğer özel yöntemler eklemenize olanak da kullanılabilir.Özel bir yöntem adınız ve PtInCircle yöntem adı ve parametreler için parametreleri değiştirin.

[!NOT]

Bu örnek InCircle işlevi aşağıdaki makalede olaylar.Makale bu işlevi hakkında daha fazla bilgi için bkz: mfc ActiveX denetimi: özel olayları bir ActiveX denetimi ekleme.

PtInCircle özel yöntem yöntem Ekleme Sihirbazı'nı kullanarak eklemek için

  1. Denetimin proje yüklenemedi.

  2. Class View'de kendi Denetim Kitaplığı düğümünü genişletin.

  3. Arabirim düğümü (ikinci Kütüphane düğüm düğüm) denetimi için kısayol menüsünü açmak için sağ tıklatın.

  4. Tıklatın kısayol menüsünden EkleEkleme yöntemi.

    Bu yöntem Ekleme Sihirbazı'nı açar.

  5. İçinde Method Name yazın PtInCircle.

  6. İçinde İç ad kutusunda, yöntemin iç işlev adını yazın veya varsayılan değeri kullanın (Bu durumda, PtInCircle).

  7. İçinde Return Type kutusuna VARIANT_BOOL yöntemin dönüş türü.

  8. Kullanarak Parametre türü ve Parametre adı adlı bir parametre denetimler ekleme xCoord (type OLE_XPOS_PIXELS).

  9. Kullanarak Parametre türü ve Parametre adı adlı bir parametre denetimler ekleme yCoord (type OLE_YPOS_PIXELS).

  10. Son düğmesini tıklatın.

Özel yöntemleri yöntem sihirbaz değişiklikleri Ekle

Özel bir yöntem eklediğinizde, yöntem Ekleme Sihirbazı'nı Denetim sınıfı üstbilgi bazı değişiklikler yapar (.h) ve uygulama (.cpp) dosyaları.Denetim sınıfı üstbilgi gönderme eşleme bildiriminde aşağıdaki satırı eklenir (.h) dosyası:

VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);

Bu kod adlı bir dağıtım yöntemi işleyicisi bildirir PtInCircle.Bu işlev dış PtInCircle adını kullanarak denetim kullanıcı tarafından çağrılabilir.

Denetim için aşağıdaki satırı eklenir.IDL dosyası:

[id(1), helpstring("method PtInCircle")] VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);

Bu satır, belirli bir kimlik numarası yöntemi Ekleme Sihirbazı'nı yöntemler ve Özellikler listesinde yöntemin konuma PtInCircle yöntemi atar.Yöntem Ekleme Sihirbazı'nı özel bir yöntem eklemek için kullanıldığından, girişi otomatik olarak proje için eklendi.IDL dosyası.

Buna ek olarak, uygulamasında bulunan aşağıdaki satırı (.Denetim sınıfı cpp) dosyası için denetimin gönderme eşleme eklenir:

DISP_FUNCTION_ID(CMyAxUICtrl, "PtInCircle", dispidPtInCircle, PtInCircle, VT_BOOL, VTS_XPOS_PIXELS VTS_YPOS_PIXELS)

DISP_FUNCTION Denetim işleyici işlevi için makro eşler PtInCircle yöntemi PtInCircle, dönüş türü olarak bildirir VARIANT_BOOLve iki parametre türü bildirir VTS_XPOS_PIXELS ve VTS_YPOSPIXELS için geçirilecek PtInCircle.

Son olarak, yöntem Ekleme Sihirbazı saplama işlevi ekler CSampleCtrl::PtInCircle altına denetimin uygulaması (.cpp) dosyası.İçin PtInCircle Yukarıda belirtildiği gibi çalışması için bu şekilde değiştirilmelidir:

VARIANT_BOOL CMyAxUICtrl::PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord)
{
   AFX_MANAGE_STATE(AfxGetStaticModuleState());

   CPoint point(xCoord, yCoord);
   return InCircle(point);
}

Ayrıca bkz.

Başvuru

Görünüm ve nesne tarayıcı simgeleri sınıfı

Kavramlar

mfc ActiveX denetimleri