COleControl Sınıfı
OLE denetimleri geliştirmek için güçlü bir temel sınıf.
Sözdizimi
class COleControl : public CWnd
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
COleControl::COleControl | Bir COleControl nesnesi oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
COleControl::AmbientAppearance | Denetimin geçerli görünümünü alır. |
COleControl::AmbientBackColor | Ortam BackColor özelliğinin değerini döndürür. |
COleControl::AmbientDisplayName | Kapsayıcı tarafından belirtilen denetimin adını döndürür. |
COleControl::AmbientFont | Ortam Yazı Tipi özelliğinin değerini döndürür. |
COleControl::AmbientForeColor | Ortam ForeColor özelliğinin değerini döndürür. |
COleControl::AmbientLocaleID | Kapsayıcının yerel ayar kimliğini döndürür. |
COleControl::AmbientScaleUnits | Kapsayıcı tarafından kullanılan birim türünü döndürür. |
COleControl::AmbientShowGrabHandles | Tutma tutamaçlarının görüntülenip görüntülenmediğini belirler. |
COleControl::AmbientShowHatching | Taramanın görüntülenmesi gerekip gerekmediğini belirler. |
COleControl::AmbientTextAlign | Kapsayıcı tarafından belirtilen metin hizalama türünü döndürür. |
COleControl::AmbientUIDead | Denetimin kullanıcı arabirimi eylemlerine yanıt vermesi gerekip gerekmediğini belirler. |
COleControl::AmbientUserMode | Kapsayıcının modunu belirler. |
COleControl::BoundPropertyChanged | Kapsayıcıya bir ilişkili özelliğin değiştirildiğini bildirir. |
COleControl::BoundPropertyRequestEdit | Özellik değerini düzenlemek için izin istemektedir. |
COleControl::ClientToParent | Denetimin kaynağına göre bir noktayı kapsayıcısının kaynağına göre bir noktaya çevirir. |
COleControl::ClipCaretRect | Bir denetimle çakışıyorsa bir şapka işareti dikdörtgeni ayarlar. |
COleControl::ControlInfoChanged | Denetim tarafından işlenen anımsatıcı kümesi değiştikten sonra bu işlevi çağırın. |
COleControl::D isplayError | Hisse senedi Hata olaylarını denetimin kullanıcısına görüntüler. |
COleControl::D oClick | Stok DoClick yönteminin uygulanması. |
COleControl::D oPropExchange | Bir COleControl nesnenin özelliklerini serileştirir. |
COleControl::D oSuperclassPaint | Windows denetiminden alt sınıflanmış bir OLE denetimini yeniden çizer. |
COleControl::EnableSimpleFrame | Denetim için basit çerçeve desteğini etkinleştirir. |
COleControl::ExchangeExtent | Denetimin genişliğini ve yüksekliğini serileştirir. |
COleControl::ExchangeStockProps | Denetimin stok özelliklerini serileştirir. |
COleControl::ExchangeVersion | Denetimin sürüm numarasını serileştirir. |
COleControl::FireClick | Hisse senedi Click olayını tetikler. |
COleControl::FireDblClick | Hisse senedi DblClick olayını tetikler. |
COleControl::FireError | Hisse senedi Error olayını tetikler. |
COleControl::FireEvent | Özel bir olay başlatır. |
COleControl::FireKeyDown | Hisse senedi KeyDown olayını tetikler. |
COleControl::FireKeyPress | Hisse senedi KeyPress olayını tetikler. |
COleControl::FireKeyUp | Hisse senedi KeyUp olayını tetikler. |
COleControl::FireMouseDown | Hisse senedi MouseDown olayını tetikler. |
COleControl::FireMouseMove | Hisse senedi MouseMove olayını tetikler. |
COleControl::FireMouseUp | Hisse senedi MouseUp olayını tetikler. |
COleControl::FireReadyStateChange | Denetimin hazır durumu değiştiğinde bir olayı tetikler. |
COleControl::GetActivationPolicy | Arabirimi destekleyen IPointerInactive bir denetimin varsayılan etkinleştirme davranışını değiştirir. |
COleControl::GetAmbientProperty | Belirtilen ortam özelliğinin değerini döndürür. |
COleControl::GetAppearance | Hisse senedi Görünümü özelliğinin değerini döndürür. |
COleControl::GetBackColor | Stok BackColor özelliğinin değerini döndürür. |
COleControl::GetBorderStyle | Stock BorderStyle özelliğinin değerini döndürür. |
COleControl::GetCapture | Penceresiz, etkinleştirilmiş bir denetim nesnesinin fare yakalamasına sahip olup olmadığını belirler. |
COleControl::GetClassID | Denetimin OLE sınıf kimliğini alır. |
COleControl::GetClientOffset | Denetimin dikdörtgen alanının sol üst köşesi ile istemci alanının sol üst köşesi arasındaki farkı alır. |
COleControl::GetClientRect | Denetimin istemci alanının boyutunu alır. |
COleControl::GetClientSite | İşaretçi için bir nesneyi kapsayıcısı içindeki geçerli istemci sitesine sorgular. |
COleControl::GetControlFlags | Denetim bayrağı ayarlarını alır. |
COleControl::GetControlSize | OLE denetiminin konumunu ve boyutunu döndürür. |
COleControl::GetDC | Kapsayıcısından cihaz bağlamı almak için penceresiz denetim için bir araç sağlar. |
COleControl::GetEnabled | Hisse senedi Etkin özelliğinin değerini döndürür. |
COleControl::GetExtendedControl | Kapsayıcıya ait genişletilmiş denetim nesnesinin işaretçisini alır. |
COleControl::GetFocus | Denetimin odakta olup olmadığını belirler. |
COleControl::GetFont | Hisse senedi Yazı Tipi özelliğinin değerini döndürür. |
COleControl::GetFontTextMetrics | Bir CFontHolder nesnenin ölçümlerini döndürür. |
COleControl::GetForeColor | Stok ForeColor özelliğinin değerini döndürür. |
COleControl::GetHwnd | Hisse senedi hWnd özelliğinin değerini döndürür. |
COleControl::GetMessageString | Menü öğesi için durum çubuğu metni sağlar. |
COleControl::GetNotSupported | Kullanıcının denetimin özellik değerine erişimini engeller. |
COleControl::GetReadyState | Denetimin hazır olma durumunu döndürür. |
COleControl::GetRectInContainer | Denetimin kapsayıcısına göre dikdörtgenini döndürür. |
COleControl::GetStockTextMetrics | Stok Yazı Tipi özelliğinin ölçümlerini döndürür. |
COleControl::GetText | Hisse senedi Metin veya Resim Yazısı özelliğinin değerini döndürür. |
COleControl::GetWindowlessDropTarget | Penceresiz denetimin sürükle ve bırak işlemlerinin hedefi olmasına izin vermek için geçersiz kılın. |
COleControl::InitializeIIDs | Denetimin kullanacağı IID'lerin temel sınıfını bildirir. |
COleControl::InternalGetFont | Stok Font özelliği için bir CFontHolder nesne döndürür. |
COleControl::InternalGetText | Stock Caption veya Text özelliğini alır. |
COleControl::InternalSetReadyState | Denetimin hazır olma durumunu ayarlar ve ready-state-change olayını başlatır. |
COleControl::InvalidateControl | Görüntülenen denetimin bir alanını geçersiz kılır ve yeniden çizilmesine neden olur. |
COleControl::InvalidateRgn | Kapsayıcı penceresinin belirtilen bölge içindeki istemci alanını geçersiz kılabilir. Bölgedeki penceresiz denetimleri yeniden çizmek için kullanılabilir. |
COleControl::IsConvertingVBX | OLE denetiminin özel yüklenmesine izin verir. |
COleControl::IsModified | Denetim durumunun değişip değişmediğini belirler. |
COleControl::IsOptimizedDraw | Kapsayıcının geçerli çizim işlemi için iyileştirilmiş çizimi destekleyip desteklemediğini gösterir. |
COleControl::IsSubclassedControl | Denetimin bir Windows denetimini alt sınıfa eklenip sınıflandırmadığını belirlemek için çağrılır. |
COleControl::Load | Önceki zaman uyumsuz verileri sıfırlar ve denetimin zaman uyumsuz özelliğinin yeni yükünü başlatır. |
COleControl::LockInPlaceActive | Denetiminizin kapsayıcı tarafından devre dışı bırakılıp devre dışı bırakılamadığını belirler. |
COleControl::OnAmbientPropertyChange | Ortam özelliği değiştirildiğinde çağrılır. |
COleControl::OnAppearanceChanged | Hisse senedi Görünümü özelliği değiştirildiğinde çağrılır. |
COleControl::OnBackColorChanged | Stok BackColor özelliği değiştirildiğinde çağrılır. |
COleControl::OnBorderStyleChanged | Stock BorderStyle özelliği değiştirildiğinde çağrılır. |
COleControl::OnClick | Stok Click olayını tetiklemek için çağrıldı. |
COleControl::OnClose | Çağrılan denetimi bildirir IOleControl::Close . |
COleControl::OnDoVerb | Bir denetim fiili yürütüldükten sonra çağrılır. |
COleControl::OnDraw | Bir denetimin kendisini yeniden çizmesi istendiğinde çağrılır. |
COleControl::OnDrawMetafile | Bir denetimin meta dosyası cihaz bağlamını kullanarak kendisini yeniden çizmesi istendiğinde kapsayıcı tarafından çağrılır. |
COleControl::OnEdit | Ui Ole denetimini etkinleştirmek için kapsayıcı tarafından çağrılır. |
COleControl::OnEnabledChanged | Hisse senedi Etkin özelliği değiştirildiğinde çağrılır. |
COleControl::OnEnumVerbs | Bir denetimin fiillerini listelemek için kapsayıcı tarafından çağrılır. |
COleControl::OnEventAdvise | Olay işleyicileri bir denetime bağlandığında veya bağlantısı kesildiğinde çağrılır. |
COleControl::OnFontChanged | Hisse senedi Yazı Tipi özelliği değiştirildiğinde çağrılır. |
COleControl::OnForeColorChanged | Stok ForeColor özelliği değiştirildiğinde çağrılır. |
COleControl::OnFreezeEvents | Denetimin olayları dondurulduğunda veya dondurulmadığında çağrılır. |
COleControl::OnGetColorSet | Çağrılan denetimi bildirir IOleObject::GetColorSet . |
COleControl::OnGetControlInfo | Kapsayıcıya anımsatıcı bilgiler sağlar. |
COleControl::OnGetDisplayString | Bir özellik değerini temsil eden bir dize almak için çağrılır. |
COleControl::OnGetInPlaceMenu | Kapsayıcı menüsüyle birleştirilecek denetimin menüsünün tutamacını istemektedir. |
COleControl::OnGetNaturalExtent | Denetimin önerilen boyuta en yakın görüntü boyutunu almak için geçersiz kılın ve örneğin çadır modu. |
COleControl::OnGetPredefinedStrings | Bir özellik için olası değerleri temsil eden dizeleri döndürür. |
COleControl::OnGetPredefinedValue | Önceden tanımlanmış bir dizeye karşılık gelen değeri döndürür. |
COleControl::OnGetViewExtent | Denetimin görüntüleme alanlarının boyutunu almak için geçersiz kılın (iki geçişli çizimi etkinleştirmek için kullanılabilir). |
COleControl::OnGetViewRect | Denetimin boyutunu belirli bir konumdan başlayarak dikdörtgene dönüştürmek için geçersiz kılın. |
COleControl::OnGetViewStatus | Denetimin görünüm durumunu almak için geçersiz kılın. |
COleControl::OnHideToolBars | Denetim kullanıcı arabirimi devre dışı bırakıldığında kapsayıcı tarafından çağrılır. |
COleControl::OnInactiveMouseMove | Fare işaretçisinin altındaki etkin olmayan denetim kapsayıcısının denetime ileti WM_MOUSEMOVE göndermesini sağlamak için geçersiz kılın. |
COleControl::OnInactiveSetCursor | Fare işaretçisinin altındaki etkin olmayan denetim kapsayıcısının denetime ileti WM_SETCURSOR göndermesini sağlamak için geçersiz kılın. |
COleControl::OnKeyDownEvent | Hisse senedi KeyDown olayı tetiklendikten sonra çağrılır. |
COleControl::OnKeyPressEvent | Stok KeyPress olayı tetiklendikten sonra çağrılır. |
COleControl::OnKeyUpEvent | Stok KeyUp olayı tetiklendikten sonra çağrılır. |
COleControl::OnMapPropertyToPage | Bir özelliği düzenlemek için hangi özellik sayfasının kullanılacağını gösterir. |
COleControl::OnMnemonic | Denetimin bir anımsatıcı tuşuna basıldığında çağrılır. |
COleControl::OnProperties | Denetimin "Özellikler" fiili çağrıldığında çağrılır. |
COleControl::OnQueryHitPoint | Denetimin görüntüsünün belirli bir noktayla çakışıp çakışmadığını sorgulamak için geçersiz kılın. |
COleControl::OnQueryHitRect | Denetimin görüntüsünün belirli bir dikdörtgendeki herhangi bir noktayla çakışıp çakışmadığını sorgulamak için geçersiz kılın. |
COleControl::OnRenderData | Belirtilen biçimdeki verileri almak için çerçeve tarafından çağrılır. |
COleControl::OnRenderFileData | Belirtilen biçimdeki bir dosyadan veri almak için çerçeve tarafından çağrılır. |
COleControl::OnRenderGlobalData | Genel bellekten belirtilen biçimde veri almak için çerçeve tarafından çağrılır. |
COleControl::OnResetState | Denetimin özelliklerini varsayılan değerlere sıfırlar. |
COleControl::OnSetClientSite | Çağrılan denetimi bildirir IOleControl::SetClientSite . |
COleControl::OnSetData | Denetimin verilerini başka bir değerle değiştirir. |
COleControl::OnSetExtent | Denetimin kapsamı değiştikten sonra çağrılır. |
COleControl::OnSetObjectRects | Denetimin boyutları değiştirildikten sonra çağrılır. |
COleControl::OnShowToolBars | Denetim kullanıcı arabirimi etkinleştirildiğinde çağrılır. |
COleControl::OnTextChanged | Hisse senedi Metin veya Resim Yazısı özelliği değiştirildiğinde çağrılır. |
COleControl::OnWindowlessMessage | Penceresiz denetimler için pencere iletilerini (fare ve klavye iletileri dışında) işler. |
COleControl::P arentToClient | Kapsayıcının kaynağına göre bir noktayı denetimin kaynağına göre bir noktaya çevirir. |
COleControl::P ostModalDialog | Kapsayıcıya kalıcı bir iletişim kutusunun kapatıldığını bildirir. |
COleControl::P reModalDialog | Kapsayıcıya kalıcı bir iletişim kutusunun görüntülenmek üzere olduğunu bildirir. |
COleControl::RecreateControlWindow | Denetimin penceresini yok eder ve yeniden oluşturur. |
COleControl::Refresh | Denetimin görünümünü yeniden boyamaya zorlar. |
COleControl::ReleaseCapture | Fare yakalamayı serbest bırakır. |
COleControl::ReleaseDC | Penceresiz denetim kapsayıcısının görüntü cihazı bağlamını serbest bırakır. |
COleControl::ReparentControlWindow | Denetim penceresinin üst öğesini sıfırlar. |
COleControl::ResetStockProps | COleControl Hisse senedi özelliklerini varsayılan değerlerine başlatır. |
COleControl::ResetVersion | Sürüm numarasını belirli bir değere başlatır. |
COleControl::ScrollWindow | Penceresiz bir denetimin ekrandaki yerinde etkin görüntüsündeki bir alanı kaydırmasına izin verir. |
COleControl::SelectFontObject | Cihaz bağlamında özel bir Font özelliği seçer. |
COleControl::SelectStockFont | Stok Font özelliğini bir cihaz bağlamında seçer. |
COleControl::SerializeExtent | Denetim için görüntüleme alanını serileştirir veya başlatır. |
COleControl::SerializeStockProps | Hisse senedi özelliklerini serileştirir veya başlatır COleControl . |
COleControl::SerializeVersion | Denetimin sürüm bilgilerini serileştirir veya başlatır. |
COleControl::SetAppearance | Hisse senedi Görünümü özelliğinin değerini ayarlar. |
COleControl::SetBackColor | Stok BackColor özelliğinin değerini ayarlar. |
COleControl::SetBorderStyle | Stock BorderStyle özelliğinin değerini ayarlar. |
COleControl::SetCapture | Denetimin kapsayıcı penceresinin denetimin adına fare yakalamayı ele geçirmesine neden olur. |
COleControl::SetControlSize | OLE denetiminin konumunu ve boyutunu ayarlar. |
COleControl::SetEnabled | Hisse senedi Etkin özelliğinin değerini ayarlar. |
COleControl::SetFocus | Denetimin kapsayıcı penceresinin denetimin adına giriş odağını ele geçirmesine neden olur. |
COleControl::SetFont | Stok Font özelliğinin değerini ayarlar. |
COleControl::SetForeColor | Stok ForeColor özelliğinin değerini ayarlar. |
COleControl::SetInitialSize | Bir kapsayıcıda ilk kez görüntülendiğinde OLE denetiminin boyutunu ayarlar. |
COleControl::SetModifiedFlag | Denetimin değiştirilmiş durumunu değiştirir. |
COleControl::SetNotPermitted | Düzenleme isteğinin başarısız olduğunu gösterir. |
COleControl::SetNotSupported | Denetimin özellik değerinde kullanıcı tarafından değişiklik yapılmasını engeller. |
COleControl::SetRectInContainer | Denetimin dikdörtgenini kapsayıcısına göre ayarlar. |
COleControl::SetText | Hisse senedi Metin veya Resim Yazısı özelliğinin değerini ayarlar. |
COleControl::ThrowError | OLE denetiminde hata oluştuğuna dair sinyaller. |
COleControl::TransformCoords | Bir kapsayıcı ile denetim arasındaki koordinat değerlerini dönüştürür. |
COleControl::TranslateColor | bir OLE_COLOR değerini COLORREF değerine dönüştürür. |
COleControl::WillAmbientsBeValidDuringLoad | Denetimin bir sonraki yüklendiğinde ortam özelliklerinin kullanılabilir olup olmayacağını belirler. |
COleControl::WindowProc | Bir nesne için COleControl bir Windows yordamı sağlar. |
Korumalı Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
COleControl::D rawContent | Denetimin görünümünün güncelleştirilmesi gerektiğinde çerçeve tarafından çağrılır. |
COleControl::D rawMetafile | Meta dosyası cihaz bağlamı kullanılırken çerçeve tarafından çağrılır. |
COleControl::IsInvokeAllowed | Otomasyon yöntemi çağırmayı etkinleştirir. |
COleControl::SetInitialDataFormats | Denetim tarafından desteklenen veri biçimleri listesini başlatmak için çerçeve tarafından çağrılır. |
Açıklamalar
öğesinden CWnd
türetilen bu sınıf, bir Windows pencere nesnesinin tüm işlevlerinin yanı sıra OLE'ye özgü olay tetikleme ve yöntemleri ve özellikleri destekleme gibi ek işlevleri devralır.
OLE denetimleri OLE kapsayıcı uygulamalarına eklenebilir ve kapsayıcıya olay tetikleme ve yöntemleri ve özelliklerin iki yönlü bir sistemi kullanılarak kapsayıcıyla iletişim kurabilir. Standart OLE kapsayıcılarının yalnızca ole denetiminin temel işlevlerini desteklediğini unutmayın. Bir OLE denetiminin genişletilmiş özelliklerini destekleyemezler. Olay tetikleme, denetimde gerçekleşen belirli eylemlerin bir sonucu olarak olaylar kapsayıcıya gönderildiğinde gerçekleşir. Buna karşılık kapsayıcı, C++ sınıfının üye işlevlerine ve veri üyelerine benzer bir dizi yöntem ve özellik kullanarak denetimle iletişim kurar. Bu yaklaşım, geliştiricinin denetimin görünümünü denetlemesini ve belirli eylemler gerçekleştiğinde kapsayıcıyı bilgilendirmesini sağlar.
Penceresiz Denetimler
OLE denetimleri, pencere olmadan yerinde etkin olarak kullanılabilir. Penceresiz denetimlerin önemli avantajları vardır:
Penceresiz denetimler saydam ve dikdörtgen olmayan olabilir
Penceresiz denetimler nesnenin örnek boyutunu ve oluşturma süresini küçültür
Denetimlerin pencereye ihtiyacı yoktur. Bir pencerenin sunduğu hizmetler tek bir paylaşılan pencere (genellikle kapsayıcının) ve bir miktar gönderme kodu aracılığıyla kolayca sağlanabilir. Pencere olması çoğunlukla nesne üzerinde gereksiz bir komplikasyondur.
Penceresiz etkinleştirme kullanıldığında kapsayıcı (penceresi olan) denetimin kendi penceresi tarafından aksi takdirde sağlanmış olabilecek hizmetleri sağlamakla sorumludur. Örneğin, denetiminizin klavye odağını sorgulaması, fare yakalamasını sorgulaması veya cihaz bağlamını alması gerekiyorsa, bu işlemler kapsayıcı tarafından yönetilir. COleControl
Penceresiz işlem üye işlevleri kapsayıcıda bu işlemleri çağırır.
Penceresiz etkinleştirme etkinleştirildiğinde kapsayıcı, girdi iletilerini denetimin IOleInPlaceObjectWindowless
arabirimine (penceresiz destek için IOleInPlaceObject uzantısı) devreder. COleControl
'nin bu arabirimi uygulaması, fare koordinatlarını uygun şekilde ayarladıktan sonra bu iletileri denetiminizin ileti haritası aracılığıyla dağıtacaktır. Bu iletileri normal pencere iletileri gibi, ilgili girişleri ileti eşlemesine ekleyerek işleyebilirsiniz.
Penceresiz bir denetimde, her zaman ilgili CWnd
üye işlevleri veya ilgili Windows API işlevleri yerine üye işlevlerini kullanmanız COleControl
gerekir.
OLE denetimi nesneleri de yalnızca etkin olduklarında bir pencere oluşturabilir, ancak etkin olmayan-etkin olmayan geçiş için gereken çalışma miktarı artırılıp geçişin hızı düşer. Bunun bir sorun olduğu durumlar vardır: örnek olarak, metin kutularının kılavuzlarını göz önünde bulundurun. Sütun boyunca yukarı ve aşağı imleç oluştururken her denetimin yerinde etkinleştirilmesi ve ardından devre dışı bırakılması gerekir. Etkin olmayan/etkin geçişin hızı kaydırma hızını doğrudan etkiler.
OLE denetim çerçevesi geliştirme hakkında daha fazla bilgi için MFC ActiveX Denetimleri ve Genel Bakış: MFC ActiveX Denetim Programı Oluşturma makalelerine bakın. Penceresiz ve titreşimsiz denetimler de dahil olmak üzere OLE denetimlerini iyileştirme hakkında bilgi için bkz . MFC ActiveX Denetimleri: İyileştirme.
Devralma Hiyerarşisi
COleControl
Gereksinimler
Üst bilgi: afxctl.h
COleControl::AmbientBackColor
Ortam BackColor özelliğinin değerini döndürür.
OLE_COLOR AmbientBackColor();
Dönüş Değeri
Varsa kapsayıcının ortam BackColor özelliğinin geçerli değeri. Özelliği desteklenmiyorsa, bu işlev sistem tanımlı Windows arka plan rengini döndürür.
Açıklamalar
Ortam BackColor özelliği tüm denetimlerde kullanılabilir ve kapsayıcı tarafından tanımlanır. Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientDisplayName
Kapsayıcının denetime atadığı ad, kullanıcıya görüntülenen hata iletilerinde kullanılabilir.
CString AmbientDisplayName();
Dönüş Değeri
OLE denetiminin adı. Varsayılan değer sıfır uzunluklu bir dizedir.
Açıklamalar
Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientFont
Ortam Yazı Tipi özelliğinin değerini döndürür.
LPFONTDISP AmbientFont();
Dönüş Değeri
Kapsayıcının ortam Yazı Tipi dağıtım arabirimine bir işaretçi. Varsayılan değer NULL'dir. Dönüş NULL'a eşit değilse, IUnknown::Release üye işlevini çağırarak yazı tipini serbest bırakmak sizin sorumluluğundadır.
Açıklamalar
ambient Font özelliği kapsayıcı tarafından tanımlanır ve tüm denetimler tarafından kullanılabilir. Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientForeColor
Ortam ForeColor özelliğinin değerini döndürür.
OLE_COLOR AmbientForeColor();
Dönüş Değeri
Varsa kapsayıcının ortam ForeColor özelliğinin geçerli değeri. Desteklenmiyorsa, bu işlev sistem tanımlı Windows metin rengini döndürür.
Açıklamalar
Ambient ForeColor özelliği tüm denetimlerde kullanılabilir ve kapsayıcı tarafından tanımlanır. Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientLocaleID
Kapsayıcının yerel ayar kimliğini döndürür.
LCID AmbientLocaleID();
Dönüş Değeri
Varsa kapsayıcının LocaleID özelliğinin değeri. Bu özellik desteklenmiyorsa, bu işlev 0 döndürür.
Açıklamalar
Denetim, kullanıcı arabirimini belirli yerel ayarlara uyarlamak için LocaleID kullanabilir. Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientAppearance
Denetim nesnesi için geçerli görünüm ayarını alır.
short AmbientAppearance();
Dönüş Değeri
Denetimin görünümü:
0 Düz görünüm
1 3B görünüm
Açıklamalar
Denetimin DISPID_AMBIENT_APPEARANCE özelliğinin geçerli değerini almak için bu işlevi çağırın.
COleControl::AmbientScaleUnits
Kapsayıcı tarafından kullanılan birim türünü döndürür.
CString AmbientScaleUnits();
Dönüş Değeri
Kapsayıcının ortam ScaleUnits'ini içeren bir dize. Bu özellik desteklenmiyorsa, bu işlev sıfır uzunlukta bir dize döndürür.
Açıklamalar
Kapsayıcının ortam ScaleUnits özelliği, seçilen birimle etiketlenmiş konumları veya boyutları (örneğin, twips veya santimetre) görüntülemek için kullanılabilir. Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientShowGrabHandles
Kapsayıcının etkin olduğunda denetimin tutma tutamaçlarını görüntülemesine izin verip vermediğini belirler.
BOOL AmbientShowGrabHandles();
Dönüş Değeri
Tutma tutamaçlarının görüntülenmesi gerekiyorsa sıfır olmayan; aksi takdirde 0. Bu özellik desteklenmiyorsa, bu işlev sıfır dışı döndürür.
Açıklamalar
Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientShowHatching
Kapsayıcının, kullanıcı arabirimi etkinken denetimin kendisini taranmış bir desenle görüntülemesine izin verip vermediğini belirler.
BOOL AmbientShowHatching();
Dönüş Değeri
Taranmış desenin gösterilmesi gerekiyorsa sıfır olmayan; aksi takdirde 0. Bu özellik desteklenmiyorsa, bu işlev sıfır dışı döndürür.
Açıklamalar
Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientTextAlign
Denetim kapsayıcısı tarafından tercih edilen ortam metni hizalamasını belirler.
short AmbientTextAlign();
Dönüş Değeri
Kapsayıcının ortam TextAlign özelliğinin durumu. Bu özellik desteklenmiyorsa, bu işlev 0 döndürür.
Geçerli dönüş değerlerinin listesi aşağıdadır:
Dönüş değeri | Anlamı |
---|---|
0 | Genel hizalama (sağda sayılar, solda metin). |
1 | Sola yasla |
2 | Orta |
3 | Sağa yasla |
Açıklamalar
Bu özellik tüm eklenmiş denetimler için kullanılabilir ve kapsayıcı tarafından tanımlanır. Kapsayıcının bu özelliği desteklemek için gerekli olmadığını unutmayın.
COleControl::AmbientUIDead
Kapsayıcının denetimin kullanıcı arabirimi eylemlerine yanıt vermesini isteyip istemediğini belirler.
BOOL AmbientUIDead();
Dönüş Değeri
Denetimin kullanıcı arabirimi eylemlerine yanıt vermesi gerekiyorsa sıfır olmayan; aksi takdirde 0. Bu özellik desteklenmiyorsa, bu işlev 0 döndürür.
Açıklamalar
Örneğin, bir kapsayıcı bunu tasarım modunda TRUE olarak ayarlayabilir.
COleControl::AmbientUserMode
Kapsayıcının tasarım modunda mı yoksa kullanıcı modunda mı olduğunu belirler.
BOOL AmbientUserMode();
Dönüş Değeri
Kapsayıcı kullanıcı modundaysa sıfır olmayan; aksi takdirde 0 (tasarım modunda). Bu özellik desteklenmiyorsa, bu işlev TRUE döndürür.
Açıklamalar
Örneğin, bir kapsayıcı bunu tasarım modunda YANLIŞ olarak ayarlayabilir.
COleControl::BoundPropertyChanged
İlişkili özellik değerinin değiştiğine işaret eder.
void BoundPropertyChanged(DISPID dispid);
Parametreler
dispid
Denetimin bağlı özelliğinin dağıtım kimliği.
Açıklamalar
Bu, özelliğin değeri her değiştiğinde, değişikliğin Set yöntemi aracılığıyla yapılmadığı durumlarda bile çağrılmalıdır. Üye değişkenlerine eşlenen bağlı özelliklere özellikle dikkat edin. Böyle bir üye değişkeni her değiştiğinde BoundPropertyChanged
çağrılmalıdır.
COleControl::BoundPropertyRequestEdit
Denetim tarafından sağlanan bir ilişkili özellik değerini değiştirmek için arabirimden IPropertyNotifySink
izin alır.
BOOL BoundPropertyRequestEdit(DISPID dispid);
Parametreler
dispid
Denetimin bağlı özelliğinin dağıtım kimliği.
Dönüş Değeri
Değişikliğe izin verilirse sıfır olmayan; aksi takdirde 0. Varsayılan değer sıfır olmayan değerdir.
Açıklamalar
İzin reddedilirse, denetim özelliğin değerinin değişmesine izin vermemelidir. Bu, özellik değerini değiştirme girişiminde bulunan eylem yoksayılarak veya başarısız olarak yapılabilir.
COleControl::ClientToParent
pPoint koordinatlarını üst koordinatlara çevirir.
virtual void ClientToParent(
LPCRECT lprcBounds,
LPPOINT pPoint) const;
Parametreler
lprcBounds
Kapsayıcı içindeki OLE denetiminin sınırlarına yönelik işaretçi. İstemci alanı değil, kenarlıklar ve kaydırma çubukları da dahil olmak üzere denetimin tamamının alanı.
pPoint
Üst (kapsayıcı) koordinatlarına çevrilecek OLE istemci alanı noktasının işaretçisi.
Açıklamalar
Girişte pPoint , OLE denetiminin istemci alanının başlangıcına bağlıdır (denetimin istemci alanının sol üst köşesinde). Çıkışta pPoint , üst öğe (kapsayıcının sol üst köşesi) kaynağına göre değişir.
COleControl::ClipCaretRect
Tamamen veya kısmen örtüşen, opak nesnelerle kaplanmış bir şapka işareti dikdörtgenini ayarlar.
BOOL ClipCaretRect(LPRECT lpRect);
Parametreler
lpRect
Girişte, ayarlanacak şapka işareti alanını içeren bir RECT yapısının işaretçisi. Çıkışta, düzeltilmiş şapka işareti alanı veya şapka işareti dikdörtgeni tamamen kaplanmışsa NULL.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Şapka işareti, genellikle metnin veya grafiklerin nereye eklendiğini gösteren yanıp sönen bir çizgi, blok veya bit eşlemdir.
Penceresiz bir nesne, çakışan nesneler tarafından şapka işaretinin kısmen mi yoksa tamamen mi gizlendiğini denetlemeden bir şapka işaretini güvenli bir şekilde gösteremez. Bunu mümkün kılmak için, bir nesne kırpma bölgesine sığdığından emin olmak için şapka işaretini ayarlamak (azaltılmış) için kullanabilir ClipCaretRect
.
Şapka işareti oluşturan nesneler şapka işareti dikdörtgenini adresine ClipCaretRect
göndermeli ve şapka işareti için ayarlanmış dikdörtgeni kullanmalıdır. Şapka işareti tamamen gizliyse, bu yöntem FALSE döndürür ve bu durumda şapka işareti hiç gösterilmemelidir.
COleControl::COleControl
Bir COleControl
nesne oluşturur.
COleControl();
Açıklamalar
Bu işlev normalde doğrudan çağrılmaz. Bunun yerine OLE denetimi genellikle sınıf fabrikası tarafından oluşturulur.
COleControl::ControlInfoChanged
Denetim tarafından desteklenen anımsatıcı kümesi değiştiğinde bu işlevi çağırın.
void ControlInfoChanged();
Açıklamalar
Bu bildirimi aldıktan sonra, denetimin kapsayıcısı IOleControl::GetControlInfo çağrısı yaparak yeni bir anımsatıcı kümesi alır. Bu bildirime yanıt vermek için kapsayıcının gerekli olmadığını unutmayın.
COleControl::D isplayError
Hisse senedi Hatası olayı işlendikten sonra çerçeve tarafından çağrılır (olay işleyicisi hatanın görüntülenmesini engellemediği sürece).
virtual void DisplayError(
SCODE scode,
LPCTSTR lpszDescription,
LPCTSTR lpszSource,
LPCTSTR lpszHelpFile,
UINT nHelpID);
Parametreler
scode
Bildirilecek durum kodu değeri. Olası kodların tam listesi için ActiveX Denetimleri: Gelişmiş Konular makalesine bakın.
lpszDescription
Bildirilen hatanın açıklaması.
lpszSource
Hatayı oluşturan modülün adı (genellikle OLE denetim modülünün adı).
lpszHelpFile
Hatanın açıklamasını içeren yardım dosyasının adı.
nHelpID
Bildirilen hatanın Yardım Bağlam Kimliği.
Açıklamalar
Varsayılan davranış, lpszDescription içinde bulunan hatanın açıklamasını içeren bir ileti kutusu görüntüler.
Hataların görüntülenme biçimini özelleştirmek için bu işlevi geçersiz kılın.
COleControl::D oClick
Denetimde fare tıklama eyleminin benzetimini oluşturur.
void DoClick();
Açıklamalar
Geçersiz kılınabilir COleControl::OnClick
üye işlevi çağrılır ve denetim tarafından destekleniyorsa bir stok Tıklama olayı tetiklenir.
Bu işlev, temel sınıf tarafından COleControl
DoClick adlı bir hisse senedi yöntemi olarak desteklenir. Daha fazla bilgi için ActiveX Denetimleri: Yöntemler makalesine bakın.
COleControl::D oPropExchange
Akış veya özellik kümesi gibi kalıcı bir depolama gösteriminden denetim yüklerken veya depolarken çerçeve tarafından çağrılır.
virtual void DoPropExchange(CPropExchange* pPX);
Parametreler
pPX
Nesne işaretçisi CPropExchange
. Çerçeve, yönü de dahil olmak üzere özellik değişimi bağlamını oluşturmak için bu nesneyi sağlar.
Açıklamalar
Bu işlev normalde bir OLE denetiminin kullanıcı tanımlı özelliklerini yüklemek veya depolamak için PX_ işlev ailesine çağrı yapar.
OLE denetim projesini oluşturmak için Denetim Sihirbazı kullanıldıysa, bu işlevin geçersiz kılınan sürümü tarafından COleControl
desteklenen hisse senedi özelliklerini temel sınıf işlevine COleControl::DoPropExchange
yapılan bir çağrıyla serileştirir. OLE denetiminize kullanıcı tanımlı özellikler eklerken, yeni özelliklerinizi seri hale getirmek için bu işlevi değiştirmeniz gerekir. Serileştirme hakkında daha fazla bilgi için ActiveX Denetimleri: Serileştirme makalesine bakın.
COleControl::D oSuperclassPaint
Windows denetiminden alt sınıflanmış bir OLE denetimini yeniden çizer.
void DoSuperclassPaint(
CDC* pDC,
const CRect& rcBounds);
Parametreler
pDC
Denetim kapsayıcısının cihaz bağlamını işaret eden bir işaretçi.
rcBounds
Denetimin çekileceği alan.
Açıklamalar
Etkin olmayan bir OLE denetiminin tablosunu düzgün bir şekilde işlemek için bu işlevi çağırın. Bu işlev yalnızca OLE denetimi bir Windows denetimini alt sınıflarsa kullanılmalıdır ve denetiminizin işlevinde OnDraw
çağrılmalıdır.
Bu işlev ve bir Windows denetimini alt sınıflama hakkında daha fazla bilgi için ActiveX Denetimleri: Windows Denetimini Alt Sınıflama makalesine bakın.
COleControl::D rawContent
Denetimin görünümünün güncelleştirilmesi gerektiğinde çerçeve tarafından çağrılır.
void DrawContent(
CDC* pDC,
CRect& rc);
Parametreler
pDC
Cihaz bağlamı işaretçisi.
Rc
Çekilecek dikdörtgen alan.
Açıklamalar
Bu işlev, geçersiz kılınabilir OnDraw
işlevi doğrudan çağırır.
COleControl::D rawMetafile
Meta dosyası cihaz bağlamı kullanılırken çerçeve tarafından çağrılır.
void DrawMetafile(
CDC* pDC,
CRect& rc);
Parametreler
pDC
Meta dosyası cihaz bağlamı işaretçisi.
Rc
Çekilecek dikdörtgen alan.
COleControl::EnableSimpleFrame
OLE denetimi için basit çerçeve özelliğini etkinleştirir.
void EnableSimpleFrame();
Açıklamalar
Bu özellik, denetimin diğer denetimlerin görsel kapsamasını desteklemesine izin verir, ancak doğru OLE kapsamasını desteklemez. Örnek olarak, içinde birkaç denetim bulunan bir grup kutusu yer alır. Bu denetimler OLE içermez, ancak aynı grup kutusundadır.
COleControl::ExchangeExtent
Denetimin kapsamının durumunu (HIMETRIC birimlerindeki boyutları) serileştirir veya başlatır.
BOOL ExchangeExtent(CPropExchange* pPX);
Parametreler
pPX
CPropExchange nesnesinin işaretçisi. Çerçeve, yönü de dahil olmak üzere özellik değişimi bağlamını oluşturmak için bu nesneyi sağlar.
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; 0 aksi takdirde.
Açıklamalar
Bu işlev normalde varsayılan uygulaması tarafından çağrılır COleControl::DoPropExchange
.
COleControl::ExchangeStockProps
Denetimin hisse senedi özelliklerinin durumunu serileştirir veya başlatır.
void ExchangeStockProps(CPropExchange* pPX);
Parametreler
pPX
CPropExchange nesnesinin işaretçisi. Çerçeve, yönü de dahil olmak üzere özellik değişimi bağlamını oluşturmak için bu nesneyi sağlar.
Açıklamalar
Bu işlev normalde varsayılan uygulaması tarafından çağrılır COleControl::DoPropExchange
.
COleControl::ExchangeVersion
Denetimin sürüm bilgilerinin durumunu serileştirir veya başlatır.
BOOL ExchangeVersion(
CPropExchange* pPX,
DWORD dwVersionDefault,
BOOL bConvert = TRUE);
Parametreler
pPX
Nesne işaretçisi CPropExchange
. Çerçeve, yönü de dahil olmak üzere özellik değişimi bağlamını oluşturmak için bu nesneyi sağlar.
dwVersionDefault
Denetimin geçerli sürüm numarası.
bConvert
Kalıcı verilerin kaydedildiğinde en son biçime dönüştürülüp dönüştürülmeyeceğini veya yüklenen aynı biçimde tutulması gerektiğini gösterir.
Dönüş Değeri
İşlevin sıfır dışı başarılı oldu; 0 aksi takdirde.
Açıklamalar
Genellikle bu, denetimin geçersiz kılması COleControl::DoPropExchange
tarafından çağrılan ilk işlev olacaktır. Bu işlev yüklenirken kalıcı verilerin sürüm numarasını okur ve CPropExchange nesnesinin sürüm özniteliğini buna göre ayarlar. Kaydederken, bu işlev kalıcı verilerin sürüm numarasını yazar.
Kalıcılık ve sürüm oluşturma hakkında daha fazla bilgi için ActiveX Denetimleri: Serileştirme makalesine bakın.
COleControl::FireClick
Fare etkin bir denetimin üzerine tıklandığında çerçeve tarafından çağrılır.
void FireClick();
Açıklamalar
Bu olay özel bir olay olarak tanımlanırsa, olayın ne zaman tetikleneceğini belirlersiniz.
Click olayının otomatik olarak tetiklenmek için denetimin Olay haritasında tanımlanmış bir stok Tıklama olayı olmalıdır.
COleControl::FireDblClick
Fare etkin bir denetimin üzerine çift tıklandığında çerçeve tarafından çağrılır.
void FireDblClick();
Açıklamalar
Bu olay özel bir olay olarak tanımlanırsa, olayın ne zaman tetikleneceğini belirlersiniz.
Bir DblClick olayının otomatik olarak tetiklenmek için, denetimin Olay haritasında tanımlanmış bir DblClick olayı olmalıdır.
COleControl::FireError
Hisse senedi Hata olayını başlatır.
void FireError(
SCODE scode,
LPCTSTR lpszDescription,
UINT nHelpID = 0);
Parametreler
scode
Bildirilecek durum kodu değeri. Olası kodların tam listesi için ActiveX Denetimleri: Gelişmiş Konular makalesine bakın.
lpszDescription
Bildirilen hatanın açıklaması.
nHelpID
Bildirilen hatanın Yardım Kimliği.
Açıklamalar
Bu olay, kodunuzun uygun yerlerinde denetiminizde bir hata oluştuğuna dair sinyal vermenin bir yolunu sağlar. Click veya MouseMove gibi diğer stok olaylarının aksine, Çerçeve tarafından hiçbir zaman Hata tetiklenmez.
Bir özellik alma işlevi, özellik kümesi işlevi veya otomasyon yöntemi sırasında oluşan bir hatayı bildirmek için COleControl::ThrowError çağrısında bulunur.
OLE denetiminin Hisse Senedi Hatası olayının uygulanması bir SCODE değeri kullanır. Denetiminiz bu olayı kullanıyorsa ve Visual Basic 4.0'da kullanılması amaçlanıyorsa, SCODE değeri Visual Basic'te desteklenmediğinden hata alırsınız.
Bunu düzeltmek için, denetimin içindeki SCODE parametresini el ile değiştirin. ODL dosyası olarak.long
Buna ek olarak, SCODE parametresi kullanan herhangi bir özel olay, yöntem veya özellik de aynı soruna neden olur.
COleControl::FireEvent
İstediğiniz sayıda isteğe bağlı bağımsız değişkenle denetiminizden kullanıcı tanımlı bir olay başlatır.
void AFX_CDECL FireEvent(
DISPID dispid,
BYTE* pbParams,
...);
Parametreler
dispid
Tetiklenecek olayın dağıtım kimliği.
pbParams
Olayın parametre türleri için bir tanımlayıcı.
Açıklamalar
Genellikle bu işlev doğrudan çağrılmamalıdır. Bunun yerine, denetiminizin sınıf bildiriminin olay eşlemesi bölümünde olay tetikleme işlevlerini çağıracaksınız.
pbParams bağımsız değişkeni, boşlukla ayrılmış bir VTS_ listesidir. Bu değerlerden biri veya daha fazlası boşluklarla (virgülle değil) ayrılmış olarak işlevin parametre listesini belirtir. Olası değerler aşağıdaki gibidir:
Simge | Parametre türü |
---|---|
VTS_COLOR | OLE_COLOR |
VTS_FONT | IFontDisp* |
VTS_HANDLE | HWND |
VTS_PICTURE | IPictureDisp* |
VTS_OPTEXCLUSIVE | OLE_OPTEXCLUSIVE* |
VTS_TRISTATE | OLE_TRISTATE |
VTS_XPOS_HIMETRIC | OLE_XPOS_HIMETRIC |
VTS_YPOS_HIMETRIC | OLE_YPOS_HIMETRIC |
VTS_XPOS_PIXELS | OLE_XPOS_PIXELS |
VTS_YPOS_PIXELS | OLE_YPOS_PIXELS |
VTS_XSIZE_PIXELS | OLE_XSIZE_PIXELS |
VTS_YSIZE_PIXELS | OLE_XSIZE_PIXELS |
VTS_XSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
VTS_YSIZE_HIMETRIC | OLE_XSIZE_HIMETRIC |
Not
Değişken veri sabitine bir işaretçi sağlayan VTS_FONT ve VTS_PICTURE dışında tüm değişken türleri için ek değişken sabitleri tanımlanmıştır. Bu sabitler VTS_P<CONSTANT-NAME> kuralı kullanılarak adlandırılır. Örneğin, VTS_PCOLOR bir VTS_COLOR sabiti işaretçisidir.
COleControl::FireKeyDown
Denetim kullanıcı arabirimi etkinken bir tuşa basıldığında çerçeve tarafından çağrılır.
void FireKeyDown(
USHORT* pnChar,
short nShiftState);
Parametreler
pnChar
Basılan tuşun sanal anahtar kodu değerinin işaretçisi. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
nShiftState
Aşağıdaki bayrakların bir bileşimini içerir:
SHIFT_MASK Eylem sırasında SHIFT tuşuna basıldı.
CTRL_MASK Eylem sırasında CTRL tuşuna basıldı.
ALT_MASK Eylem sırasında ALT tuşuna basıldı.
Açıklamalar
Bu olay özel bir olay olarak tanımlanırsa, olayın ne zaman tetikleneceğini belirlersiniz.
Bir KeyDown olayının otomatik olarak tetiklenmek için, denetimin Olay haritasında tanımlanmış bir stok KeyDown olayı olmalıdır.
COleControl::FireKeyPress
Özel denetim kapsayıcı içinde kullanıcı arabirimi etkinken bir tuşa basıldığında ve serbest bırakıldığında çerçeve tarafından çağrılır.
void FireKeyPress(USHORT* pnChar);
Parametreler
pnChar
Basılan tuşun karakter değerinin işaretçisi.
Açıklamalar
Bu olay özel bir olay olarak tanımlanırsa, olayın ne zaman tetikleneceğini belirlersiniz.
Olayın alıcısı pnChar'ı değiştirebilir, örneğin, tüm küçük harfleri büyük harfe dönüştürebilir. Değiştirilen karakteri incelemek istiyorsanız, öğesini geçersiz kılın OnKeyPressEvent
.
Bir KeyPress olayının otomatik olarak tetiklenmek için, denetimin Olay haritasında tanımlanmış bir stok KeyPress olayı olmalıdır.
COleControl::FireKeyUp
Özel denetim kapsayıcı içinde kullanıcı arabirimi etkinken bir anahtar serbest bırakıldığında çerçeve tarafından çağrılır.
void FireKeyUp(
USHORT* pnChar,
short nShiftState);
Parametreler
pnChar
Serbest bırakılan anahtarın sanal anahtar kodu değerinin işaretçisi. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
nShiftState
Aşağıdaki bayrakların bir bileşimini içerir:
SHIFT_MASK Eylem sırasında SHIFT tuşuna basıldı.
CTRL_MASK Eylem sırasında CTRL tuşuna basıldı.
ALT_MASK Eylem sırasında ALT tuşuna basıldı.
Açıklamalar
Bu olay özel bir olay olarak tanımlanırsa, olayın ne zaman tetikleneceğini belirlersiniz.
Bir KeyUp olayının otomatik olarak tetiklenmek için denetimin Olay haritasında tanımlanmış bir stok KeyUp olayı olmalıdır.
COleControl::FireMouseDown
Etkin bir özel denetim üzerinde fare düğmesine basıldığında çerçeve tarafından çağrılır.
void FireMouseDown(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parametreler
nButton
Fare düğmesinin sayısal değeri basıldı. Aşağıdaki değerlerden birini içerebilir:
LEFT_BUTTON Sol fare düğmesine basıldı.
MIDDLE_BUTTON Ortadaki fare düğmesine basıldı.
RIGHT_BUTTON Sağ fare düğmesine basıldı.
nShiftState
Aşağıdaki bayrakların bir bileşimini içerir:
SHIFT_MASK Eylem sırasında SHIFT tuşuna basıldı.
CTRL_MASK Eylem sırasında CTRL tuşuna basıldı.
ALT_MASK Eylem sırasında ALT tuşuna basıldı.
x
Fare düğmesine basıldığında imlecin x koordinatı. Koordinat, denetim penceresinin sol üst köşesine göredir.
y
Fare düğmesine basıldığında imlecin y koordinatı. Koordinat, denetim penceresinin sol üst köşesine göredir.
Açıklamalar
Bu olay özel bir olay olarak tanımlanırsa, olayın ne zaman tetikleneceğini belirlersiniz.
Bir MouseDown olayının otomatik olarak tetiklenmek için denetimin Olay haritasında tanımlanmış bir stok MouseDown olayı olmalıdır.
COleControl::FireMouseMove
İmleç etkin bir özel denetimin üzerine taşındığında çerçeve tarafından çağrılır.
void FireMouseMove(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parametreler
nButton
Basılan fare düğmelerinin sayısal değeri. Aşağıdaki değerlerin bir bileşimini içerir:
LEFT_BUTTON Eylem sırasında sol fare düğmesine basıldı.
MIDDLE_BUTTON Eylem sırasında ortadaki fare düğmesine basıldı.
RIGHT_BUTTON Eylem sırasında sağ fare düğmesine basıldı.
nShiftState
Aşağıdaki bayrakların bir bileşimini içerir:
SHIFT_MASK Eylem sırasında SHIFT tuşuna basıldı.
CTRL_MASK Eylem sırasında CTRL tuşuna basıldı.
ALT_MASK Eylem sırasında ALT tuşuna basıldı.
x
İmlecin x koordinatı. Koordinat, denetim penceresinin sol üst köşesine göredir.
y
İmlecin y koordinatı. Koordinat, denetim penceresinin sol üst köşesine göredir.
Açıklamalar
Bu olay özel bir olay olarak tanımlanırsa, olayın ne zaman tetikleneceğini belirlersiniz.
Bir MouseMove olayının otomatik olarak tetiklenmek için, denetimin Olay haritasında tanımlanmış bir stok MouseMove olayı olmalıdır.
COleControl::FireMouseUp
Etkin bir özel denetim üzerinde fare düğmesi serbest bırakıldığında çerçeve tarafından çağrılır.
void FireMouseUp(
short nButton,
short nShiftState,
OLE_XPOS_PIXELS x,
OLE_YPOS_PIXELS y);
Parametreler
nButton
Serbest bırakılan fare düğmesinin sayısal değeri. Aşağıdaki değerlerden birine sahip olabilir:
LEFT_BUTTON Sol fare düğmesi serbest bırakıldı.
MIDDLE_BUTTON Ortadaki fare düğmesi serbest bırakıldı.
RIGHT_BUTTON Sağ fare düğmesi serbest bırakıldı.
nShiftState
Aşağıdaki bayrakların bir bileşimini içerir:
SHIFT_MASK Eylem sırasında SHIFT tuşuna basıldı.
CTRL_MASK Eylem sırasında CTRL tuşuna basıldı.
ALT_MASK Eylem sırasında ALT tuşuna basıldı.
x
Fare düğmesi serbest bırakıldığında imlecin x koordinatı. Koordinat, denetim penceresinin sol üst köşesine göredir.
y
Fare düğmesi serbest bırakıldığında imlecin y koordinatı. Koordinat, denetim penceresinin sol üst köşesine göredir.
Açıklamalar
Bu olay özel bir olay olarak tanımlanırsa, olayın ne zaman tetikleneceğini belirlersiniz.
Bir MouseUp olayının otomatik olarak tetiklenme işleminin gerçekleşmesi için denetimin Olay eşlemesinde tanımlanmış bir stok MouseUp olayı olmalıdır.
COleControl::FireReadyStateChange
Denetimin hazır durumunun geçerli değeriyle bir olayı tetikler.
void FireReadyStateChange();
Açıklamalar
Hazır durum aşağıdaki değerlerden biri olabilir:
Veri Akışı Adı | Açıklama |
---|---|
READYSTATE_UNINITIALIZED | Varsayılan başlatma durumu |
READYSTATE_LOADING | Denetim şu anda özelliklerini yüklüyor |
READYSTATE_LOADED | Denetim başlatıldı |
READYSTATE_INTERACTIVE | Denetim etkileşimli olmak için yeterli veriye sahip ancak tüm zaman uyumsuz veriler henüz yüklenmemiş |
READYSTATE_COMPLETE | Denetimin tüm verileri var |
Denetimin geçerli hazırlığını belirlemek için GetReadyState kullanın.
InternalSetReadyState , hazır durumu sağlanan değerle değiştirir ve çağırır FireReadyStateChange
.
COleControl::GetActivationPolicy
Arabirimi destekleyen IPointerInactive
bir denetimin varsayılan etkinleştirme davranışını değiştirir.
virtual DWORD GetActivationPolicy();
Dönüş Değeri
POINTERINACTIVE sabit listesindeki bayrakların birleşimi. Olası bayraklar şunlardır:
Veri Akışı Adı | Açıklama |
---|---|
POINTERINACTIVE_ACTIVATEONENTRY | Nesne, fare hareket ettirme işlemi sırasında fare girdiğinde yerinde etkinleştirilmelidir. |
POINTERINACTIVE_DEACTIVATEONLEAVE | Bir fare taşıma işlemi sırasında fare nesneden ayrıldığında nesne devre dışı bırakılmalıdır. |
POINTERINACTIVE_ACTIVATEONDRAG | Sürükleme ve bırakma işlemi sırasında fare üzerine sürüklendiğinde nesne yerinde etkinleştirilmelidir. |
Açıklamalar
IPointerInactive
Arabirim etkinleştirildiğinde kapsayıcı, WM_SETCURSOR temsilci olarak WM_MOUSEMOVE iletileri ona verir. COleControl
'nin bu arabirimi uygulaması, fare koordinatlarını uygun şekilde ayarladıktan sonra bu iletileri denetiminizin ileti haritası aracılığıyla dağıtacaktır.
Kapsayıcı, destekleyen etkin olmayan bir nesnenin IPointerInactive
üzerinde fare işaretçisi ile bir WM_SETCURSOR veya WM_MOUSEMOVE iletisi aldığında, arabirimde çağrı GetActivationPolicy
yapmalı ve POINTERINACTIVE numaralandırmasından bayraklar döndürmelidir.
Bu iletileri normal pencere iletileri gibi, ilgili girişleri ileti eşlemesine ekleyerek işleyebilirsiniz. İşleyicilerinizde, önce değerinin m_hWnd
NULL olmadığını denetlemeden üye değişkenini (veya onu kullanan herhangi bir üye işlevini) kullanmaktan kaçının.
Fare imlecini ayarlamaktan ve/veya özel görsel geri bildirimde bulunmak gibi bir fare taşıma olayını tetiklemeye yönelik tüm nesneler POINTERINACTIVE_ACTIVATEONENTRY bayrağını döndürmeli ve geri bildirimi yalnızca etkin olduğunda çizmelidir. Nesne bu bayrağı döndürürse, kapsayıcı bunu hemen yerinde etkinleştirmeli ve ardından çağrısının GetActivationPolicy
tetiklediği iletiyi iletmelidir.
hem POINTERINACTIVE_ACTIVATEONENTRY hem de POINTERINACTIVE_DEACTIVATEONLEAVE bayrakları döndürülürse, nesne yalnızca fare nesnenin üzerindeyken etkinleştirilir. Yalnızca POINTERINACTIVE_ACTIVATEONENTRY bayrağı döndürülürse, nesne fare nesneye ilk girdiğinde yalnızca bir kez etkinleştirilir.
Etkin olmayan bir denetimin ole sürükleme ve bırakma işleminin hedefi olmasını da isteyebilirsiniz. Bunun için, kullanıcı nesnenin üzerine sürüklediği anda denetimin etkinleştirilmesi gerekir, böylece denetimin penceresi bırakma hedefi olarak kaydedilebilir. Sürükleme sırasında etkinleştirmenin gerçekleşmesine neden olmak için POINTERINACTIVE_ACTIVATEONDRAG bayrağını döndürin:
DWORD CMyAxCtrl::GetActivationPolicy()
{
return POINTERINACTIVE_ACTIVATEONDRAG;
}
ile GetActivationPolicy
iletişim kuran bilgiler bir kapsayıcı tarafından önbelleğe alınmamalıdır. Bunun yerine, fare etkin olmayan bir nesneye her girdiğinde bu yöntem çağrılmalıdır.
Etkin olmayan bir nesne fare girdiğinde yerinde etkinleştirilmeyi istemezse, fare işaretçisi nesnenin üzerinde kaldığı sürece, kapsayıcısı OnInactiveSetCursor'ı çağırarak sonraki WM_SETCURSOR iletilerini bu nesneye göndermelidir.
Arabirimi etkinleştirmek IPointerInactive
genellikle denetimin fare iletilerini her zaman işleyebilmesini istediğiniz anlamına gelir. Bu davranışı arabirimi desteklemeyen IPointerInactive
bir kapsayıcıya almak için, denetiminizin görünür olduğunda her zaman etkinleştirilmesi gerekir; bu da denetimin çeşitli bayrakları arasında OLEMISC_ACTIVATEWHENVISIBLE bayrağına sahip olması gerektiği anlamına gelir. Ancak, bu bayrağın destekleyen IPointerInactive
bir kapsayıcıda etkili olmasını önlemek için OLEMISC_IGNOREACTIVATEWHENVISIBLE bayrağını da belirtebilirsiniz:
static const DWORD BASED_CODE _dwMyOleMisc =
OLEMISC_ACTIVATEWHENVISIBLE |
OLEMISC_IGNOREACTIVATEWHENVISIBLE |
OLEMISC_SETCLIENTSITEFIRST |
OLEMISC_INSIDEOUT |
OLEMISC_CANTLINKINSIDE |
OLEMISC_RECOMPOSEONRESIZE;
COleControl::GetAmbientProperty
Kapsayıcının bir ortam özelliğinin değerini alır.
BOOL GetAmbientProperty(
DISPID dispid,
VARTYPE vtProp,
void* pvProp);
Parametreler
dwDispid
İstenen ortam özelliğinin dağıtım kimliği.
vtProp
pvProp içinde döndürülecek değerin türünü belirten bir değişken türü etiketi.
pvProp
Özellik değerini veya dönüş değerini alacak değişkenin adresine yönelik bir işaretçi. Bu işaretçinin gerçek türü vtProp tarafından belirtilen türle eşleşmelidir.
vtProp | pvProp türü |
---|---|
VT_BOOL | BOOL* |
VT_BSTR | CString* |
VT_I2 | short* |
VT_I4 | long* |
VT_R4 | float* |
VT_R8 | double* |
VT_CY | CY* |
VT_COLOR | OLE_COLOR* |
VT_DISPATCH | LPDISPATCH* |
VT_FONT | LPFONTDISP* |
Dönüş Değeri
Ortam özelliği destekleniyorsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Ortam DisplayName ve ScaleUnits özelliklerini almak için kullanırsanız GetAmbientProperty
vtProp değerini VT_BSTR ve pvProp değerini olarak CString*
ayarlayın. Ortam Yazı Tipi özelliğini almaktaysanız vtProp değerini VT_FONT ve pvProp değerini LPFONTDISP* olarak ayarlayın.
AmbientBackColor ve AmbientFont gibi ortak ortam özellikleri için işlevlerin zaten sağlandığını unutmayın.
COleControl::GetAppearance
Denetiminizin stock Appearance özelliğinin Get işlevini uygular.
short GetAppearance ();
Dönüş Değeri
Dönüş değeri, başarılı olursa geçerli görünüm ayarını (VT_I2) değer olarak short
belirtir. Denetimin görünümü düzse bu değer sıfır, denetimin görünümü 3B ise 1 olur.
COleControl::GetBackColor
Denetiminizin stock BackColor özelliğinin Get işlevini uygular.
OLE_COLOR GetBackColor();
Dönüş Değeri
Dönüş değeri, başarılı olursa geçerli arka plan rengini OLE_COLOR değeri olarak belirtir. Bu değer, çağrısıyla TranslateColor
colorref değerine çevrilebilir.
COleControl::GetBorderStyle
Denetiminizin stock BorderStyle özelliğinin Get işlevini uygular.
short GetBorderStyle();
Dönüş Değeri
Denetimin normal bir kenarlı olması durumunda 1; Denetimin kenarlık yoksa 0.
COleControl::GetCapture
Nesnenin fare yakalamasına COleControl
sahip olup olmadığını belirler.
CWnd* GetCapture();
Dönüş Değeri
Denetim etkin ve penceresizse, denetimin şu anda fare yakalaması varsa (denetimin kapsayıcısı tarafından belirlendiği gibi) veya yakalamaya sahip değilse NULL döndürür this
.
Aksi takdirde, fare yakalaması CWnd
olan nesneyi döndürür (ile aynı).CWnd::GetCapture
Açıklamalar
Etkinleştirilmiş penceresiz denetim, SetCapture çağrıldığında fare yakalamasını alır.
COleControl::GetClassID
Denetimin OLE sınıf kimliğini almak için çerçeve tarafından çağrılır.
virtual HRESULT GetClassID(LPCLSID pclsid) = 0;
Parametreler
pclsid
Sınıf kimliğinin konumuna işaret eden işaretçi.
Dönüş Değeri
Çağrı başarılı olmazsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Genellikle IMPLEMENT_OLECREATE_EX tarafından uygulanır.
COleControl::GetClientOffset
Denetimin dikdörtgen alanının sol üst köşesi ile istemci alanının sol üst köşesi arasındaki farkı alır.
virtual void GetClientOffset(long* pdxOffset, long* pdyOffset) const;
Parametreler
pdxOffset
OLE denetiminin istemci alanının yatay uzaklığının işaretçisi.
pdyOffset
OLE denetiminin istemci alanının dikey uzaklığının işaretçisi.
Açıklamalar
OLE denetiminin kapsayıcısı içinde dikdörtgen bir alanı vardır. Denetimin istemci alanı, kenarlıklar ve kaydırma çubukları hariç denetim alanıdır. tarafından GetClientOffset
alınan uzaklık, denetimin dikdörtgen alanının sol üst köşesi ile istemci alanının sol üst köşesi arasındaki farktır. Denetiminizde standart kenarlıklar ve kaydırma çubukları dışında istemci dışı öğeler varsa, uzaklığı belirtmek için bu üye işlevini geçersiz kılın.
COleControl::GetClientRect
Denetimin istemci alanının boyutunu alır.
virtual void GetClientRect(LPRECT lpRect) const;
Parametreler
lpRect
Penceresiz denetimin istemci alanının boyutlarını içeren bir RECT
yapı işaretçisi; yani denetimin boyutu eksi pencere kenarlıkları, çerçeveler, kaydırma çubukları vb. lpRect parametresi, denetimin konumunu değil istemci dikdörtgeninin boyutunu gösterir.
COleControl::GetClientSite
İşaretçi için bir nesneyi kapsayıcısı içindeki geçerli istemci sitesine sorgular.
LPOLECLIENTSITE GetClientSite();
Dönüş Değeri
Kapsayıcısında denetimin geçerli istemci sitesine yönelik bir işaretçi.
Açıklamalar
Döndürülen işaretçi bir örneğini IOleClientSite
gösterir. Kapsayıcılar IOleClientSite
tarafından uygulanan arabirim, nesnenin bağlamının görünümüdür: belgede sabitlendiği, depolama alanını, kullanıcı arabirimini ve diğer kaynakları aldığı yer.
COleControl::GetControlFlags
Denetim bayrağı ayarlarını alır.
virtual DWORD GetControlFlags();
Dönüş Değeri
ControlFlags numaralandırmasında bayrakların ORed bileşimi:
enum ControlFlags {
fastBeginPaint = 0x0001,
clipPaintDC = 0x0002,
pointerInactive = 0x0004,
noFlickerActivate = 0x0008,
windowlessActivate = 0x0010,
canOptimizeDraw = 0x0020,
};
Açıklamalar
Varsayılan olarak döndürür GetControlFlags
fastBeginPaint | clipPaintDC
.
Veri Akışı Adı | Açıklama |
---|---|
fastBeginPaint |
Ayarlanırsa BeginPaint API'sinin yerine OLE denetimleri için uyarlanmış bir begin-paint işlevi kullanır (varsayılan olarak ayarlanır). |
clipPaintDC |
Ayarlanmadıysa, tarafından COleControl yapılan çağrıyı IntersectClipRect devre dışı bırakır ve küçük bir hız avantajı kazanır. Penceresiz etkinleştirme kullanıyorsanız bayrağın hiçbir etkisi yoktur. |
pointerInactive |
Ayarlanırsa, varsayılan olarak devre dışı olan arabirimin IPointerInactive uygulamasını etkinleştirerek COleControl denetiminiz etkin değilken fare etkileşimi sağlar. |
noFlickerActivate |
Ayarlanırsa, ek çizim işlemlerini ve buna eşlik eden görsel titreşimi ortadan kaldırır. Denetiminiz etkin olmayan ve etkin durumda kendini aynı şekilde çizdiğinde kullanın. Penceresiz etkinleştirme kullanıyorsanız bayrağın hiçbir etkisi yoktur. |
windowlessActivate |
Ayarlanırsa, denetiminizin penceresiz etkinleştirme kullandığını gösterir. |
canOptimizeDraw |
Ayarlanırsa, kapsayıcı destekliyorsa denetimin iyileştirilmiş çizim gerçekleştireceğini gösterir. |
OLE denetimlerinin ve diğer iyileştirmeleri hakkında GetControlFlags
daha fazla bilgi için bkz . ActiveX Denetimleri: İyileştirme.
COleControl::GetControlSize
OLE denetim penceresinin boyutunu alır.
void GetControlSize(
int* pcx,
int* pcy);
Parametreler
pcx
Denetimin genişliğini piksel cinsinden belirtir.
pcy
Denetimin yüksekliğini piksel cinsinden belirtir.
Açıklamalar
Denetim pencerelerinin tüm koordinatlarının denetimin sol üst köşesine göre olduğunu unutmayın.
COleControl::GetDC
Kapsayıcısından ekran (veya uyumlu) cihaz bağlamı almak için penceresiz bir nesne sağlar.
CDC* GetDC(
LPCRECT lprcRect = NULL,
DWORD dwFlags = OLEDC_PAINTBKGND);
Parametreler
lprcRect
Penceresiz denetimin istemci koordinatlarında yeniden çizmek istediği dikdörtgenin işaretçisi. NULL, tam nesnenin kapsamı anlamına gelir.
dwFlags
Cihaz bağlamının özniteliklerini çizme. Seçenekler şunlardır:
OLEDC_NODRAW Nesnenin herhangi bir çizim yapmak için cihaz bağlamını kullanmayacağını, yalnızca görüntü cihazı hakkında bilgi almak için kullanmayacağını gösterir. Kapsayıcı, daha fazla işlem yapmadan pencerenin DC'sini geçmelidir.
OLEDC_PAINTBKGND DC'yi döndürmeden önce kapsayıcının arka planı boyamasını istemektedir. Saydam arka planlı bir alanı yeniden çizmek için dc isteğinde bulunan bir nesne bu bayrağı kullanmalıdır.
OLEDC_OFFSCREEN Nesnenin daha sonra ekrana kopyalanması gereken bir ekran dışı bit eşlem haline getirmek istediği kapsayıcıya bildirir. Bir nesne, gerçekleştirmek üzere olduğu çizim işlemi çok fazla titreşim oluşturduğunda bu bayrağı kullanmalıdır. Kapsayıcı bu isteği yerine getirmekte veya yerine getirmekte özgürdür. Ancak, bu bayrak ayarlanmazsa kapsayıcının ekran DC'sini geri vermesi gerekir. Bu, nesnelerin seçimi gösterme gibi doğrudan ekran işlemleri gerçekleştirmesine olanak tanır (XOR işlemi aracılığıyla).
Dönüş Değeri
Başarılı olursa kapsayıcı CWnd
istemci alanının görüntü cihazı bağlamı işaretçisi; aksi takdirde dönüş değeri NULL olur. Görüntü cihazı bağlamı, kapsayıcı penceresinin istemci alanında çizim yapmak için sonraki GDI işlevlerinde kullanılabilir.
Açıklamalar
Tablo sonrasında bağlamı serbest bırakmak için ReleaseDC üye işlevi çağrılmalıdır. çağırıldığında GetDC
, nesneler kendi istemci koordinatlarında çizmek istedikleri dikdörtgeni geçirir. GetDC
bunları kapsayıcı istemci alanının koordinatlarına çevirir. Nesnesi, boyutu GetClientRect ile alınabilen kendi istemci alanı dikdörtgeninden daha büyük bir istenen çizim dikdörtgeni istememelidir. Bu, nesnelerin istemeden olmamaları gereken bir yere çizim yapmasını engeller.
COleControl::GetEnabled
Denetiminizin hisse senedi Etkin özelliğinin Get işlevini uygular.
BOOL GetEnabled();
Dönüş Değeri
Denetim etkinse sıfır olmayan; aksi takdirde 0.
COleControl::GetExtendedControl
Genişletilmiş bir özellik kümesiyle denetimi temsil eden kapsayıcı tarafından tutulan bir nesneye yönelik bir işaretçi alır.
LPDISPATCH GetExtendedControl();
Dönüş Değeri
Kapsayıcının genişletilmiş denetim nesnesinin işaretçisi. Kullanılabilir nesne yoksa, değer NULL olur.
Bu nesne arabirimi aracılığıyla IDispatch
değiştirilebilir. Nesnesi tarafından sağlanan diğer kullanılabilir arabirimleri almak için de kullanabilirsiniz QueryInterface
. Ancak, nesne belirli bir arabirim kümesini desteklemek için gerekli değildir. Kapsayıcının genişletilmiş denetim nesnesinin belirli özelliklerine bağlı olarak denetiminizin diğer rastgele kapsayıcılara taşınabilirliğini sınırladığını unutmayın.
Açıklamalar
Bu işlevi çağıran işlev, nesnesiyle işiniz bittiğinde işaretçiyi serbest bırakmakla sorumludur. Kapsayıcının bu nesneyi desteklemek için gerekli olmadığını unutmayın.
COleControl::GetFocus
Nesnenin COleControl
odakta olup olmadığını belirler.
CWnd* GetFocus();
Dönüş Değeri
Denetim etkin ve penceresizse, denetimin klavye odağı varsa (denetimin kapsayıcısı tarafından belirlendiği gibi) veya odak olmadığında NULL döndürür this
.
Aksi takdirde, odağı olan nesneyi döndürür CWnd
(ile CWnd::GetFocus
aynı).
Açıklamalar
SetFocus çağrıldığında etkinleştirilmiş penceresiz denetim odağı alır.
COleControl::GetFont
Stok Font özelliğinin Get işlevini uygular.
LPFONTDISP GetFont();
Dönüş Değeri
Denetimin stok Font özelliğinin yazı tipi gönderim arabirimine ilişkin bir işaretçi.
Açıklamalar
Çağıranın bittiğinde nesneyi serbest bırakması gerektiğini unutmayın. Denetimin uygulanmasında, denetimin stok Font nesnesine erişmek için kullanın InternalGetFont
. Denetiminizde yazı tiplerini kullanma hakkında daha fazla bilgi için ActiveX Denetimleri: ActiveX Denetiminde Yazı Tiplerini Kullanma makalesine bakın.
COleControl::GetFontTextMetrics
Denetimin sahip olduğu herhangi bir CFontHolder
nesne için metin ölçümlerini ölçer.
void GetFontTextMetrics(
LPTEXTMETRIC lptm,
CFontHolder& fontHolder);
Parametreler
lptm
TEXTMETRIC yapısının işaretçisi.
fontHolder
CFontHolder nesnesine başvuru.
Açıklamalar
Böyle bir yazı tipi COleControl::SelectFontObject işleviyle seçilebilir. GetFontTextMetrics
lptm tarafından işaret edilen yapıyı TEXTMETRIC
başarılı olursa yazı tipiyle ilgili fontHolder
geçerli ölçüm bilgileriyle başlatır veya başarılı olmazsa yapıyı sıfırlarla doldurur. Denetiminizi boyarken GetTextMetrics yerine bu işlevi kullanmanız gerekir çünkü tüm katıştırılmış OLE nesneleri gibi denetimlerin kendilerini meta dosyada işlemesi gerekebilir.
TEXTMETRIC
SelectFontObject işlevi çağrıldığında varsayılan yazı tipinin yapısı yenilenir. Sağladığı bilgilerin geçerli olduğundan emin olmak için yalnızca stok Yazı Tipi özelliğini seçtikten sonra aramanız GetFontTextMetrics
gerekir.
COleControl::GetForeColor
Stok ForeColor özelliğinin Get işlevini uygular.
OLE_COLOR GetForeColor();
Dönüş Değeri
Dönüş değeri, başarılı olursa geçerli ön plan rengini OLE_COLOR değer olarak belirtir. Bu değer, çağrısıyla TranslateColor
colorref değerine çevrilebilir.
COleControl::GetHwnd
Stock hWnd özelliğinin Get işlevini uygular.
OLE_HANDLE GetHwnd();
Dönüş Değeri
VARSA OLE denetiminin pencere tutamacı; aksi takdirde NULL.
COleControl::GetMessageString
nID ile tanımlanan menü öğesinin amacını açıklayan kısa bir dize elde etmek için çerçeve tarafından çağrılır.
virtual void GetMessageString(
UINT nID,
CString& rMessage) const;
Parametreler
Nıd
Menü öğesi kimliği.
rMessage
Bir dizenin döndürüleceği CString nesnesine başvuru.
Açıklamalar
Bu, menü öğesi vurgulanırken durum çubuğunda görüntülenmek üzere bir ileti almak için kullanılabilir. Varsayılan uygulama, nID ile tanımlanan bir dize kaynağını yüklemeyi dener.
COleControl::GetNotSupported
Kullanıcının denetimin özellik değerine erişimini engeller.
void GetNotSupported();
Açıklamalar
Denetimin kullanıcısı tarafından özellik alınmasının desteklenmediği herhangi bir özelliğin Get işlevi yerine bu işlevi çağırın. Bir örnek, yalnızca yazma özelliği olabilir.
COleControl::GetReadyState
Denetimin hazır olma durumunu döndürür.
long GetReadyState();
Dönüş Değeri
Denetimin hazır olma durumu, aşağıdaki değerlerden biri:
Veri Akışı Adı | Açıklama |
---|---|
READYSTATE_UNINITIALIZED | Varsayılan başlatma durumu |
READYSTATE_LOADING | Denetim şu anda özelliklerini yüklüyor |
READYSTATE_LOADED | Denetim başlatıldı |
READYSTATE_INTERACTIVE | Denetim etkileşimli olmak için yeterli veriye sahip ancak tüm zaman uyumsuz veriler henüz yüklenmemiş |
READYSTATE_COMPLETE | Denetimin tüm verileri var |
Açıklamalar
Çoğu basit denetimin YÜKLÜ ve ETKILEŞIMLI arasında ayrım yapmaya gerek yoktur. Ancak, veri yolu özelliklerini destekleyen denetimler, en azından bazı veriler zaman uyumsuz olarak alınana kadar etkileşimli olmaya hazır olmayabilir. Bir denetim en kısa sürede etkileşimli olmaya çalışmalıdır.
COleControl::GetRectInContainer
Denetimin kapsayıcıya göre dikdörtgeninin koordinatlarını alır ve cihaz birimleriyle ifade edilir.
BOOL GetRectInContainer(LPRECT lpRect);
Parametreler
lpRect
Denetimin koordinatlarının kopyalanacağı dikdörtgen yapısının işaretçisi.
Dönüş Değeri
Denetim yerinde etkinse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Dikdörtgen yalnızca denetim yerinde etkinse geçerlidir.
COleControl::GetStockTextMetrics
SelectStockFont işleviyle seçilebilen denetimin stock Font özelliğinin metin ölçümlerini ölçer.
void GetStockTextMetrics(LPTEXTMETRIC lptm);
Parametreler
lptm
TEXTMETRIC yapısının işaretçisi.
Açıklamalar
İşlev, GetStockTextMetrics
lptm tarafından işaret edilen yapıyı TEXTMETRIC
başarılı olursa geçerli ölçüm bilgileriyle başlatır veya başarılı olmazsa yapıyı sıfırlarla doldurur. Denetiminizi boyarken GetTextMetrics yerine bu işlevi kullanın çünkü tüm katıştırılmış OLE nesneleri gibi denetimlerin kendilerini meta dosyada işlemesi gerekebilir.
TEXTMETRIC
İşlev çağrıldığında varsayılan yazı tipinin SelectStockFont
yapısı yenilenir. Bu işlevi ancak sağladığı bilgilerin geçerli olduğundan emin olmak için stok yazı tipini seçtikten sonra çağırmalısınız.
COleControl::GetText
Hisse senedi Metin veya Resim Yazısı özelliğinin Get işlevini uygular.
BSTR GetText();
Dönüş Değeri
Denetim metin dizesinin geçerli değeri veya dize yoksa sıfır uzunluklu bir dize.
Not
BSTR veri türü hakkında daha fazla bilgi için Makrolar ve GenelLer bölümündeki Veri Türleri bölümüne bakın.
Açıklamalar
Kaynağı boşaltmak için bu işlevi çağıranın döndürülen dizede çağrısı SysFreeString
yapması gerektiğini unutmayın. Denetimin uygulanmasında, denetimin hisse senedi Metin veya Resim Yazısı özelliğine erişmek için kullanın InternalGetText
.
COleControl::GetWindowlessDropTarget
Penceresiz bir denetimin OLE sürükleme ve bırakma işleminin hedefi olmasını istediğinizde geçersiz kılın GetWindowlessDropTarget
.
virtual IDropTarget* GetWindowlessDropTarget();
Dönüş Değeri
Nesnenin arabiriminin işaretçisi IDropTarget
. Penceresi olmadığından penceresiz bir nesne arabirimi IDropTarget
kaydedemez. Ancak sürükleyip bırakma işlemine katılmak için penceresiz bir nesne arabirimini uygulamaya ve içinde GetWindowlessDropTarget
döndürebilir.
Açıklamalar
Normalde bu, denetimin penceresinin bırakma hedefi olarak kaydedilmesini gerektirir. Ancak denetimin kendi penceresi olmadığından, kapsayıcı bırakma hedefi olarak kendi penceresini kullanır. Denetimin yalnızca kapsayıcının IDropTarget
uygun zamanda çağrıları temsilci olarak seçebileceği arabirimin bir uygulamasını sağlaması gerekir. Örneğin:
IDropTarget *CMyAxCtrl::GetWindowlessDropTarget()
{
m_xDropTarget.AddRef();
return &m_xDropTarget;
}
COleControl::InitializeIIDs
Denetimin kullanacağı IID'lerin temel sınıfını bildirir.
void InitializeIIDs(
const IID* piidPrimary,
const IID* piidEvents);
Parametreler
piidPrimary
Denetimin birincil dağıtım arabiriminin arabirim kimliğinin işaretçisi.
piidEvents
Denetimin olay arabiriminin arabirim kimliğinin işaretçisi.
Açıklamalar
Denetiminizin kullanacağı arabirim kimliklerinin temel sınıfını bilgilendirmek için denetimin oluşturucusunda bu işlevi çağırın.
COleControl::InternalGetFont
Denetiminizin stok Font özelliğine erişir
CFontHolder& InternalGetFont();
Dönüş Değeri
Stok Font nesnesini içeren bir CFontHolder nesnesine başvuru.
COleControl::InternalGetText
Denetiminizin hisse senedi Metin veya Resim Yazısı özelliğine erişir.
const CString& InternalGetText();
Dönüş Değeri
Denetim metin dizesine başvuru.
COleControl::InternalSetReadyState
Denetimin hazır olma durumunu ayarlar.
void InternalSetReadyState(long lNewReadyState);
Parametreler
lNewReadyState
Denetim için ayarlanacağı hazır olma durumu, aşağıdaki değerlerden biri:
Veri Akışı Adı | Açıklama |
---|---|
READYSTATE_UNINITIALIZED | Varsayılan başlatma durumu |
READYSTATE_LOADING | Denetim şu anda özelliklerini yüklüyor |
READYSTATE_LOADED | Denetim başlatıldı |
READYSTATE_INTERACTIVE | Denetim etkileşimli olmak için yeterli veriye sahip ancak tüm zaman uyumsuz veriler henüz yüklenmemiş |
READYSTATE_COMPLETE | Denetimin tüm verileri var |
Açıklamalar
Çoğu basit denetimin YÜKLÜ ve ETKILEŞIMLI arasında ayrım yapmaya gerek yoktur. Ancak, veri yolu özelliklerini destekleyen denetimler, en azından bazı veriler zaman uyumsuz olarak alınana kadar etkileşimli olmaya hazır olmayabilir. Bir denetim en kısa sürede etkileşimli olmaya çalışmalıdır.
COleControl::InvalidateControl
Denetimi kendini yeniden çizmeye zorlar.
void InvalidateControl(
LPCRECT lpRect = NULL,
BOOL bErase = TRUE);
Parametreler
lpRect
Geçersiz kılınacak denetimin bölgesine ilişkin bir işaretçi.
bErase
Güncelleştirme bölgesi işlendiğinde, güncelleştirme bölgesindeki arka plan silinip silinmeyeceğini belirtir.
Açıklamalar
lpRect'in NULL değeri varsa, denetimin tamamı yeniden çizilecektir. lpRect NULL değilse, denetimin dikdörtgeninin geçersiz kılınacak bölümünü gösterir. Denetimin penceresi olmadığı veya şu anda etkin olmadığı durumlarda dikdörtgen yoksayılır ve istemci sitesinin IAdviseSink::OnViewChange üye işlevine çağrı yapılır. veya InvalidateRect
yerine CWnd::InvalidateRect
bu işlevi kullanın.
COleControl::InvalidateRgn
Kapsayıcı penceresinin belirtilen bölge içindeki istemci alanını geçersiz kılabilir.
void InvalidateRgn(CRgn* pRgn, BOOL bErase = TRUE);
Parametreler
pRgn
İçeren pencerenin istemci koordinatlarında, OLE nesnesinin geçersiz kılınacak görüntüleme bölgesini tanımlayan bir CRgn nesnesi işaretçisi. Bu parametre NULL ise, kapsam nesnenin tamamıdır.
bErase
Geçersiz kılınan bölge içindeki arka planının silinip silinmeyeceğini belirtir. TRUE ise arka plan silinir. YANLIŞ ise arka plan değişmeden kalır.
Açıklamalar
Bu, kapsayıcı içindeki penceresiz denetimleri yeniden çizmek için kullanılabilir. Geçersiz kılınan bölge ve güncelleştirme bölgesindeki diğer tüm alanlar, bir sonraki WM_PAINT iletisi gönderildiğinde boyama için işaretlenir.
Güncelleştirme bölgesinin herhangi bir bölümü için bErase TRUE ise, yalnızca belirtilen bölümde değil bölgenin tamamında arka plan silinir.
COleControl::IsConvertingVBX
OLE denetiminin özel yüklenmesine izin verir.
BOOL IsConvertingVBX();
Dönüş Değeri
Denetim dönüştürülüyorsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
VBX denetimlerini kullanan bir formu OLE denetimlerini kullanan bir forma dönüştürürken, OLE denetimleri için özel yükleme kodu gerekebilir. Örneğin, OLE denetiminizin bir örneğini yüklüyorsanız, içinde DoPropExchange
PX_Font çağrısı olabilir:
PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
Ancak VBX denetimlerinin Font nesnesi yoktu; her yazı tipi özelliği tek tek kaydedildi. Bu durumda, şu iki durumu ayırt etmek için kullanabilirsiniz IsConvertingVBX
:
if (!IsConvertingVBX())
{
PX_Font(pPX, _T("Font"), *m_pMyFont, &DefaultFont);
}
else
{
PX_String(pPX, _T("FontName"), tempString, DefaultName);
m_pMyFont->m_pFont->put_Name(tempString.AllocSysString());
PX_Bool(pPX, _T("FontUnderline"), tempBool, DefaultValue);
m_pMyFont->m_pFont->put_Underline(tempBool);
}
VbX denetiminizin özel ikili verileri (VBM_SAVEPROPERTY ileti işleyicisinde) kaydetmesi ve OLE denetiminizin ikili verilerini farklı bir biçimde kaydetmesi başka bir durum olabilir. OLE denetiminizin VBX denetimiyle geriye dönük uyumlu olmasını istiyorsanız, VBX denetiminin mi yoksa OLE denetiminin mi yüklendiğini ayırt ederek işlevini kullanarak IsConvertingVBX
hem eski hem de yeni biçimleri okuyabilirsiniz.
Denetiminizin DoPropExchange
işlevinde bu koşulu denetleyebilirsiniz ve doğruysa, bu dönüştürmeye özgü yük kodunu yürütebilirsiniz (önceki örnekler gibi). Denetim dönüştürülmezse normal yük kodu yürütebilirsiniz. Bu özellik yalnızca VBX karşılık gelenlerinden dönüştürülen denetimler için geçerlidir.
COleControl::IsInvokeAllowed
Otomasyon yöntemi çağırmayı etkinleştirir.
BOOL IsInvokeAllowed(DISPID dispid);
Dönüş Değeri
Denetim başlatıldıysa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Çerçevenin belirli bir işlevin IDispatch::Invoke
(tarafından dispid
tanımlanan) çağrılıp çağrılmadığını belirlemek için çağrısı IsInvokeAllowed
uygulaması. OLE denetimi için varsayılan davranış, otomasyon yöntemlerinin yalnızca denetim başlatıldıysa çağrılmasına izin vermektir; ancak, IsInvokeAllowed
bir sanal işlevdir ve gerekirse geçersiz kılınabilir (örneğin, denetim otomasyon sunucusu olarak kullanılırken).
COleControl::IsModified
Denetimin durumunun değiştirilip değiştirilmediğini belirler.
BOOL IsModified();
Dönüş Değeri
Denetimin durumu en son kaydedildikten sonra değiştirilmişse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bir özellik değeri değiştirdiğinde denetimin durumu değiştirilir.
COleControl::IsOptimizedDraw
Kapsayıcının geçerli çizim işlemi için iyileştirilmiş çizimi destekleyip desteklemediğini belirler.
BOOL IsOptimizedDraw();
Dönüş Değeri
Kapsayıcı geçerli çizim işlemi için iyileştirilmiş çizimi destekliyorsa TRUE; aksi takdirde YANLIŞ.
Açıklamalar
İyileştirilmiş çizim destekleniyorsa, çizim tamamlandığında denetimin cihaz bağlamında eski nesneleri (kalemler, fırçalar, yazı tipleri vb.) seçmesi gerekmez.
COleControl::IsSubclassedControl
Denetimin bir Windows denetimini alt sınıfa eklenip sınıflandırmadığını belirlemek için çerçeve tarafından çağrılır.
virtual BOOL IsSubclassedControl();
Dönüş Değeri
Denetim alt sınıflanmışsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
OLE denetiminiz bir Windows denetimini alt sınıflarsa bu işlevi geçersiz kılmanız ve TRUE döndürmeniz gerekir.
COleControl::Load
Zaman uyumsuz olarak yüklenen önceki verileri sıfırlar ve denetimin zaman uyumsuz özelliğinin yeni bir yüklemesini başlatır.
void Load(LPCTSTR strNewPath, CDataPathProperty& prop);
Parametreler
strNewPath
Zaman uyumsuz denetim özelliğinin mutlak konumuna başvuran yolu içeren bir dize işaretçisi.
Pervane
Zaman uyumsuz denetim özelliği uygulayan bir CDataPathProperty nesnesi.
COleControl::LockInPlaceActive
Kapsayıcının denetiminizi devre dışı bırakmasını engeller.
BOOL LockInPlaceActive(BOOL bLock);
Parametreler
blok
Denetimin yerinde etkin durumu kilitlenecekse TRUE; Kilidi açıksa YANLIŞ.
Dönüş Değeri
Kilit başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Denetimin her kilitlenmesinin tamamlandığında denetimin kilidinin açılmasıyla eşlenmesi gerektiğini unutmayın. Denetiminizi yalnızca bir olayı tetiklerken olduğu gibi kısa süreler için kilitlemeniz gerekir.
COleControl::OnAmbientPropertyChange
Kapsayıcının bir ortam özelliği değeri değiştirdiğinde çerçeve tarafından çağrılır.
virtual void OnAmbientPropertyChange(DISPID dispid);
Parametreler
dispID
Değişen ortam özelliğinin dağıtım kimliği veya birden çok özellik değiştiyse DISPID_UNKNOWN.
COleControl::OnAppearanceChanged
Hisse senedi Görünümü özellik değeri değiştiğinde çerçeve tarafından çağrılır.
virtual void OnAppearanceChanged ();
Açıklamalar
Bu özellik değiştikten sonra bildirim almak istiyorsanız bu işlevi geçersiz kılın. Varsayılan uygulama öğesini çağırır InvalidateControl
.
COleControl::OnBackColorChanged
Hisse senedi BackColor özellik değeri değiştiğinde çerçeve tarafından çağrılır.
virtual void OnBackColorChanged();
Açıklamalar
Bu özellik değiştikten sonra bildirim almak istiyorsanız bu işlevi geçersiz kılın. Varsayılan uygulama öğesini çağırır InvalidateControl
.
COleControl::OnBorderStyleChanged
Stock BorderStyle özellik değeri değiştiğinde çerçeve tarafından çağrılır.
virtual void OnBorderStyleChanged();
Açıklamalar
Varsayılan uygulama öğesini çağırır InvalidateControl
.
Bu özellik değiştikten sonra bildirim almak istiyorsanız bu işlevi geçersiz kılın.
COleControl::OnClick
Bir fare düğmesine tıklandığında veya DoClick stok yöntemi çağrıldığında çerçeve tarafından çağrılır.
virtual void OnClick(USHORT iButton);
Parametreler
iButton
Fare düğmesinin dizini. Aşağıdaki değerlerden birine sahip olabilir:
LEFT_BUTTON Sol fare düğmesine tıklandı.
MIDDLE_BUTTON Ortadaki fare düğmesine tıklandı.
RIGHT_BUTTON Sağ fare düğmesine tıklandı.
Açıklamalar
Varsayılan uygulama öğesini çağırır COleControl::FireClick
.
Varsayılan işlemeyi değiştirmek veya genişletmek için bu üye işlevini geçersiz kılın.
COleControl::OnClose
Kapsayıcı denetimin işlevini çağırdığında çerçeve tarafından çağrılır IOleControl::Close
.
virtual void OnClose(DWORD dwSaveOption);
Parametreler
dwSaveOption
Yüklemeden önce nesnenin kaydedilip kaydedilmeyeceğini gösteren bayrak. Geçerli değerler:
OLECLOSE_SAVEIFDIRTY
OLECLOSE_NOSAVE
OLECLOSE_PROMPTSAVE
Açıklamalar
Varsayılan olarak, OnClose
değiştirilmişse ve dwSaveOption OLECLOSE_SAVEIFDIRTY veya OLECLOSE_PROMPTSAVE ise denetim nesnesini kaydeder.
COleControl::OnDoVerb
Kapsayıcı üye işlevini çağırdığında çerçeve tarafından çağrılır IOleObject::DoVerb
.
virtual BOOL OnDoVerb(
LONG iVerb,
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parametreler
iVerb
Çağrılacak denetim fiilinin dizini.
lpMsg
Fiilin çağrılmasına neden olan Windows iletisi işaretçisi.
hWndParent
Denetimin üst penceresinin tutamacı. Fiilin yürütülmesi bir pencere (veya pencereler) oluşturuyorsa, hWndParent üst öğe olarak kullanılmalıdır.
lpRect
Kapsayıcıya göre denetimin koordinatlarının kopyalanacağı RECT yapısının işaretçisi.
Dönüş Değeri
Çağrı başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Varsayılan uygulama, çağrılacak uygun işlevi belirlemek için ON_OLEVERB ve ON_STDOLEVERB ileti eşleme girdilerini kullanır.
Fiilin varsayılan işlemesini değiştirmek için bu işlevi geçersiz kılın.
COleControl::OnDraw
Belirtilen cihaz bağlamını kullanarak belirtilen sınırlayıcı dikdörtgende OLE denetimini çizmek için çerçeve tarafından çağrılır.
virtual void OnDraw(
CDC* pDC,
const CRect& rcBounds,
const CRect& rcInvalid);
Parametreler
pDC
Çizimin gerçekleştiği cihaz bağlamı.
rcBounds
Denetimin kenarlık dahil dikdörtgen alanı.
rcInvalid
Denetimin geçersiz dikdörtgen alanı.
Açıklamalar
OnDraw
genellikle ekran görüntüsü için çağrılır ve bir ekran cihazı bağlamı pDC olarak geçirilir. rcBounds parametresi hedef cihaz bağlamındaki dikdörtgeni tanımlar (geçerli eşleme moduna göre). rcInvalid parametresi geçersiz olan gerçek dikdörtgendir. Bazı durumlarda bu, rcBounds değerinden daha küçük bir alan olacaktır.
COleControl::OnDrawMetafile
Belirtilen meta dosyası cihaz bağlamını kullanarak belirtilen sınırlayıcı dikdörtgende OLE denetimini çizmek için çerçeve tarafından çağrılır.
virtual void OnDrawMetafile(
CDC* pDC,
const CRect& rcBounds);
Parametreler
pDC
Çizimin gerçekleştiği cihaz bağlamı.
rcBounds
Denetimin kenarlık dahil dikdörtgen alanı.
Açıklamalar
Varsayılan uygulama OnDraw işlevini çağırır.
COleControl::OnEdit
Denetimin kullanıcı arabiriminin etkinleştirilmesine neden olur.
virtual BOOL OnEdit(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parametreler
lpMsg
Fiili çağıran Windows iletisinin işaretçisi.
hWndParent
Denetimin üst penceresinin tutamacı.
lpRect
Kapsayıcıdaki denetim tarafından kullanılan dikdörtgenin işaretçisi.
Dönüş Değeri
Çağrı başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu, denetimin OLEIVERB_UIACTIVATE fiilini çağırmayla aynı etkiye sahiptir.
Bu işlev genellikle bir ON_OLEVERB ileti eşleme girdisi için işleyici işlevi olarak kullanılır. Bu, denetimin "Nesne" menüsünde bir "Düzenle" fiilini kullanılabilir hale getirir. Örneğin:
ON_OLEVERB(AFX_IDS_VERB_EDIT, OnEdit)
COleControl::OnEnabledChanged
Hisse senedi Etkin özellik değeri değiştiğinde çerçeve tarafından çağrılır.
virtual void OnEnabledChanged();
Açıklamalar
Bu özellik değiştikten sonra bildirim almak istiyorsanız bu işlevi geçersiz kılın. Varsayılan uygulama InvalidateControl'i çağırır.
COleControl::OnEnumVerbs
Kapsayıcı üye işlevini çağırdığında çerçeve tarafından çağrılır IOleObject::EnumVerbs
.
virtual BOOL OnEnumVerbs(LPENUMOLEVERB* ppenumOleVerb);
Parametreler
ppenumOleVerb
Denetimin IEnumOLEVERB
fiillerini numaralandıran nesne işaretçisi.
Dönüş Değeri
Fiiller varsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Varsayılan uygulama, ileti eşlemesindeki ON_OLEVERB girdilerini numaralandırır.
Fiilleri numaralandırmanın varsayılan yolunu değiştirmek için bu işlevi geçersiz kılın.
COleControl::OnEventAdvise
Bir olay işleyicisi ole denetimine bağlandığında veya ole denetimiyle bağlantısı kesildiğinde çerçeve tarafından çağrılır.
virtual void OnEventAdvise(BOOL bAdvise);
Parametreler
bVise ekle
TRUE, denetime bir olay işleyicisinin bağlandığını gösterir. YANLIŞ, bir olay işleyicisinin denetimle bağlantısının kesildiğini gösterir.
COleControl::OnFontChanged
Hisse senedi Yazı Tipi özellik değeri değiştiğinde çerçeve tarafından çağrılır.
virtual void OnFontChanged();
Açıklamalar
Varsayılan uygulama öğesini çağırır COleControl::InvalidateControl
. Denetim bir Windows denetiminin alt sınıfını veriyorsa, varsayılan uygulama denetimin penceresine bir WM_SETFONT iletisi de gönderir.
Bu özellik değiştikten sonra bildirim almak istiyorsanız bu işlevi geçersiz kılın.
Örnek
void CMyAxCtrl::OnFontChanged()
{
// Always set it to the container's font
if (m_MyEdit.m_hWnd != NULL)
{
IFontDisp *pFontDisp = NULL;
IFont *pFont = NULL;
HRESULT hr;
// Get the container's FontDisp interface
pFontDisp = AmbientFont();
if (pFontDisp)
{
hr = pFontDisp->QueryInterface(IID_IFont, (LPVOID*)&pFont);
if (FAILED(hr))
{
pFontDisp->Release();
return;
}
}
HFONT hFont = NULL;
if (pFont)
{
pFont->get_hFont(&hFont);
m_MyEdit.SendMessage(WM_SETFONT, (WPARAM)hFont, 0L);
}
pFontDisp->Release();
}
// Invalidate the control
m_MyEdit.Invalidate();
m_MyEdit.UpdateWindow();
COleControl::OnFontChanged();
}
COleControl::OnForeColorChanged
Stok ForeColor özellik değeri değiştiğinde çerçeve tarafından çağrılır.
virtual void OnForeColorChanged();
Açıklamalar
Varsayılan uygulama öğesini çağırır InvalidateControl
.
Bu özellik değiştikten sonra bildirim almak istiyorsanız bu işlevi geçersiz kılın.
COleControl::OnFreezeEvents
Kapsayıcı çağrısından sonra çerçeve tarafından çağrılır IOleControl::FreezeEvents
.
virtual void OnFreezeEvents(BOOL bFreeze);
Parametreler
bFreeze
Denetimin olay işlemesi dondurulduysa TRUE; aksi takdirde YANLIŞ.
Açıklamalar
Varsayılan uygulama hiçbir şey yapmaz.
Olay işleme dondurulurken veya dondurulmazsa ek bir davranış istiyorsanız bu işlevi geçersiz kılın.
COleControl::OnGetColorSet
Kapsayıcı üye işlevini çağırdığında çerçeve tarafından çağrılır IViewObject::GetColorSet
.
virtual BOOL OnGetColorSet(
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
LPLOGPALETTE* ppColorSet);
Parametreler
ptd
Resmin işlenmesi gereken hedef cihazı gösterir. Bu değer NULL ise, resim varsayılan hedef cihaz (genellikle bir görüntüleme cihazı) için işlenmelidir.
hicTargetDev
Ptd tarafından belirtilen hedef cihazdaki bilgi bağlamını belirtir. Bu parametre bir cihaz bağlamı olabilir, ancak mutlaka bir parametre değildir. Ptd NULL ise, hicTargetDev de NULL olmalıdır.
ppColorSet
Kullanılacak renk kümesinin kopyalanacağı konuma ilişkin bir işaretçi. İşlev renk kümesini döndürmezse NULL döndürülür.
Dönüş Değeri
Geçerli bir renk kümesi döndürülürse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Kapsayıcı, OLE denetimini çizmek için gereken tüm renkleri almak için bu işlevi çağırır. Kapsayıcı, genel renk paletini ayarlamak için ihtiyaç duyduğu renklerle birlikte elde edilen renk kümelerini kullanabilir. Varsayılan uygulama FALSE döndürür.
Bu isteğin herhangi bir özel işlemini yapmak için bu işlevi geçersiz kılın.
COleControl::OnGetControlInfo
Denetimin kapsayıcısı denetim hakkında bilgi istediği zaman çerçeve tarafından çağrılır.
virtual void OnGetControlInfo(LPCONTROLINFO pControlInfo);
Parametreler
pControlInfo
Doldurulacak CONTROLINFO yapısının işaretçisi.
Açıklamalar
Bu bilgiler öncelikli olarak denetimin anımsatıcı anahtarlarının açıklamasından oluşur. Varsayılan uygulama, pControlInfo'yu varsayılan bilgilerle doldurur.
Denetiminizin anımsatıcı anahtarları işlemesi gerekiyorsa bu işlevi geçersiz kılın.
COleControl::OnGetDisplayString
dispid tarafından tanımlanan özelliğin geçerli değerini temsil eden bir dize almak için çerçeve tarafından çağrılır.
virtual BOOL OnGetDisplayString(
DISPID dispid,
CString& strValue);
Parametreler
dispid
Denetimin bir özelliğinin dağıtım kimliği.
strValue
Bir dizenin döndürüleceği CString nesnesine başvuru.
Dönüş Değeri
StrValue içinde bir dize döndürüldüyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Denetiminizin değeri doğrudan bir dizeye dönüştürülemeyen bir özelliği varsa ve özelliğin değerinin kapsayıcı tarafından sağlanan özellik tarayıcısında görüntülenmesini istiyorsanız bu işlevi geçersiz kılın.
COleControl::OnGetInPlaceMenu
Kapsayıcının mevcut menüsüyle birleştirilecek menüyü almak için denetim kullanıcı arabirimi etkinleştirildiğinde çerçeve tarafından çağrılır.
virtual HMENU OnGetInPlaceMenu();
Dönüş Değeri
Denetimin menüsünün tutamacı veya denetimin hiçbiri yoksa NULL. Varsayılan uygulama NULL döndürür.
Açıklamalar
OLE kaynaklarını birleştirme hakkında daha fazla bilgi için Menüler ve Kaynaklar (OLE) makalesine bakın.
COleControl::OnGetNaturalExtent
Kapsayıcının isteğine yanıt olarak çerçeve tarafından çağrılır IViewObjectEx::GetNaturalExtent
.
virtual BOOL OnGetNaturalExtent(
DWORD dwAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
HDC hicTargetDev,
DVEXTENTINFO* pExtentInfo,
LPSIZEL psizel);
Parametreler
dwAspect
Nesnenin nasıl temsil edilecek olduğunu belirtir. Gösterimler içerik, simge, küçük resim veya yazdırılan belgedir. Geçerli değerler DVASPECT veya DVASPECT2 numaralandırmasından alınır.
lindex
Nesnenin ilgi çekici olan bölümü. Şu anda yalnızca -1 geçerlidir.
ptd
Nesnenin boyutunun döndürülmesi gereken hedef cihazı tanımlayan DVTARGETDEVICE yapısını gösterir.
hicTargetDev
Nesnenin cihaz ölçümlerini ayıklayıp cihazın özelliklerini test ettiği ptd parametresiyle belirtilen hedef cihaz için bilgi bağlamını belirtir. ptd NULL ise, nesne hicTargetDev parametresindeki değeri yoksaymalıdır.
pExtentInfo
DVEXTENTINFO
Boyutlandırma verilerini belirten yapıya işaret eder. Yapı DVEXTENTINFO
şöyledir:
typedef struct tagExtentInfo
{
UINT cb;
DWORD dwExtentMode;
SIZEL sizelProposed;
} DVEXTENTINFO;
Yapı üyesi dwExtentMode
iki değerden birini alabilir:
DVEXTENT_CONTENT İçeriği tam olarak sığdırmak için denetimin ne kadar büyük olması gerektiğini sorgula (küçük harfe uydur)
DVEXTENT_INTEGRAL Yeniden boyutlandırırken önerilen boyutu denetime geçirin
psizel
Denetim tarafından döndürülen boyutlandırma verilerini gösterir. Döndürülen boyutlandırma verileri, ayarlanmamış herhangi bir boyut için -1 olarak ayarlanır.
Dönüş Değeri
Boyutu başarıyla döndürür veya ayarlarsa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Nesnenin önerilen boyuta en yakın görüntü boyutunu ve yapıda DVEXTENTINFO
ex çadır modu döndürmek için bu işlevi geçersiz kılın. Varsayılan uygulama YANLIŞ döndürür ve boyutta hiçbir ayarlama yapmaz.
COleControl::OnGetPredefinedStrings
Bir özelliğin olası değerlerini temsil eden önceden tanımlanmış dize kümesini almak için çerçeve tarafından çağrılır.
virtual BOOL OnGetPredefinedStrings(
DISPID dispid,
CStringArray* pStringArray,
CDWordArray* pCookieArray);
Parametreler
dispid
Denetimin bir özelliğinin dağıtım kimliği.
pStringArray
Dönüş değerleriyle doldurulacak dize dizisi.
pCookieArray
Dönüş değerleriyle doldurulacak bir DWORD dizisi.
Dönüş Değeri
pStringArray ve pCookieArray öğeleri eklendiyse sıfır olmayan.
Açıklamalar
Denetiminizin dizelerle temsil edilebilecek olası değerler kümesine sahip bir özelliği varsa bu işlevi geçersiz kılın. pStringArray'e eklenen her öğe için, pCookieArray'e karşılık gelen bir "cookie" öğesi eklemeniz gerekir. Bu "tanımlama bilgisi" değerleri daha sonra çerçeve tarafından işleve COleControl::OnGetPredefinedValue
geçirilebilir.
COleControl::OnGetPredefinedValue
Daha önce geçersiz kılma tarafından döndürülen önceden tanımlanmış dizelerden birine karşılık gelen değeri almak için çerçeve tarafından çağrılır COleControl::OnGetPredefinedStrings
.
virtual BOOL OnGetPredefinedValue(
DISPID dispid,
DWORD dwCookie,
VARIANT* lpvarOut);
Parametreler
dispid
Denetimin bir özelliğinin dağıtım kimliği.
dwCookie
Daha önce geçersiz kılma COleControl::OnGetPredefinedStrings
tarafından döndürülen bir tanımlama bilgisi değeri.
lpvarOut
Bir özellik değerinin döndürüleceği yapıya VARIANT
işaretçi.
Dönüş Değeri
LpvarOut'ta bir değer döndürüldüyse sıfır olmayan; aksi takdirde 0.
COleControl::OnGetViewExtent
Kapsayıcının IViewObject2::GetExtent isteğine yanıt olarak çerçeve tarafından çağrılır .
virtual BOOL OnGetViewExtent(
DWORD dwDrawAspect,
LONG lindex,
DVTARGETDEVICE* ptd,
LPSIZEL lpsizel);
Parametreler
dwDrawAspect
Bir nesnenin hangi biçiminin veya yönünün görüntüleneceğini açıklayan DWORD. Geçerli değerler DVASPECT veya DVASPECT2 numaralandırmasından alınır.
lindex
Nesnenin ilgi çekici olan bölümü. Şu anda yalnızca -1 geçerlidir.
ptd
Nesnenin boyutunun döndürülmesi gereken hedef cihazı tanımlayan DVTARGETDEVICE yapısını gösterir.
lpsizel
Nesnenin boyutunun döndürüldüğü konumu gösterir.
Dönüş Değeri
Kapsam bilgileri başarıyla döndürülürse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Denetiminiz iki geçişli çizim kullanıyorsa ve opak ve saydam bölümleri farklı boyutlara sahipse bu işlevi geçersiz kılın.
COleControl::OnGetViewRect
Kapsayıcının isteğine yanıt olarak çerçeve tarafından çağrılır IViewObjectEx::GetRect
.
virtual BOOL OnGetViewRect(DWORD dwAspect, LPRECTL pRect);
Parametreler
dwAspect
Bir nesnenin hangi biçiminin veya yönünün görüntüleneceğini açıklayan DWORD. DVASPECT veya DVASPECT2 numaralandırmasından geçerli değerler alınır:
DVASPECT_CONTENT nesnenin tamamını sınırlayan dikdörtgen. Nesnenin kaynağında sol üst köşe ve tarafından
GetViewExtent
döndürülen uzantıya eşit boyut.DVASPECT_OPAQUE Dikdörtgen opak bölgeli nesneler bu dikdörtgeni döndürür. Diğerleri başarısız olur.
DVASPECT_TRANSPARENT Tüm saydam veya düzensiz parçaları kapsayan Dikdörtgen.
pRect
Nesnenin çizilmesi gereken dikdörtgeni belirten RECTL yapısını gösterir. Bu parametre nesnenin konumlandırılmasını ve esnetilmesini denetler.
Dönüş Değeri
Nesneye boyutlandırılmış dikdörtgen başarıyla döndürülürse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Nesnenin boyutu, tarafından belirli bir konumdan başlayan bir dikdörtgene dönüştürülür OnGetViewRect
(varsayılan değer, ekranın sol üst köşesidir). Denetiminiz iki geçişli çizim kullanıyorsa ve opak ve saydam bölümleri farklı boyutlara sahipse bu işlevi geçersiz kılın.
COleControl::OnGetViewStatus
Kapsayıcının isteğine yanıt olarak çerçeve tarafından çağrılır IViewObjectEx::GetViewStatus
.
virtual DWORD OnGetViewStatus();
Dönüş Değeri
Başarılı olursa VIEWSTATUS numaralandırmasının değerlerinden biri; aksi takdirde 0. Olası değerler aşağıdakilerin herhangi bir bileşimidir:
Veri Akışı Adı | Açıklama |
---|---|
VIEWSTATUS_OPAQUE | Nesne tamamen opak. Bu bit ayarlanmazsa, nesne saydam parçalar içerir. Bu bit yalnızca içerikle ilgili konular için geçerlidir, DVASPECT_ICON veya DVASPECT_DOCPRINT için geçerli değildir. |
VIEWSTATUS_SOLIDBKGND | Nesnenin düz bir arka planı vardır (fırça deseni değil düz bir renkle oluşur). Bu bit yalnızca VIEWSTATUS_OPAQUE ayarlandığında ve yalnızca içerikle ilgili açılardan uygulandığında ve DVASPECT_ICON veya DVASPECT_DOCPRINT için geçerli değilse anlamlıdır. |
VIEWSTATUS_DVASPECTOPAQUE | Nesne DVASPECT_OPAQUE destekler. Bir çizim yönünü parametre olarak alan tüm IViewObjectEx yöntemleri bu açıdan çağrılabilir. |
VIEWSTATUS_DVASPECTTRANSPARENT | Nesne DVASPECT_TRANSPARENT destekler. Bir çizim yönünü parametre olarak alan tüm IViewObjectEx yöntemler bu yönüyle çağrılabilir. |
Açıklamalar
Denetiminiz iki geçişli çizim kullanıyorsa bu işlevi geçersiz kılın. Varsayılan uygulama VIEWSTATUS_OPAQUE döndürür.
COleControl::OnHideToolBars
Denetim kullanıcı arabirimi devre dışı bırakıldığında çerçeve tarafından çağrılır.
virtual void OnHideToolBars();
Açıklamalar
Uygulama tarafından OnShowToolbars
görüntülenen tüm araç çubuklarını gizlemelidir.
COleControl::OnInactiveMouseMove
WM_MOUSEMOVE iletisinin alınması üzerine fare işaretçisinin altında etkin olmayan nesne için kapsayıcı tarafından çağrılır.
virtual void OnInactiveMouseMove(
LPCRECT lprcBounds,
long x,
long y,
DWORD dwKeyState);
Parametreler
lprcBounds
İçeren pencerenin istemci koordinatlarında nesne sınırlayıcı dikdörtgen. WM_MOUSEMOVE iletisi alındığında nesneye ekrandaki konumunu ve boyutunu bildirir.
x
İçeren pencerenin istemci koordinatlarında fare konumunun x koordinatı.
y
İçeren pencerenin istemci koordinatlarında fare konumunun y koordinatı.
dwKeyState
Klavyedeki klavye değiştirici tuşlarının geçerli durumunu tanımlar. Geçerli değerler MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON ve MK_RBUTTON herhangi bir bayrak birleşimi olabilir.
Açıklamalar
Fare imlecinin konumunu geçirmek için pencere istemci koordinatlarının (piksel) kullanıldığını unutmayın. Bu, nesnenin sınırlayıcı dikdörtgeninin aynı koordinat sistemine geçirilmesiyle de mümkün hale gelir.
COleControl::OnInactiveSetCursor
WM_SETCURSOR iletisinin alınması üzerine fare işaretçisinin altında etkin olmayan nesne için kapsayıcı tarafından çağrılır.
virtual BOOL OnInactiveSetCursor(
LPCRECT lprcBounds,
long x,
long y,
DWORD dwMouseMsg,
BOOL bSetAlways);
Parametreler
lprcBounds
İçeren pencerenin istemci koordinatlarında nesne sınırlayıcı dikdörtgen. WM_SETCURSOR iletisi alındığında nesneye ekrandaki konumunu ve boyutunu bildirir.
x
İçeren pencerenin istemci koordinatlarında fare konumunun x koordinatı.
y
İçeren pencerenin istemci koordinatlarında fare konumunun y koordinatı.
dwMouseMsg
WM_SETCURSOR oluştuğu fare iletisinin tanımlayıcısı.
bSetAlways
Nesnenin imleci ayarlayıp ayarlamayacağını belirtir. TRUE ise, nesne imleci ayarlamalıdır; FALSE ise, imleç imleci ayarlamakla yükümlü değildir ve bu durumda S_FALSE döndürmelidir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Fare imlecinin konumunu geçirmek için pencere istemci koordinatlarının (piksel) kullanıldığını unutmayın. Bu, nesnenin sınırlayıcı dikdörtgeninin aynı koordinat sistemine geçirilmesiyle de mümkün hale gelir.
COleControl::OnKeyDownEvent
Hisse senedi KeyDown olayı işlendikten sonra çerçeve tarafından çağrılır.
virtual void OnKeyDownEvent(
USHORT nChar,
USHORT nShiftState);
Parametreler
nChar
Basılan anahtarın sanal anahtar kodu değeri. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
nShiftState
Aşağıdaki bayrakların bir bileşimini içerir:
SHIFT_MASK Eylem sırasında SHIFT tuşuna basıldı.
CTRL_MASK Eylem sırasında CTRL tuşuna basıldı.
ALT_MASK Eylem sırasında ALT tuşuna basıldı.
Açıklamalar
Olay tetiklendikten sonra denetiminizin anahtar bilgilerine erişmesi gerekiyorsa bu işlevi geçersiz kılın.
COleControl::OnKeyPressEvent
Stok KeyPress olayı tetiklendikten sonra çerçeve tarafından çağrılır.
virtual void OnKeyPressEvent(USHORT nChar);
Parametreler
nChar
Basılan anahtarın sanal anahtar kodu değerini içerir. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
Açıklamalar
nChar değerinin kapsayıcı tarafından değiştirilmiş olabileceğini unutmayın.
Bu olay gerçekleştikten sonra bildirim almak istiyorsanız bu işlevi geçersiz kılın.
COleControl::OnKeyUpEvent
Hisse senedi KeyDown olayı işlendikten sonra çerçeve tarafından çağrılır.
virtual void OnKeyUpEvent(
USHORT nChar,
USHORT nShiftState);
Parametreler
nChar
Basılan anahtarın sanal anahtar kodu değeri. Standart sanal anahtar kodlarının listesi için bkz. Winuser.h
nShiftState
Aşağıdaki bayrakların bir bileşimini içerir:
SHIFT_MASK Eylem sırasında SHIFT tuşuna basıldı.
CTRL_MASK Eylem sırasında CTRL tuşuna basıldı.
ALT_MASK Eylem sırasında ALT tuşuna basıldı.
Açıklamalar
Olay tetiklendikten sonra denetiminizin anahtar bilgilerine erişmesi gerekiyorsa bu işlevi geçersiz kılın.
COleControl::OnMapPropertyToPage
Belirtilen özelliğin düzenlenmesini uygulayan bir özellik sayfasının sınıf kimliğini almak için çerçeve tarafından çağrılır.
virtual BOOL OnMapPropertyToPage(
DISPID dispid,
LPCLSID lpclsid,
BOOL* pbPageOptional);
Parametreler
dispid
Denetimin bir özelliğinin dağıtım kimliği.
lpclsid
Sınıf kimliğinin döndürüleceği yapıya CLSID
işaret eder.
pbPageOptional
Belirtilen özellik sayfasının kullanımının isteğe bağlı olup olmadığını gösteren bir gösterge döndürür.
Dönüş Değeri
Lpclsid'de bir sınıf kimliği döndürüldüyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Kapsayıcının özellik tarayıcısından denetiminizin özellik sayfalarını çağırmak için bu işlevi geçersiz kılın.
COleControl::OnMnemonic
Kapsayıcı, OLE denetiminin bir anımsatıcı tuşuna basıldığını algıladığında çerçeve tarafından çağrılır.
virtual void OnMnemonic(LPMSG pMsg);
Parametreler
pMsg
Bir anımsatıcı tuşa basılarak oluşturulan Windows iletisinin işaretçisi.
COleControl::OnProperties
Denetimin özellikler fiili kapsayıcı tarafından çağrıldığında çerçeve tarafından çağrılır.
virtual BOOL OnProperties(
LPMSG lpMsg,
HWND hWndParent,
LPCRECT lpRect);
Parametreler
lpMsg
Fiili çağıran Windows iletisinin işaretçisi.
hWndParent
Denetimin üst penceresinin tutamacı.
lpRect
Kapsayıcıdaki denetim tarafından kullanılan dikdörtgenin işaretçisi.
Dönüş Değeri
Çağrı başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Varsayılan uygulama kalıcı özellik iletişim kutusunu görüntüler.
Bu işlevi, denetiminizin özellik sayfalarının görüntülenmesine neden olmak için de kullanabilirsiniz. hWndParent parametresinde OnProperties
denetiminizin üst öğesinin tutamacını geçirerek işleve bir çağrı yapın. Bu durumda, lpMsg ve lpRect parametrelerinin değerleri yoksayılır.
COleControl::OnQueryHitPoint
Kapsayıcının isteğine yanıt olarak çerçeve tarafından çağrılır IViewObjectEx::QueryHitPoint
.
virtual BOOL OnQueryHitPoint(
DWORD dwAspect,
LPCRECT pRectBounds,
POINT ptlLoc,
LONG lCloseHint,
DWORD* pHitResult);
Parametreler
dwAspect
Nesnenin nasıl temsil edilir belirtir. Geçerli değerler DVASPECT veya DVASPECT2 numaralandırmasından alınır.
pRectBounds
OLE denetimi istemci alanının sınırlayıcı dikdörtgenini belirten bir RECT
yapı işaretçisi.
ptlLoc
Bir isabet için POINT
denetlenecek noktayı belirten yapı işaretçisi. Nokta OLE istemci alanı koordinatlarında belirtilir.
lCloseHint
Bir isabet için denetlenen noktaya "yakın" ifadesini tanımlayan uzaklık.
pHitResult
İsabet sorgusunun sonucuna işaret eden işaretçi. Aşağıdaki değerlerden biri:
HITRESULT_OUTSIDE ptlLoc OLE nesnesinin dışında ve kapatılmıyor.
HITRESULT_TRANSPARENT ptlLoc OLE nesnesinin sınırları içindedir, ancak görüntüye yakın değildir. Örneğin, saydam dairenin ortasındaki bir nokta HITRESULT_TRANSPARENT olabilir.
HITRESULT_CLOSE ptlLoc OLE nesnesinin içinde veya dışındadır, ancak içinde dikkate alınması gereken nesneye yeterince yakındır. Küçük, ince veya ayrıntılı nesneler bu değeri kullanabilir. Bir nokta nesnenin sınırlayıcı dikdörtgeninin dışında olsa bile, yine de yakın olabilir (küçük nesnelere çarpmak için bu gereklidir).
HITRESULT_HIT ptlLoc nesnenin görüntüsü içindedir.
Dönüş Değeri
Bir isabet sonucu başarıyla döndürülürse sıfır olmayan; aksi takdirde 0. Isabet, OLE denetimi görüntüleme alanıyla örtüşmedir.
Açıklamalar
Nesnenin görüntü dikdörtgeninin verilen noktayla çakışıp çakışmadığını sorgular (noktaya isabet eder). QueryHitPoint
dikdörtgen olmayan nesnelerin isabetlerini test etmek için geçersiz kılınabilir.
COleControl::OnQueryHitRect
Kapsayıcının isteğine yanıt olarak çerçeve tarafından çağrılır IViewObjectEx::QueryHitRect
.
virtual BOOL OnQueryHitRect(
DWORD dwAspect,
LPCRECT pRectBounds,
LPCRECT prcLoc,
LONG lCloseHint,
DWORD* pHitResult);
Parametreler
dwAspect
Nesnenin nasıl temsil edilecek olduğunu belirtir. Geçerli değerler DVASPECT veya DVASPECT2 numaralandırmasından alınır.
pRectBounds
OLE denetimi istemci alanının sınırlayıcı dikdörtgenini belirten bir RECT
yapı işaretçisi.
prcLoc
Nesnenin RECT
sol üst köşesine göre isabet için denetlenecek dikdörtgeni belirten yapı işaretçisi (nesne dikdörtgeniyle çakışıyor).
lCloseHint
Kullanılmadı.
pHitResult
İsabet sorgusunun sonucuna işaret eden işaretçi. Aşağıdaki değerlerden biri:
HITRESULT_OUTSIDE ole nesnesi dikdörtgendeki hiçbir noktaya isabet değil.
HITRESULT_HIT dikdörtgendeki en az bir nokta nesneye isabet eder.
Dönüş Değeri
Bir isabet sonucu başarıyla döndürülürse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Nesnenin görüntü dikdörtgeninin verilen dikdörtgendeki herhangi bir noktayla çakışıp çakışmadığını sorgular (dikdörtgene isabet eder). QueryHitRect
dikdörtgen olmayan nesnelerin isabetlerini test etmek için geçersiz kılınabilir.
COleControl::OnRenderData
Belirtilen biçimdeki verileri almak için çerçeve tarafından çağrılır.
virtual BOOL OnRenderData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium);
Parametreler
lpFormatEtc
Bilgilerin istendiği biçimi belirten FORMATETC yapısına işaret eder.
lpStgMedium
Verilerin döndürülecek olduğu STGMEDIUM yapısını gösterir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Belirtilen biçim, gecikmeli işleme için DelayRenderData veya DelayRenderFileData üye işlevleri kullanılarak denetim nesnesine önceden yerleştirilmiş bir biçimdir. Bu işlevin varsayılan uygulaması, sağlanan depolama ortamı bir dosya veya bellekse sırasıyla veya öğesini çağırır OnRenderFileData
OnRenderGlobalData
. İstenen biçim CF_METAFILEPICT veya kalıcı özellik kümesi biçimiyse, varsayılan uygulama uygun verileri işler ve sıfır olmayan bir değer döndürür. Aksi takdirde, 0 döndürür ve hiçbir şey yapmaz.
lpStgMedium-tymed> TYMED_NULL ise, STGMEDIUM lpFormatEtc-tymed> tarafından belirtilen şekilde ayrılıp doldurulmalıdır. TYMED_NULL değilse, STGMEDIUM yerine verilerle doldurulmalıdır.
Verilerinizi istenen biçimde ve ortamda sağlamak için bu işlevi geçersiz kılın. Verilerinize bağlı olarak, bunun yerine bu işlevin diğer sürümlerinden birini geçersiz kılmak isteyebilirsiniz. Verilerinizin boyutu küçükse ve sabitse, öğesini geçersiz kılın OnRenderGlobalData
. Verileriniz bir dosyadaysa veya değişken boyuttaysa, öğesini geçersiz kılın OnRenderFileData
.
Daha fazla bilgi için bkz FORMATETC
. Windows SDK'sı içindeki ve STGMEDIUM
yapıları.
COleControl::OnRenderFileData
Depolama ortamı bir dosya olduğunda verileri belirtilen biçimde almak için çerçeve tarafından çağrılır.
virtual BOOL OnRenderFileData(
LPFORMATETC lpFormatEtc,
CFile* pFile);
Parametreler
lpFormatEtc
Bilgilerin istendiği biçimi belirten FORMATETC yapısına işaret eder.
pFile
Verilerin işlendiği bir CFile nesnesine işaret edilir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Belirtilen biçim, gecikmeli işleme için DelayRenderData üye işlevi kullanılarak denetim nesnesine önceden yerleştirilmiş bir biçimdir. Bu işlevin varsayılan uygulaması YALNıZCA YANLIŞ döndürür.
Verilerinizi istenen biçimde ve ortamda sağlamak için bu işlevi geçersiz kılın. Verilerinize bağlı olarak, bunun yerine bu işlevin diğer sürümlerinden birini geçersiz kılmak isteyebilirsiniz. Birden çok depolama ortamı işlemek istiyorsanız, öğesini geçersiz kılın OnRenderData
. Verileriniz bir dosyadaysa veya değişken boyuttaysa, öğesini geçersiz kılın OnRenderFileData
.
Daha fazla bilgi için Bkz FORMATETC
. Windows SDK'sı içindeki yapı.
COleControl::OnRenderGlobalData
Belirtilen depolama ortamı genel bellek olduğunda verileri belirtilen biçimde almak için çerçeve tarafından çağrılır.
virtual BOOL OnRenderGlobalData(
LPFORMATETC lpFormatEtc,
HGLOBAL* phGlobal);
Parametreler
lpFormatEtc
Bilgilerin istendiği biçimi belirten FORMATETC yapısına işaret eder.
phGlobal
Verilerin döndürülacağı genel belleğe ilişkin bir tanıtıcıyı gösterir. Bellek ayrılmamışsa, bu parametre NULL olabilir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Belirtilen biçim, gecikmeli işleme için DelayRenderData üye işlevi kullanılarak denetim nesnesine önceden yerleştirilmiş bir biçimdir. Bu işlevin varsayılan uygulaması YALNıZCA YANLIŞ döndürür.
phGlobal NULL ise, phGlobal içinde yeni bir HGLOBAL ayrılıp döndürülmelidir. Aksi takdirde, phGlobal tarafından belirtilen HGLOBAL verilerle doldurulmalıdır. HGLOBAL'a yerleştirilen veri miktarı bellek bloğunun geçerli boyutunu aşmamalıdır. Ayrıca, blok daha büyük bir boyuta taşınamaz.
Verilerinizi istenen biçimde ve ortamda sağlamak için bu işlevi geçersiz kılın. Verilerinize bağlı olarak, bunun yerine bu işlevin diğer sürümlerinden birini geçersiz kılmak isteyebilirsiniz. Birden çok depolama ortamı işlemek istiyorsanız, öğesini geçersiz kılın OnRenderData
. Verileriniz bir dosyadaysa veya değişken boyuttaysa, öğesini geçersiz kılın OnRenderFileData
.
Daha fazla bilgi için Bkz FORMATETC
. Windows SDK'sı içindeki yapı.
COleControl::OnResetState
Denetimin özelliklerinin varsayılan değerlerine ayarlanması gerektiğinde çerçeve tarafından çağrılır.
virtual void OnResetState();
Açıklamalar
Varsayılan uygulama, özelliklerin varsayılan değerlerine ayarlanmasına neden olan bir CPropExchange
nesne geçirerek DoPropExchange'i çağırır.
Denetim yazıcısı, OLE denetimi için bu geçersiz kılınabilir öğeye başlatma kodu ekleyebilir. Bu işlev, IPersistStream::Load veya IPersistStorage::Load başarısız olduğunda veya IPersistStreamInit::InitNew veya IPersistStorage::InitNew çağrıldığında, ilk olarak veya IPersistStorage::Load
çağrılmadan IPersistStream::Load
çağrılır.
COleControl::OnSetClientSite
Kapsayıcı denetimin işlevini çağırdığında çerçeve tarafından çağrılır IOleControl::SetClientSite
.
virtual void OnSetClientSite();
Açıklamalar
Varsayılan olarak, OnSetClientSite
veri yolu özelliklerinin yüklenip yüklenmediğini denetler ve yüklüyse öğesini çağırır DoDataPathPropExchange
.
Bu bildirimin özel işlemlerini yapmak için bu işlevi geçersiz kılın. Özellikle bu işlevin geçersiz kılmaları temel sınıfı çağırmalıdır.
COleControl::OnSetData
Denetimin verilerini belirtilen verilerle değiştirmek için çerçeve tarafından çağrılır.
virtual BOOL OnSetData(
LPFORMATETC lpFormatEtc,
LPSTGMEDIUM lpStgMedium,
BOOL bRelease);
Parametreler
lpFormatEtc
Verilerin biçimini belirten FORMATETC yapısının işaretçisi.
lpStgMedium
Verilerin bulunduğu STGMEDIUM yapısının işaretçisi.
bRelease
Denetimin depolama alanını boşaltması gerekiyorsa TRUE; Denetimin depolama alanını boşaltmaması gerekiyorsa YANLIŞ.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Veriler kalıcı özellik kümesi biçimindeyse, varsayılan uygulama denetimin durumunu buna göre değiştirir. Aksi takdirde, varsayılan uygulama hiçbir şey yapmaz. bRelease TRUE ise çağrısı ReleaseStgMedium
yapılır; aksi takdirde yapılmaz.
Denetimin verilerini belirtilen verilerle değiştirmek için bu işlevi geçersiz kılın.
Daha fazla bilgi için bkz FORMATETC
. Windows SDK'sı içindeki ve STGMEDIUM
yapıları.
COleControl::OnSetExtent
IOleObject::SetExtent çağrısının bir sonucu olarak denetimin kapsamının değiştirilmesi gerektiğinde çerçeve tarafından çağrılır.
virtual BOOL OnSetExtent(LPSIZEL lpSizeL);
Parametreler
lpSizeL
Denetimin SIZEL
genişliğini ve yüksekliğini hiMETRIC birimleriyle ifade etmek için uzun tamsayılar kullanan yapı işaretçisi.
Dönüş Değeri
Boyut değişikliği kabul edildiyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Varsayılan uygulama, denetimin kapsamını yeniden boyutlandırmayı işler. Denetim yerinde etkinse kapsayıcıya OnPosRectChanged
bir çağrı yapılır.
Denetiminizin varsayılan yeniden boyutlandırmasını değiştirmek için bu işlevi geçersiz kılın.
COleControl::OnSetObjectRects
IOleInPlaceObject::SetObjectRects çağrısı uygulamak için çerçeve tarafından çağrılır.
virtual BOOL OnSetObjectRects(
LPCRECT lpRectPos,
LPCRECT lpRectClip);
Parametreler
lpRectPos
Denetimin kapsayıcıya göre yeni konumunu ve boyutunu gösteren bir RECT
yapı işaretçisi.
lpRectClip
Denetimin RECT
kırpılacağı dikdörtgen alanı gösteren bir yapı işaretçisi.
Dönüş Değeri
Yeniden konumlandırma kabul edildiyse sıfır olmayan; aksi takdirde 0.
Açıklamalar
Varsayılan uygulama, denetim penceresini yeniden konumlandırmayı ve yeniden boyutlandırmayı otomatik olarak işler ve TRUE döndürür.
Bu işlevin varsayılan davranışını değiştirmek için bu işlevi geçersiz kılın.
COleControl::OnShowToolBars
Denetim kullanıcı arabirimi etkinleştirildiğinde çerçeve tarafından çağrılır.
virtual void OnShowToolBars();
Açıklamalar
Varsayılan uygulama hiçbir şey yapmaz.
COleControl::OnTextChanged
Hisse senedi Caption veya Text özellik değeri değiştiğinde çerçeve tarafından çağrılır.
virtual void OnTextChanged();
Açıklamalar
Varsayılan uygulama öğesini çağırır InvalidateControl
.
Bu özellik değiştikten sonra bildirim almak istiyorsanız bu işlevi geçersiz kılın.
COleControl::OnWindowlessMessage
Kapsayıcının isteğine yanıt olarak çerçeve tarafından çağrılır IOleInPlaceObjectWindowless::OnWindowMessage
.
virtual BOOL OnWindowlessMessage(
UINT msg,
WPARAM wParam,
LPARAM lParam,
LRESULT* plResult);
Parametreler
Msg
Windows tarafından geçirilen ileti tanımlayıcısı.
wParam
Windows tarafından geçirildi. İletiye özgü ek bilgileri belirtir. Bu parametrenin içeriği msg parametresinin değerine bağlıdır.
lParam
Windows tarafından geçirildi. İletiye özgü ek bilgileri belirtir. Bu parametrenin içeriği msg parametresinin değerine bağlıdır.
plResult
Windows sonuç kodu. İleti işlemenin sonucunu belirtir ve gönderilen iletiye bağlıdır.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Penceresiz denetimler için pencere iletilerini işler. COleControl
'ler OnWindowlessMessage
fare iletileri ve klavye iletileri dışında pencere iletileri için kullanılmalıdır. COleControl
, özellikle penceresiz OLE nesneleri için fare yakalama ve klavye odağı elde etmek için SetCapture ve SetFocus sağlar.
Penceresiz nesnelerin penceresi olmadığından, kapsayıcının kendilerine ileti göndermesine izin verecek bir mekanizmaya ihtiyaçları vardır. Penceresiz OLE nesnesi, arabirimindeki OnWindowMessage
IOleInPlaceObjectWindowless
yöntemi (penceresiz destek için IOleInPlaceObject uzantısı) aracılığıyla kapsayıcısından iletileri alır. OnWindowMessage
parametre HWND
almaz.
COleControl::P arentToClient
pPoint koordinatlarını istemci koordinatlarına çevirir.
virtual UINT ParentToClient(
LPCRECT lprcBounds,
LPPOINT pPoint,
BOOL bHitTest = FALSE) const;
Parametreler
lprcBounds
Kapsayıcı içindeki OLE denetiminin sınırlarına yönelik işaretçi. İstemci alanı değil, kenarlıklar ve kaydırma çubukları da dahil olmak üzere denetimin tamamının alanı.
pPoint
Üst (kapsayıcı) noktasına yönelik işaretçi, denetimin istemci alanının koordinatlarına çevrilecek.
bHitTest
Noktasında isabet testi yapılıp yapılmayacağını belirtir.
Dönüş Değeri
bHitTest YANLIŞ ise, HTNOWHERE döndürür. bHitTest TRUE ise, üst (kapsayıcı) noktasının OLE denetiminin istemci alanına indiği konumu döndürür ve aşağıdaki fare isabet sınaması değerlerinden biridir:
HTBORDER Boyutlandırma kenarlı olmayan bir pencerenin kenarında.
HTBOTTOM Pencerenin alt yatay kenarında.
HTBOTTOMLEFT Pencere kenarlığı sol alt köşesinde.
HTBOTTOMRIGHT Pencere kenarlarının sağ alt köşesinde.
HTCAPTION Başlık çubuğu alanında.
İstemci alanında HTCLIENT.
HTERROR Ekran arka planında veya pencereler arasında bir bölme satırında (HTNOWHERE ile aynıdır, ancak Windows işlevinin
DefWndProc
bir hata belirtmek için bir sistem bip sesi üretmesi dışında).HTGROWBOX Bir boyut kutusunda.
HTHSCROLL Yatay kaydırma çubuğunda.
HTLEFT Pencerenin sol kenarlığında.
HTMAXBUTTON Ekranı Kapla düğmesinde.
HTMENU Bir menü alanında.
HTMINBUTTON Simge Durumuna Küçült düğmesinde.
HTNOWHERE Ekran arka planında veya pencereler arasında bir bölme çizgisinde.
HTREDUCE Simge Durumuna Küçült düğmesinde.
HTRIGHT Pencerenin sağ kenarında.
HTSIZE Bir boyut kutusunda (HTGROWBOX ile aynıdır).
HTSYSMENU Denetim menüsünde veya alt penceredeki Kapat düğmesinde.
HTTOP Pencerenin üst yatay kenarında.
HTTOPLEFT Pencere kenarlığı sol üst köşesinde.
HTTOPRIGHT Pencere kenarlarının sağ üst köşesinde.
HTTRANSPARENT Şu anda başka bir pencere tarafından kapsanan bir pencerede.
HTVSCROLL Dikey kaydırma çubuğunda.
HTZOOM Ekranı Kapla düğmesinde.
Açıklamalar
Girişte pPoint , üst öğe başlangıcına göredir (kapsayıcının sol üst köşesinde). Çıkışta pPoint , OLE denetiminin istemci alanının başlangıcına bağlıdır (denetimin istemci alanının sol üst köşesinde).
COleControl::P ostModalDialog
Kapsayıcıya kalıcı bir iletişim kutusunun kapatıldığını bildirir.
void PostModalDialog(HWND hWndParent = NULL);
Parametreler
hWndParent
Kalıcı iletişim kutusunun üst penceresinin tutamacı.
Açıklamalar
Herhangi bir kalıcı iletişim kutusunu görüntüledikten sonra bu işlevi çağır. Kapsayıcının tarafından PreModalDialog
devre dışı bırakılan tüm üst düzey pencereleri etkinleştirebilmesi için bu işlevi çağırmanız gerekir. Bu işlev çağrısıyla PreModalDialog
eşleştirilmelidir.
COleControl::P reModalDialog
Kapsayıcıya kalıcı bir iletişim kutusunun görüntülenmek üzere olduğunu bildirir.
void PreModalDialog(HWND hWndParent = NULL);
Parametreler
hWndParent
Kalıcı iletişim kutusunun üst penceresinin tutamacı.
Açıklamalar
Herhangi bir kalıcı iletişim kutusunu görüntülemeden önce bu işlevi çağır. Kapsayıcının tüm üst düzey pencerelerini devre dışı bırakabilmesi için bu işlevi çağırmanız gerekir. Kalıcı iletişim kutusu görüntülendikten sonra öğesini çağırmanız PostModalDialog
gerekir.
COleControl::RecreateControlWindow
Denetimin penceresini yok eder ve yeniden oluşturur.
void RecreateControlWindow();
Açıklamalar
Pencerenin stil bitlerini değiştirmeniz gerekiyorsa bu gerekli olabilir.
COleControl::Refresh
OLE denetiminin yeniden boyanma işlemini zorlar.
void Refresh();
Açıklamalar
Bu işlev, temel sınıf tarafından COleControl
Refresh adlı bir hisse senedi yöntemi olarak desteklenir. Bu, OLE denetiminizin kullanıcılarının denetimi belirli bir zamanda yeniden boyayabilmesini sağlar. Bu yöntem hakkında daha fazla bilgi için ActiveX Denetimleri: Yöntemler makalesine bakın.
COleControl::ReleaseCapture
Fare yakalamayı serbest bırakır.
BOOL ReleaseCapture();
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Denetimde şu anda fare yakalaması varsa yakalama serbest bırakılır. Aksi takdirde, bu işlevin hiçbir etkisi yoktur.
COleControl::ReleaseDC
Penceresiz bir denetimin kapsayıcısının görüntü cihazı bağlamını serbest bırakır ve cihaz bağlamını diğer uygulamalar tarafından kullanılmak üzere serbest bırakır.
int ReleaseDC(CDC* pDC);
Parametreler
pDC
Yayınlanacak kapsayıcı cihazı bağlamını tanımlar.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Uygulamanın GetDC'ye yapılan her çağrı için çağrısı ReleaseDC
yapması gerekir.
COleControl::ReparentControlWindow
Denetimin üst öğesini ayarlar.
virtual void ReparentControlWindow(
HWND hWndOuter,
HWND hWndParent);
Parametreler
hWndOuter
Denetim penceresinin tutamacı.
hWndParent
Yeni üst pencerenin tutamacı.
Açıklamalar
Denetim penceresinin üst öğesini sıfırlamak için bu işlevi çağırın.
COleControl::ResetStockProps
Hisse senedi özelliklerinin durumunu COleControl
varsayılan değerlerine başlatır.
void ResetStockProps();
Açıklamalar
Özellikler şunlardır: Görünüm, BackColor, BorderStyle, Caption, Enabled, Font, ForeColor, hWnd ve Text. Hisse senedi özelliklerinin açıklaması için bkz . ActiveX Denetimleri: Hisse Senedi Özellikleri Ekleme.
ve ResetVersion
COleControl::OnResetState
komutunu kullanarak ResetStockProps
denetimin ikili başlatma performansını geliştirebilirsiniz. Aşağıdaki örneğe bakın. Başlatmayı iyileştirme hakkında daha fazla bilgi için bkz . ActiveX Denetimleri: İyileştirme.
Örnek
void CMyAxCtrl::OnResetState()
{
ResetVersion(MAKELONG(_wVerMinor, _wVerMajor));
ResetStockProps();
// initialize custom properties here
}
COleControl::ResetVersion
Sürüm numarasını belirtilen değere başlatır.
void ResetVersion(DWORD dwVersionDefault);
Parametreler
dwVersionDefault
Denetime atanacak sürüm numarası.
Açıklamalar
ve ResetStockProps
COleControl::OnResetState
komutunu kullanarak ResetVersion
denetimin ikili başlatma performansını geliştirebilirsiniz. ResetStockProps'daki örne bakın. Başlatmayı iyileştirme hakkında daha fazla bilgi için bkz . ActiveX Denetimleri: İyileştirme.
COleControl::ScrollWindow
Penceresiz bir OLE nesnesinin ekrandaki yerinde etkin görüntüsündeki bir alanı kaydırmasına izin verir.
void ScrollWindow(
int xAmount,
int yAmount,
LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL);
Parametreler
xAmount
Cihaz birimlerinde yatay kaydırmanın miktarını belirtir. Bu parametrenin sola kaydırılabilmesi için negatif bir değer olması gerekir.
yAmount
Cihaz birimlerinde dikey kaydırmanın miktarını belirtir. Yukarı doğru kaydırmak için bu parametre negatif bir değer olmalıdır.
lpRect
İçeren pencerenin istemci koordinatlarında, KAYDıRILACAK OLE nesnesinin istemci alanının bölümünü belirten bir CRect nesnesine veya RECT yapısına işaret eder. lpRect NULL ise, OLE nesnesinin istemci alanının tamamı kaydırılır.
lpClipRect
Kırpacak dikdörtgeni belirten bir CRect
nesneye veya RECT
yapıya işaret eder. Yalnızca dikdörtgenin içindeki pikseller kaydırılır. Dikdörtgenin dışındaki bitler lpRect dikdörtgeninde olsalar bile etkilenmez. lpClipRect NULL ise, kaydırma dikdörtgeninde kırpma yapılmaz.
COleControl::SelectFontObject
Cihaz bağlamında bir yazı tipi seçer.
CFont* SelectFontObject(
CDC* pDC,
CFontHolder& fontHolder);
Parametreler
pDC
Cihaz bağlam nesnesinin işaretçisi.
fontHolder
Seçilecek yazı tipini temsil eden CFontHolder nesnesine başvuru.
Dönüş Değeri
Daha önce seçili yazı tipini gösteren bir işaretçi. Çağıran fontHolder kullanan tüm çizim işlemlerini tamamladığında, CDC::SelectObject'e parametre olarak geçirerek daha önce seçilen yazı tipini yeniden seçmesi gerekir.
COleControl::SelectStockFont
Stok Font özelliğini bir cihaz bağlamında seçer.
CFont* SelectStockFont(CDC* pDC);
Parametreler
pDC
Yazı tipinin seçileceği cihaz bağlamı.
Dönüş Değeri
Daha önce seçilen CFont
nesnenin işaretçisi. İşiniz bittiğinde bu yazı tipini cihaz bağlamı içine geri seçmek için CDC::SelectObject kullanmalısınız.
COleControl::SerializeExtent
Denetime ayrılan görüntü alanının durumunu serileştirir veya başlatır.
void SerializeExtent(CArchive& ar);
Parametreler
Ar
' CArchive
a veya 'den seri hale getirmek için bir nesne.
Açıklamalar
, ve kullanarak SerializeExtent
SerializeStockProps
denetimin ikili kalıcılık performansını geliştirebilir ve SerializeVersion
geçersiz kılabilirsinizCOleControl::Serialize
. Aşağıdaki örneğe bakın. Başlatmayı iyileştirme hakkında daha fazla bilgi için bkz . ActiveX Denetimleri: İyileştirme.
Örnek
void CMyAxCtrl::Serialize(CArchive &ar)
{
SerializeVersion(ar, MAKELONG(_wVerMinor, _wVerMajor));
SerializeExtent(ar);
SerializeStockProps(ar);
if (ar.IsStoring())
{ // storing code
}
else
{ // loading code
}
}
COleControl::SerializeStockProps
Hisse senedi özelliklerinin durumunu COleControl
serileştirir veya başlatır: Görünüm, BackColor, BorderStyle, Caption, Enabled, Font, ForeColor ve Text.
void SerializeStockProps(CArchive& ar);
Parametreler
Ar
' CArchive
a veya 'den seri hale getirmek için bir nesne.
Açıklamalar
Hisse senedi özelliklerinin açıklaması için bkz . ActiveX Denetimleri: Hisse Senedi Özellikleri Ekleme.
, ve kullanarak SerializeStockProps
SerializeExtent
denetimin ikili kalıcılık performansını geliştirebilir ve SerializeVersion
geçersiz kılabilirsinizCOleControl::Serialize
. Bir örnek için SerializeExtent konumundaki koda bakın. Başlatmayı iyileştirme hakkında daha fazla bilgi için bkz . ActiveX Denetimleri: İyileştirme.
COleControl::SerializeVersion
Denetimin sürüm bilgilerinin durumunu serileştirir veya başlatır.
DWORD SerializeVersion(
CArchive& ar,
DWORD dwVersionDefault,
BOOL bConvert = TRUE);
Parametreler
Ar
' CArchive
a veya 'den seri hale getirmek için bir nesne.
dwVersionDefault
Denetimin geçerli sürüm numarası.
bConvert
Kalıcı verilerin kaydedildiğinde en son biçime dönüştürülüp dönüştürülmeyeceğini veya yüklendiğindekiyle aynı biçimde tutulması gerektiğini gösterir.
Dönüş Değeri
Denetimin sürüm numarası. Belirtilen arşiv yükleniyorsa, SerializeVersion
bu arşivden yüklenen sürümü döndürür. Aksi takdirde, yüklü olan sürümü döndürür.
Açıklamalar
, ve kullanarak SerializeVersion
SerializeExtent
denetimin ikili kalıcılık performansını geliştirebilir ve SerializeStockProps
geçersiz kılabilirsinizCOleControl::Serialize
. Bir örnek için SerializeExtent konumundaki koda bakın. Başlatmayı iyileştirme hakkında daha fazla bilgi için bkz . ActiveX Denetimleri: İyileştirme.
COleControl::SetAppearance
Denetiminizin hisse senedi Görünüm özellik değerini ayarlar.
void SetAppearance (short sAppearance);
Parametreler
sAppearance
short
Denetiminizin görünümü için kullanılacak bir (VT_I2) değeri. Sıfır değeri denetimin görünümünü düz, 1 değeri ise denetimin görünümünü 3B olarak ayarlar.
Açıklamalar
Stok özellikleri hakkında daha fazla bilgi için bkz . ActiveX Denetimleri: Özellikler.
COleControl::SetBackColor
Denetiminizin stok BackColor özellik değerini ayarlar.
void SetBackColor(OLE_COLOR dwBackColor);
Parametreler
dwBackColor
Denetiminizin arka plan çizimi için kullanılacak bir OLE_COLOR değeri.
Açıklamalar
Bu özelliği ve diğer ilgili özellikleri kullanma hakkında daha fazla bilgi için ActiveX Denetimleri: Özellikler makalesine bakın.
COleControl::SetBorderStyle
Denetiminizin hisse senedi BorderStyle özellik değerini ayarlar.
void SetBorderStyle(short sBorderStyle);
Parametreler
sBorderStyle
Denetimin yeni kenarlık stili; 0 kenarlık olmadığını, 1 ise normal bir kenarlıyı gösterir.
Açıklamalar
Ardından denetim penceresi yeniden oluşturulur ve OnBorderStyleChanged
çağrılır.
COleControl::SetCapture
Denetimin kapsayıcı penceresinin denetimin adına fare yakalamayı ele geçirmesine neden olur.
CWnd* SetCapture();
Dönüş Değeri
Daha önce fare girişi alan pencere nesnesinin işaretçisi CWnd
.
Açıklamalar
Denetim etkin ve penceresizse, bu işlev denetimin kapsayıcı penceresinin denetimin adına fare yakalamayı ele geçirmesine neden olur. Aksi takdirde, bu işlev denetimin kendisinin fare yakalamasını (ile aynı) CWnd::SetCapture
almasına neden olur.
COleControl::SetControlSize
OLE denetim penceresinin boyutunu ayarlar ve kapsayıcıya denetim sitesinin değiştiğini bildirir.
BOOL SetControlSize(int cx, int cy);
Parametreler
cx
Denetimin yeni genişliğini piksel cinsinden belirtir.
Cy
Denetimin yeni yüksekliğini piksel cinsinden belirtir.
Dönüş Değeri
Çağrı başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bu işlev denetiminizin oluşturucusunda kullanılmamalıdır.
Denetim pencerelerinin tüm koordinatlarının denetimin sol üst köşesine göre olduğunu unutmayın.
COleControl::SetEnabled
Denetiminizin hisse senedi Etkin özellik değerini ayarlar.
void SetEnabled(BOOL bEnabled);
Parametreler
bEnabled
Denetim etkinleştirilecekse TRUE; aksi takdirde YANLIŞ.
Açıklamalar
Bu özellik OnEnabledChange
ayarlandıktan sonra çağrılır.
COleControl::SetFocus
Denetimin kapsayıcı penceresinin denetimin adına giriş odağını ele geçirmesine neden olur.
CWnd* SetFocus();
Dönüş Değeri
Daha önce giriş odağına CWnd
sahip olan pencere nesnesinin işaretçisi veya böyle bir pencere yoksa NULL.
Açıklamalar
Denetim etkin ve penceresizse, bu işlev denetimin kapsayıcı penceresinin denetimin adına giriş odağını ele geçirmesine neden olur. Giriş odağı, klavye girişini kapsayıcının penceresine yönlendirir ve kapsayıcı sonraki tüm klavye iletilerini çağıran SetFocus
OLE nesnesine yönlendirir. Daha önce giriş odağına sahip olan tüm pencerelerde bu durum kaybolur.
Denetim penceresiz değilse, bu işlev denetimin kendisinin giriş odağını (ile aynı) CWnd::SetFocus
almasına neden olur.
COleControl::SetFont
Denetiminizin stock Font özelliğini ayarlar.
void SetFont(LPFONTDISP pFontDisp);
Parametreler
pFontDisp
Yazı Tipi dağıtım arabirimi işaretçisi.
COleControl::SetForeColor
Denetiminizin stok ForeColor özellik değerini ayarlar.
void SetForeColor(OLE_COLOR dwForeColor);
Parametreler
dwForeColor
Denetiminizin ön plan çizimi için kullanılacak OLE_COLOR değeri.
Açıklamalar
Bu özelliği ve diğer ilgili özellikleri kullanma hakkında daha fazla bilgi için ActiveX Denetimleri: Özellikler makalesine bakın.
COleControl::SetInitialDataFormats
Denetim tarafından desteklenen veri biçimleri listesini başlatmak için çerçeve tarafından çağrılır.
virtual void SetInitialDataFormats();
Açıklamalar
Varsayılan uygulama iki biçim belirtir: CF_METAFILEPICT ve kalıcı özellik kümesi.
COleControl::SetInitialSize
Bir kapsayıcıda ilk kez görüntülendiğinde OLE denetiminin boyutunu ayarlar.
void SetInitialSize(
int cx,
int cy);
Parametreler
cx
OLE denetiminin piksel cinsinden başlangıç genişliği.
Cy
OLE denetiminin piksel cinsinden ilk yüksekliği.
Açıklamalar
Denetiminizin ilk boyutunu ayarlamak için oluşturucunuzda bu işlevi çağırın. İlk boyut, cihaz birimleri veya piksel cinsinden ölçülür. Bu çağrının denetiminizin oluşturucusunda yapılması önerilir.
COleControl::SetModifiedFlag
Denetimin değiştirilmiş durumunu değiştirir.
void SetModifiedFlag(BOOL bModified = TRUE);
Parametreler
bModified
Denetimin değiştirilmiş bayrağı için yeni değer. TRUE, denetimin durumunun değiştirildiğini gösterir; YANLIŞ, denetimin durumunun yeni kaydedildiğini gösterir.
Açıklamalar
Denetiminizin kalıcı durumunu etkileyecek bir değişiklik gerçekleştiğinde bu işlevi çağır. Örneğin, kalıcı bir özelliğin değeri değişirse, bModified TRUE ile bu işlevi çağırın.
COleControl::SetNotPermitted
Düzenleme isteğinin başarısız olduğunu gösterir.
void SetNotPermitted();
Açıklamalar
Başarısız olduğunda BoundPropertyRequestEdit
bu işlevi çağır. Bu işlev, küme işlemine izin verilmediğini belirtmek için türünde COleDispScodeException
bir özel durum oluşturur.
COleControl::SetNotSupported
Denetimin özellik değerinde kullanıcı tarafından değişiklik yapılmasını engeller.
void SetNotSupported();
Açıklamalar
Denetimin kullanıcısı tarafından özellik değerinin değiştirilmesinin desteklenmediği herhangi bir özelliğin Set işlevi yerine bu işlevi çağırın. Bir örnek, salt okunur bir özellik olabilir.
COleControl::SetRectInContainer
Denetimin dikdörtgeninin kapsayıcıya göre koordinatlarını, cihaz birimleriyle ifade edilen şekilde ayarlar.
BOOL SetRectInContainer(LPCRECT lpRect);
Parametreler
lpRect
Kapsayıcıya göre denetimin yeni koordinatlarını içeren bir dikdörtgen işaretçisi.
Dönüş Değeri
Çağrı başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Denetim açıksa yeniden boyutlandırılır; aksi takdirde kapsayıcının OnPosRectChanged
işlevi çağrılır.
COleControl::SetText
Denetiminizin stok Caption veya Text özelliğinin değerini ayarlar.
void SetText(LPCTSTR pszText);
Parametreler
pszText
Karakter dizesi işaretçisi.
Açıklamalar
Stok Resim Yazısı ve Metin özelliklerinin her ikisinin de aynı değere eşlendiğini unutmayın. Bu, iki özellikte yapılan tüm değişikliklerin her iki özelliği de otomatik olarak değiştireceği anlamına gelir. Genel olarak, bir denetim stok Caption veya Text özelliğini desteklemelidir, ancak ikisini birden desteklememelidir.
COleControl::ThrowError
Denetiminizde bir hatanın oluştuğuna işaret eder.
void ThrowError(
SCODE sc,
UINT nDescriptionID,
UINT nHelpID = -1);
void ThrowError(
SCODE sc,
LPCTSTR pszDescription = NULL,
UINT nHelpID = 0);
Parametreler
Sc
Bildirilecek durum kodu değeri. Olası kodların tam listesi için ActiveX Denetimleri: Gelişmiş Konular makalesine bakın.
nDescriptionID
Bildirilecek özel durumun dize kaynak kimliği.
nHelpID
Bildirilecek konunun yardım kimliği.
pszDescription
Bildirilecek özel durumun açıklamasını içeren bir dize.
Açıklamalar
Bu işlev yalnızca bir OLE özelliği için Get veya Set işlevinin içinden veya OLE otomasyon yönteminin uygulanmasından çağrılmalıdır. Başka zamanlarda oluşan hataların sinyalini vermeniz gerekiyorsa hisse senedi Hatası olayını tetiklemelisiniz.
COleControl::TransformCoords
HIMETRIC birimleri ile kapsayıcının yerel birimleri arasındaki koordinat değerlerini dönüştürür.
void TransformCoords(
POINTL* lpptlHimetric,
POINTF* lpptfContainer,
DWORD flags);
Parametreler
lpptlHimetric
HIMETRIC birimlerinde koordinatları içeren bir POINTL
yapıya yönelik işaretçi.
lpptfContainer
Kapsayıcının birim boyutunda koordinatları içeren bir POINTF
yapıya yönelik işaretçi.
Bayrak
Aşağıdaki değerlerin birleşimi:
XFORMCOORDS_POSITION Kapsayıcıda A konumu.
XFORMCOORDS_SIZE Kapsayıcıda A boyutu.
XFORMCOORDS_HIMETRICTOCONTAINER HIMETRIC birimlerini kapsayıcının birimlerine dönüştürün.
XFORMCOORDS_CONTAINERTOHIMETRIC Kapsayıcının birimlerini HIMETRIC birimlerine dönüştürün.
Açıklamalar
XFORMCOORDS_POSITION ve XFORMCOORDS_SIZE ilk iki bayrak, koordinatların konum veya boyut olarak ele alınıp alınmayacağını belirtir. Kalan iki bayrak dönüştürme yönünü gösterir.
COleControl::TranslateColor
renk değerini OLE_COLOR veri türünden COLORREF veri türüne dönüştürür.
COLORREF TranslateColor(
OLE_COLOR clrColor,
HPALETTE hpal = NULL);
Parametreler
clrColor
OLE_COLOR veri türü. Daha fazla bilgi için bkz. Windows OleTranslateColor işlevi.
hpal
İsteğe bağlı palet için tanıtıcı; NULL olabilir.
Dönüş Değeri
Cihazın gösterebileceği clrColor değerine en yakın düz rengi tanımlayan RGB (kırmızı, yeşil, mavi) 32 bit renk değeri.
Açıklamalar
Bu işlev, stok ForeColor ve BackColor özelliklerini CDC üye işlevleri tarafından kullanılan COLORREF türlerine çevirmek için kullanışlıdır.
COleControl::WillAmbientsBeValidDuringLoad
Denetiminizin, daha sonra kalıcı durumundan yüklendiğinde ortam özelliklerinin değerlerini varsayılan değerler olarak kullanıp kullanmayacağını belirler.
BOOL WillAmbientsBeValidDuringLoad();
Dönüş Değeri
Sıfır olmayan, ortam özelliklerinin geçerli olacağını belirtir; aksi takdirde ortam özellikleri geçerli olmaz.
Açıklamalar
Bazı kapsayıcılarda, denetiminin geçersiz kılınması COleControl::DoPropExchange
için yapılan ilk çağrı sırasında denetiminizin ortam özelliklerine erişimi olmayabilir. Bu durum, kapsayıcının IOleObject::SetClientSite çağrılmadan önce IPersistStreamInit::Load veya IPersistStorage::Load çağrısı yapma durumudur (yani, OLEMISC_SETCLIENTSITEFIRST durum bitine uymazsa).
COleControl::WindowProc
Bir nesne için COleControl
bir Windows yordamı sağlar.
virtual LRESULT WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parametreler
ileti
İşlenecek Windows iletisini belirtir.
wParam
İletiyi işlerken kullanılan ek bilgiler sağlar. Parametre değeri iletiye bağlıdır.
lParam
İletiyi işlerken kullanılan ek bilgiler sağlar. Parametre değeri iletiye bağlıdır.
Dönüş Değeri
Dağıtılan iletinin dönüş değeri.
Açıklamalar
Denetimin ileti eşlemesi aracılığıyla belirli iletileri göndermek için bu işlevi çağırın.
Ayrıca bkz.
MFC Örnek CIRC3
MFC Örnek TESTHELP
COlePropertyPage Sınıfı
CWnd Sınıfı
Hiyerarşi Grafiği
CFontHolder Sınıfı
CPictureHolder Sınıfı