Aracılığıyla paylaş


MFC ActiveX Denetimleri: Stok Özellikler Ekleme

Hisse senedi özellikleri, sınıfı COleControltarafından zaten uygulandıkları için içindeki özel özelliklerden farklıdır. COleControl denetimi için ortak özellikleri destekleyen önceden tanımlanmış üye işlevleri içerir. Bazı yaygın özellikler, denetimin başlık, ön plan ve arka plan renklerini içerir. Diğer hisse senedi özellikleri hakkında bilgi için, bu makalenin devamında yer alan Özellik Ekleme Sihirbazı tarafından desteklenen Hisse Senedi Özellikleri'ne bakın. Hisse senedi özellikleri için dağıtım eşlemesi girişleri her zaman DISP_STOCKPROP önek olarak eklenir.

Bu makalede, Özellik Ekleme Sihirbazı kullanılarak ActiveX denetimine hisse senedi özelliğinin (bu örnekte Resim Yazısı) nasıl ekleneceği açıklanır ve sonuçta elde edilen kod değişiklikleri açıklanır. Konu başlıkları şunlardır:

Hisse Senedi Özelliği Eklemek için Özellik Ekleme Sihirbazı'nı Kullanma

Özellik desteği tarafından COleControlotomatik olarak işlendiğinden, stok özellikleri eklemek için özel özellikler eklemekten daha az kod gerekir. Aşağıdaki yordam, stock Caption özelliğini activeX denetim çerçevesine eklemeyi gösterir ve diğer hisse senedi özelliklerini eklemek için de kullanılabilir. Seçili hisse senedi özellik adını Resim Yazısı olarak değiştirin.

Özellik Ekleme Sihirbazı'nı kullanarak stock Caption özelliğini eklemek için

  1. Denetiminizin projesini yükleyin.

  2. Sınıf Görünümü'nde, denetiminizin kitaplık düğümünü genişletin.

  3. Kısayol menüsünü açmak için denetiminizin arabirim düğümüne (kitaplık düğümünün ikinci düğümü) sağ tıklayın.

  4. Kısayol menüsünde Ekle'ye ve ardından Özellik Ekle'ye tıklayın.

    Bu işlem Özellik Ekleme Sihirbazı'nı açar.

  5. Özellik Adı kutusunda Resim Yazısı'na tıklayın.

  6. Finish (Son) düğmesine tıklayın.

Stok Özellikleri için Özellik Sihirbazı Değişiklikleri Ekleme

COleControl Stok özelliklerini desteklediğinden Özellik Ekleme Sihirbazı sınıf bildirimini hiçbir şekilde değiştirmez; özelliği dağıtım eşlemesine ekler. Özellik Ekleme Sihirbazı, uygulamanın içinde bulunan denetimin dağıtım eşlemesine aşağıdaki satırı ekler ( . CPP) dosyası:

DISP_STOCKPROP_CAPTION()

Aşağıdaki satır, denetiminizin arabirim açıklamasına ( eklenir. IDL) dosyası:

[id(DISPID_CAPTION), helpstring("property Caption")] BSTR Caption;

Bu satır Caption özelliğine belirli bir kimlik atar. Özelliğin bağlanabilir olduğuna ve değeri değiştirmeden önce veritabanından izin isteğinde bulunacağını göreceksiniz.

Bu, Caption özelliğini denetiminizin kullanıcıları tarafından kullanılabilir hale getirir. Hisse senedi özelliğinin değerini kullanmak için, temel sınıfın üye değişkenine veya üye işlevine erişin COleControl . Bu üye değişkenleri ve üye işlevleri hakkında daha fazla bilgi için sonraki Özellik Ekleme Sihirbazı tarafından desteklenen Hisse Senedi Özellikleri bölümüne bakın.

Özellik Ekleme Sihirbazı Tarafından Desteklenen Hisse Senedi Özellikleri

COleControl sınıfı dokuz hisse senedi özelliği sağlar. Özellik Ekleme Sihirbazı'nı kullanarak istediğiniz özellikleri ekleyebilirsiniz.

Özellik Dağıtım eşleme girdisi Değere erişme
Appearance DISP_STOCKPROP_APPEARANCE( ) olarak m_sAppearanceerişilebilen değer.
BackColor DISP_STOCKPROP_BACKCOLOR( ) çağrısıyla GetBackColorerişilebilen değer.
BorderStyle DISP_STOCKPROP_BORDERSTYLE( ) olarak m_sBorderStyleerişilebilen değer.
Caption DISP_STOCKPROP_CAPTION( ) çağrısıyla InternalGetTexterişilebilen değer.
Enabled DISP_STOCKPROP_ENABLED( ) olarak m_bEnablederişilebilen değer.
Font DISP_STOCKPROP_FONT( ) MFC ActiveX Denetimleri: Kullanım için Yazı Tiplerini Kullanma makalesine bakın.
ForeColor DISP_STOCKPROP_FORECOLOR( ) çağrısıyla GetForeColorerişilebilen değer.
hWnd DISP_STOCKPROP_HWND( ) olarak m_hWnderişilebilen değer.
Text DISP_STOCKPROP_TEXT( ) çağrısıyla InternalGetTexterişilebilen değer. Bu özellik, özellik adı dışında ile aynıdır Caption.
ReadyState DISP_STOCKPROP_READYSTATE() veya olarak m_lReadyState erişilebilen değer GetReadyState

Hisse Senedi Özellikleri ve Bildirimi

Çoğu hisse senedi özelliğinin geçersiz kılınabilecek bildirim işlevleri vardır. Örneğin, özellik her BackColor değiştirildiğinde işlev OnBackColorChanged (denetim sınıfının üye işlevi) çağrılır. Varsayılan uygulama (içinde COleControl) öğesini çağırır InvalidateControl. Bu duruma yanıt olarak ek eylemler yapmak istiyorsanız bu işlevi geçersiz kılın.

Renk Özellikleri

Denetimi boyarken stok ForeColor ve BackColor özellikleri veya kendi özel renk özelliklerinizi kullanabilirsiniz. Color özelliğini kullanmak için COleControl::TranslateColor üye işlevini çağırın. Bu işlevin parametreleri color özelliğinin değeri ve isteğe bağlı bir palet tutamacıdır. Dönüş değeri, ve CreateSolidBrushgibi SetTextColor GDI işlevlerine geçirilebilen bir COLORREF değeridir.

Hisse senedi ForeColor ve BackColor özellikler için renk değerlerine sırasıyla veya GetBackColor işlevi çağrılarak GetForeColor erişilir.

Aşağıdaki örnek, bir denetimi boyarken bu iki renk özelliğinin kullanılmasını gösterir. Geçici bir COLORREF değişkenini ve öğesini çağıran TranslateColorbir CBrush nesnesi başlatır: biri özelliğini, ForeColor diğeri özelliğini kullanarakBackColor. Daha sonra denetimin dikdörtgenini boyamak için geçici CBrush bir nesne kullanılır ve metin rengi özelliği kullanılarak ForeColor ayarlanır.

CBrush bkBrush(TranslateColor(GetBackColor()));
COLORREF clrFore = TranslateColor(GetForeColor());
pdc->FillRect(rcBounds, &bkBrush);
pdc->SetTextColor(clrFore);
pdc->DrawText(InternalGetText(), -1, rcBounds, DT_SINGLELINE | DT_CENTER | DT_VCENTER);

Ayrıca bkz.

MFC ActiveX Denetimleri
MFC ActiveX Denetimleri: Özellikler
MFC ActiveX Denetimleri: Yöntemler
COleControl Sınıfı