Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows statik denetiminin işlevselliğini sağlar.
Sözdizimi
class CStatic : public CWnd
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
CStatic::CStatic |
Bir CStatic nesne oluşturur. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CStatic::Create |
Windows statik denetimini oluşturur ve nesnesine CStatic ekler. |
CStatic::DrawItem |
Sahip tarafından çizilmiş statik denetim çizmek için geçersiz kılın. |
CStatic::GetBitmap |
Önceden ile SetBitmapayarlanan bit eşlem tutamacını alır. |
CStatic::GetCursor |
önceden ile SetCursorayarlanan imleç görüntüsünün tutamacını alır. |
CStatic::GetEnhMetaFile |
Daha önce ile SetEnhMetaFileayarlanan gelişmiş meta dosyasının tutamacını alır. |
CStatic::GetIcon |
Önceden ile SetIconayarlanan simgenin tutamacını alır. |
CStatic::SetBitmap |
Statik denetimde görüntülenecek bit eşlemi belirtir. |
CStatic::SetCursor |
Statik denetimde görüntülenecek imleç görüntüsünü belirtir. |
CStatic::SetEnhMetaFile |
Statik denetimde görüntülenecek gelişmiş bir meta dosyası belirtir. |
CStatic::SetIcon |
Statik denetimde görüntülenecek simgeyi belirtir. |
Açıklamalar
Statik denetim bir metin dizesi, kutu, dikdörtgen, simge, imleç, bit eşlem veya gelişmiş meta dosyası görüntüler. Diğer denetimleri etiketlemek, işaretlemek veya ayırmak için kullanılabilir. Statik denetim normalde giriş almaz ve çıkış sağlamaz; ancak, stille SS_NOTIFY oluşturulduysa fare tıklamalarının üst öğesini bilgilendirebilir.
İki adımda statik denetim oluşturun. İlk olarak, nesnesini oluşturmak için oluşturucuyu çağırın CStatic , ardından statik denetimi oluşturmak ve nesneye eklemek için üye işlevini çağırın Create CStatic .
İletişim kutusunda (iletişim kutusu kaynağı aracılığıyla) bir CStatic nesne oluşturursanız, CStatic kullanıcı iletişim kutusunu kapattığında nesne otomatik olarak yok edilir.
Pencere içinde bir CStatic nesne oluşturursanız, nesneyi yok etmeniz de gerekebilir. Bir CStatic pencere içindeki yığında oluşturulan bir nesne otomatik olarak yok edilir. işlevini kullanarak new öbek üzerinde nesnesi oluşturursanızCStatic, nesneyle işiniz bittiğinde yok etmek için nesneyi çağırmanız delete gerekir.
Devralma Hiyerarşisi
CStatic
Gereksinimler
Üstbilgi: afxwin.h
CStatic::Create
Windows statik denetimini oluşturur ve nesnesine CStatic ekler.
virtual BOOL Create(
LPCTSTR lpszText,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID = 0xffff);
Parametreler
lpszText
Denetime yerleştirecek metni belirtir. ise NULL, hiçbir metin görünmez.
dwStyle
Statik denetimin pencere stilini belirtir. Denetime statik denetim stillerinin herhangi bir bileşimini uygulayın.
rect
Statik denetimin konumunu ve boyutunu belirtir. Bir yapı veya CRect nesne olabilirRECT.
pParentWnd
CStatic Üst pencereyi( genellikle bir CDialog nesne) belirtir. Bu olmamalıdır NULL.
nID
Statik denetimin denetim kimliğini belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
İki adımda bir CStatic nesne oluşturun. İlk olarak oluşturucuyu çağırın CStaticve ardından Windows statik denetimini oluşturan ve nesnesine ekleyen öğesini çağırınCreateCStatic.
Statik denetime aşağıdaki pencere stillerini uygulayın:
WS_CHILDHer zamanWS_VISIBLEGeneldeWS_DISABLEDNadiren
Statik denetimde bit eşlem, imleç, simge veya meta dosyası görüntüleyecekseniz, aşağıdaki statik stillerden birini uygulamanız gerekir:
SS_BITMAPBit eşlemler için bu stili kullanın.SS_ICONİmleçler ve simgeler için bu stili kullanın.SS_ENHMETAFILEGelişmiş meta dosyaları için bu stili kullanın.
İmleçler, bit eşlemler veya simgeler için aşağıdaki stili de kullanmak isteyebilirsiniz:
SS_CENTERIMAGEStatik denetimdeki görüntüyü ortalamak için kullanın.
Örnek
// This code can be placed in OnInitDialog
CStatic myStatic;
// Create a child static control that centers its text horizontally.
myStatic.Create(_T("my static"), WS_CHILD | WS_VISIBLE | SS_CENTER,
CRect(10, 10, 150, 50), pParentWnd);
CStatic::CStatic
Bir CStatic nesne oluşturur.
CStatic();
Örnek
// Create a static object on the stack.
CStatic myStatic;
// Create a static object on the heap.
CStatic *pmyStatic = new CStatic;
CStatic::DrawItem
Sahip tarafından çizilmiş statik denetim çizmek için çerçeve tarafından çağrılır.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Parametreler
lpDrawItemStruct
Bir yapıya işaretçi DRAWITEMSTRUCT . Yapı, çizilecek öğe ve gerekli çizim türü hakkında bilgi içerir.
Açıklamalar
Sahip tarafından çizilmiş CStatic bir nesne için çizim uygulamak için bu işlevi geçersiz kılın (denetimin stili SS_OWNERDRAWvardır).
CStatic::GetBitmap
ile ilişkilendirilmiş CStaticolan bit eşleminin daha önce ile SetBitmapayarlanan tutamacını alır.
HBITMAP GetBitmap() const;
Dönüş Değeri
Geçerli bit eşlem için bir tanıtıcı veya NULL bit eşlem ayarlanmamışsa.
Örnek
// Code such as this could be placed in the OnInitDialog callback.
// It creates two bitmap static controls on the heap, using members
// _m_pCStatic_A and _m_pCStatic_B to identify them so that they can
// be destroyed when no longer needed.
CBitmap CBmp;
CImage CImg;
// Create a child bitmap static control and load it from a CBitmap object.
_m_pCStatic_A = new CStatic;
_m_pCStatic_A->Create(_T("A bitmap static control (A)"),
WS_CHILD|WS_BORDER|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(16,16,64,64),
pParentWnd);
CBmp.LoadOEMBitmap(OBM_CLOSE); // Loads one of the default Windows bitmaps
_m_pCStatic_A->SetBitmap( HBITMAP(CBmp) );
_m_pCStatic_A->ShowWindow( SW_SHOW );
// Create a child bitmap static control and load it from a CImage object.
_m_pCStatic_B = new CStatic;
_m_pCStatic_B->Create(_T("A bitmap static control (B)"),
WS_CHILD|WS_BORDER|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(90,16,138,64),
pParentWnd);
CImg.Load( _T("test.png") );
if( _m_pCStatic_B->GetBitmap( ) == NULL )
_m_pCStatic_B->SetBitmap( HBITMAP(CImg) );
/* Then, later:
delete( _m_pCStatic_A );
delete( _m_pCStatic_B );
*/
CStatic::GetCursor
daha önce ile ayarlanmış olan ve ile SetCursorCStaticilişkilendirilmiş olan imlecin tutamacını alır.
HCURSOR GetCursor();
Dönüş Değeri
Geçerli imlecin tutamacı veya NULL hiçbir imleç ayarlanmamışsa.
Örnek
CStatic myStatic;
// Create a child icon static control.
myStatic.Create(_T("my static"),
WS_CHILD | WS_VISIBLE | SS_ICON | SS_CENTERIMAGE, CRect(10, 10, 150, 50),
pParentWnd);
// If no image is defined for the static control, define the image
// to the system arrow and question mark cursor.
if (myStatic.GetCursor() == NULL)
myStatic.SetCursor(::LoadCursor(NULL, IDC_HELP));
CStatic::GetEnhMetaFile
ile ilişkilendirilmişCStatic, daha önce ile SetEnhMetafileayarlanmış gelişmiş meta dosyasının tutamacını alır.
HENHMETAFILE GetEnhMetaFile() const;
Dönüş Değeri
Geçerli geliştirilmiş meta dosyasının tanıtıcısı veya NULL gelişmiş meta dosyası ayarlanmamışsa.
Örnek
CStatic myStatic;
// Create a child enhanced metafile static control.
myStatic.Create(_T("my static"),
WS_CHILD | WS_VISIBLE | SS_ENHMETAFILE | SS_CENTERIMAGE,
CRect(10, 10, 150, 50), pParentWnd);
// If no image is defined for the static control, define the image
// to be "myemf.emf."
if (myStatic.GetEnhMetaFile() == NULL)
myStatic.SetEnhMetaFile(::GetEnhMetaFile(_T("myemf.emf")));
CStatic::GetIcon
daha önce ile SetIconayarlanmış ve ile CStaticilişkilendirilmiş olan simgenin tutamacını alır.
HICON GetIcon() const;
Dönüş Değeri
Geçerli simgenin tutamacı veya NULL herhangi bir simge ayarlanmamışsa.
Örnek
CStatic myStatic;
// Create a child icon static control.
myStatic.Create(_T("my static"),
WS_CHILD | WS_VISIBLE | SS_ICON | SS_CENTERIMAGE, CRect(10, 10, 150, 50),
pParentWnd);
// If no icon is defined for the static control, define the icon
// to the system error icon.
if (myStatic.GetIcon() == NULL)
myStatic.SetIcon(::LoadIcon(NULL, IDI_ERROR));
CStatic::SetBitmap
Yeni bit eşlemi statik denetimle ilişkilendirir.
HBITMAP SetBitmap(HBITMAP hBitmap);
Parametreler
hBitmap
Statik denetimde çizilecek bit eşlem tutamacı.
Dönüş Değeri
Daha önce statik denetimle ilişkilendirilmiş bit eşlem tutamacı veya NULL statik denetimle ilişkilendirilmiş bit eşlem yoksa.
Açıklamalar
Bit eşlem statik denetimde otomatik olarak çizilir. Varsayılan olarak, sol üst köşeye çizilir ve statik denetim bit eşlem boyutuna göre yeniden boyutlandırılır.
Aşağıdakiler de dahil olmak üzere çeşitli pencere ve statik denetim stilleri kullanabilirsiniz:
SS_BITMAPBit eşlemler için her zaman bu stili kullanın.SS_CENTERIMAGEStatik denetimdeki görüntüyü ortalamak için kullanın. Görüntü statik denetimden büyükse kırpılır. Statik denetimden küçükse, görüntünün etrafındaki boş alan bit eşlemin sol üst köşesindeki pikselin rengiyle doldurulur.MFC, bit eşlem görüntüsüyle win32 işlevini
LoadBitmapçağırmaktan daha fazlasını yapmanız gerektiğinde kullanabileceğiniz sınıfınıCBitmapsağlar.CBitmap, bir tür GDI nesnesi içeren, genellikle bir grafik nesnesini statik denetim olarak görüntülemek için kullanılan birCWndsınıf olan ileCStaticişbirliği içinde kullanılır.
CImage , cihazdan bağımsız bit eşlemlerle (DIB) daha kolay çalışmanızı sağlayan bir ATL/MFC sınıfıdır. Daha fazla bilgi için bkz CImage . Sınıf.
- Tipik kullanım, bir veya
CImagenesnesinin HBITMAP işleci tarafından döndürülen birCBitmapGDI nesnesi vermektirCStatic::SetBitmap. Bunu yapmak için kod aşağıdaki satıra benzer.
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));
Aşağıdaki örnek yığında iki CStatic nesne oluşturur. Ardından kullanarak birini sistem bit eşlemi CBitmap::LoadOEMBitmap ile, diğerini kullanarak CImage::Loadbir dosyadan yükler.
Örnek
// Code such as this could be placed in the OnInitDialog callback.
// It creates two bitmap static controls on the heap, using members
// _m_pCStatic_A and _m_pCStatic_B to identify them so that they can
// be destroyed when no longer needed.
CBitmap CBmp;
CImage CImg;
// Create a child bitmap static control and load it from a CBitmap object.
_m_pCStatic_A = new CStatic;
_m_pCStatic_A->Create(_T("A bitmap static control (A)"),
WS_CHILD|WS_BORDER|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(16,16,64,64),
pParentWnd);
CBmp.LoadOEMBitmap(OBM_CLOSE); // Loads one of the default Windows bitmaps
_m_pCStatic_A->SetBitmap( HBITMAP(CBmp) );
_m_pCStatic_A->ShowWindow( SW_SHOW );
// Create a child bitmap static control and load it from a CImage object.
_m_pCStatic_B = new CStatic;
_m_pCStatic_B->Create(_T("A bitmap static control (B)"),
WS_CHILD|WS_BORDER|WS_VISIBLE|SS_BITMAP|SS_CENTERIMAGE, CRect(90,16,138,64),
pParentWnd);
CImg.Load( _T("test.png") );
if( _m_pCStatic_B->GetBitmap( ) == NULL )
_m_pCStatic_B->SetBitmap( HBITMAP(CImg) );
/* Then, later:
delete( _m_pCStatic_A );
delete( _m_pCStatic_B );
*/
CStatic::SetCursor
Yeni bir imleç görüntüsünü statik denetimle ilişkilendirir.
HCURSOR SetCursor(HCURSOR hCursor);
Parametreler
hCursor
Statik denetimde çizilecek imlecin tutamacı.
Dönüş Değeri
daha önce statik denetimle ilişkilendirilmiş olan veya NULL statik denetimle ilişkilendirilmiş imleç yoksa imlecin tutamacı.
Açıklamalar
İmleç statik denetimde otomatik olarak çizilir. Varsayılan olarak, sol üst köşeye çizilir ve statik denetim imlecin boyutuna göre yeniden boyutlandırılır.
Aşağıdakiler de dahil olmak üzere çeşitli pencere ve statik denetim stilleri kullanabilirsiniz:
SS_ICONİmleçler ve simgeler için her zaman bu stili kullanın.SS_CENTERIMAGEStatik denetimi ortalamak için kullanın. Görüntü statik denetimden büyükse kırpılır. Statik denetimden küçükse, görüntünün etrafındaki boş alan statik denetimin arka plan rengiyle doldurulur.
Örnek
CStatic myStatic;
// Create a child icon static control.
myStatic.Create(_T("my static"),
WS_CHILD | WS_VISIBLE | SS_ICON | SS_CENTERIMAGE, CRect(10, 10, 150, 50),
pParentWnd);
// If no image is defined for the static control, define the image
// to the system arrow and question mark cursor.
if (myStatic.GetCursor() == NULL)
myStatic.SetCursor(::LoadCursor(NULL, IDC_HELP));
CStatic::SetEnhMetaFile
Yeni bir gelişmiş meta dosyası görüntüsünü statik denetimle ilişkilendirir.
HENHMETAFILE SetEnhMetaFile(HENHMETAFILE hMetaFile);
Parametreler
hMetaFile
Statik denetimde çizilecek gelişmiş meta dosyasının tanıtıcısı.
Dönüş Değeri
Daha önce statik denetimle ilişkilendirilmiş gelişmiş meta dosyasının tutamacı veya NULL statik denetimle ilişkilendirilmiş gelişmiş meta dosyası yoksa.
Açıklamalar
Gelişmiş meta dosyası statik denetimde otomatik olarak çizilir. Geliştirilmiş meta dosyası, statik denetimin boyutuna uyacak şekilde ölçeklendirilir.
Aşağıdakiler de dahil olmak üzere çeşitli pencere ve statik denetim stilleri kullanabilirsiniz:
SS_ENHMETAFILEGelişmiş meta dosyaları için her zaman bu stili kullanın.
Örnek
CStatic myStatic;
// Create a child enhanced metafile static control.
myStatic.Create(_T("my static"),
WS_CHILD | WS_VISIBLE | SS_ENHMETAFILE | SS_CENTERIMAGE,
CRect(10, 10, 150, 50), pParentWnd);
// If no image is defined for the static control, define the image
// to be "myemf.emf."
if (myStatic.GetEnhMetaFile() == NULL)
myStatic.SetEnhMetaFile(::GetEnhMetaFile(_T("myemf.emf")));
CStatic::SetIcon
Yeni bir simge görüntüsünü statik denetimle ilişkilendirir.
HICON SetIcon(HICON hIcon);
Parametreler
hIcon
Statik denetimde çizilecek simgenin tutamacı.
Dönüş Değeri
Daha önce statik denetimle ilişkilendirilmiş simgenin tutamacı veya NULL statik denetimle ilişkilendirilmiş simge yoksa.
Açıklamalar
Simge statik denetimde otomatik olarak çizilir. Varsayılan olarak, sol üst köşeye çizilir ve statik denetim simgenin boyutuna göre yeniden boyutlandırılır.
Aşağıdakiler de dahil olmak üzere çeşitli pencere ve statik denetim stilleri kullanabilirsiniz:
SS_ICONİmleçler ve simgeler için her zaman bu stili kullanın.SS_CENTERIMAGEStatik denetimi ortalamak için kullanın. Görüntü statik denetimden büyükse kırpılır. Statik denetimden küçükse, görüntünün etrafındaki boş alan statik denetimin arka plan rengiyle doldurulur.
Örnek
CStatic myStatic;
// Create a child icon static control.
myStatic.Create(_T("my static"),
WS_CHILD | WS_VISIBLE | SS_ICON | SS_CENTERIMAGE, CRect(10, 10, 150, 50),
pParentWnd);
// If no icon is defined for the static control, define the icon
// to the system error icon.
if (myStatic.GetIcon() == NULL)
myStatic.SetIcon(::LoadIcon(NULL, IDI_ERROR));
Ayrıca bkz.
CWnd Sınıf
Hiyerarşi Grafiği
CWnd Sınıf
CButton Sınıf
CComboBox Sınıf
CEdit Sınıf
CListBox Sınıf
CScrollBar Sınıf
CDialog Sınıf