MFC ActiveX Denetimleri: Stok Özellikler Ekleme
Hisse senedi özellikleri, sınıfı COleControl
tarafı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
Stok özellikleri için Özellik Ekleme Sihirbazı değişiklikleri
Özellik Ekleme Sihirbazı tarafından desteklenen hisse senedi özellikleri
-
Dekont
Visual Basic özel denetimleri genellikle Top, Left, Width, Height, Align, Tag, Name, TabIndex, TabStop ve Parent gibi özelliklere sahiptir. Ancak ActiveX denetim kapsayıcıları bu denetim özelliklerini uygulamakla sorumludur ve bu nedenle ActiveX denetimleri bu özellikleri desteklememelidir.
Hisse Senedi Özelliği Eklemek için Özellik Ekleme Sihirbazı'nı Kullanma
Özellik desteği tarafından COleControl
otomatik 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
Denetiminizin projesini yükleyin.
Sınıf Görünümü'nde, denetiminizin kitaplık düğümünü genişletin.
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.
Kısayol menüsünde Ekle'ye ve ardından Özellik Ekle'ye tıklayın.
Özellik Adı kutusunda Resim Yazısı'na tıklayın.
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_sAppearance erişilebilen değer. |
BackColor |
DISP_STOCKPROP_BACKCOLOR( ) | çağrısıyla GetBackColor erişilebilen değer. |
BorderStyle |
DISP_STOCKPROP_BORDERSTYLE( ) | olarak m_sBorderStyle erişilebilen değer. |
Caption |
DISP_STOCKPROP_CAPTION( ) | çağrısıyla InternalGetText erişilebilen değer. |
Enabled |
DISP_STOCKPROP_ENABLED( ) | olarak m_bEnabled eriş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 GetForeColor erişilebilen değer. |
hWnd |
DISP_STOCKPROP_HWND( ) | olarak m_hWnd erişilebilen değer. |
Text |
DISP_STOCKPROP_TEXT( ) | çağrısıyla InternalGetText eriş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 CreateSolidBrush
gibi 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 TranslateColor
bir 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ı