Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
A Windows statikus vezérlő funkcióit biztosítja.
Szemantika
class CStatic : public CWnd
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
CStatic::CStatic |
Egy CStatic objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
CStatic::Create |
Létrehozza a Windows statikus vezérlőt, és csatolja az CStatic objektumhoz. |
CStatic::DrawItem |
Felülbírálás egy tulajdonos által rajzolt statikus vezérlő rajzolásához. |
CStatic::GetBitmap |
Lekéri a korábban beállított bitkép fogópontját SetBitmap. |
CStatic::GetCursor |
Lekéri a kurzor képének korábban beállított fogópontját SetCursor. |
CStatic::GetEnhMetaFile |
Lekéri a korábban ezzel beállított továbbfejlesztett metafájl leíróját SetEnhMetaFile. |
CStatic::GetIcon |
Lekéri a korábban beállított ikon fogópontját SetIcon. |
CStatic::SetBitmap |
Megadja a statikus vezérlőben megjelenítendő bitképet. |
CStatic::SetCursor |
A statikus vezérlőben megjelenítendő kurzorképet adja meg. |
CStatic::SetEnhMetaFile |
A statikus vezérlőben megjelenítendő továbbfejlesztett metafájlt ad meg. |
CStatic::SetIcon |
A statikus vezérlőben megjelenítendő ikont adja meg. |
Megjegyzések
A statikus vezérlő szöveges sztringet, dobozt, téglalapot, ikont, kurzort, bitképet vagy továbbfejlesztett metafájlt jelenít meg. Más vezérlők címkézésére, dobozára vagy külön-külön is használható. A statikus vezérlők általában nem vesznek fel bemenetet, és nem ad kimenetet; azonban értesítheti a szülőjét az egérkattintásokról, ha stílussal SS_NOTIFY van létrehozva.
Hozzon létre egy statikus vezérlőt két lépésben. Először hívja meg a konstruktort az CStatic objektum létrehozásához, majd hívja meg a Create tagfüggvényt a statikus vezérlő létrehozásához és az CStatic objektumhoz való csatolásához.
Ha egy párbeszédpanelen (egy párbeszédpanel-erőforráson keresztül) hoz létre CStatic objektumot, a rendszer automatikusan megsemmisíti az CStatic objektumot, amikor a felhasználó bezárja a párbeszédpanelt.
Ha egy objektumot CStatic egy ablakban hoz létre, előfordulhat, hogy azt is el kell pusztítania. A CStatic veremen egy ablakban létrehozott objektum automatikusan megsemmisül. Ha a függvény használatával hozza létre az CStatic objektumot a new halomon, akkor a művelet befejezése után meg kell hívnia delete az objektumot, hogy semmisítse meg.
Öröklési hierarchia
CStatic
Requirements
Fejléc:afxwin.h
CStatic::Create
Létrehozza a Windows statikus vezérlőt, és csatolja az CStatic objektumhoz.
virtual BOOL Create(
LPCTSTR lpszText,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID = 0xffff);
Paraméterek
lpszText
Megadja a vezérlőben elhelyezendő szöveget. Ha NULL, akkor a szöveg nem lesz látható.
dwStyle
A statikus vezérlő ablakstílusát adja meg. Alkalmazza a vezérlőre a statikus vezérlőstílusok bármilyen kombinációját.
rect
A statikus vezérlő pozícióját és méretét adja meg. Ez lehet egy RECT struktúra vagy objektum CRect .
pParentWnd
Megadja a CStatic szülőablakot, általában egy objektumot CDialog . Nem lehet NULL.
nID
Megadja a statikus vezérlő vezérlőazonosítóját.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Hozzon létre egy objektumot CStatic két lépésben. Először hívja meg a konstruktort CStatic, majd hívja meg Create, amely létrehozza a Windows statikus vezérlőt, és csatolja az CStatic objektumhoz.
Alkalmazza a következő ablakstílusokat egy statikus vezérlőre:
WS_CHILDMindigWS_VISIBLEÁltalábanWS_DISABLEDRitkán
Ha bitképet, kurzort, ikont vagy metafájlt fog megjeleníteni a statikus vezérlőben, az alábbi statikus stílusok egyikét kell alkalmaznia:
SS_BITMAPHasználja ezt a stílust bitképekhez.SS_ICONHasználja ezt a stílust a kurzorokhoz és ikonokhoz.SS_ENHMETAFILEHasználja ezt a stílust továbbfejlesztett metafájlokhoz.
A kurzorok, bitképek vagy ikonok esetében a következő stílust is érdemes használni:
-
SS_CENTERIMAGEA kép középre igazítása a statikus vezérlőben.
Example
// 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
Egy CStatic objektumot hoz létre.
CStatic();
Example
// Create a static object on the stack.
CStatic myStatic;
// Create a static object on the heap.
CStatic *pmyStatic = new CStatic;
CStatic::DrawItem
A keretrendszer meghívta, hogy rajzoljon egy tulajdonos által rajzolt statikus vezérlőt.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Paraméterek
lpDrawItemStruct
Egy struktúra mutatója DRAWITEMSTRUCT . A struktúra információkat tartalmaz a megrajzolandó elemről és a szükséges rajz típusáról.
Megjegyzések
A függvény felülbírálása a tulajdonos által rajzolt CStatic objektumok rajzának implementálásához (a vezérlőelem stílusa SS_OWNERDRAW).
CStatic::GetBitmap
Lekéri a korábban a SetBitmaphozzá társított bitkép leíróját CStatic.
HBITMAP GetBitmap() const;
Visszaadott érték
Egy fogópont az aktuális bitképhez, vagy NULL ha nincs beállítva bitkép.
Example
// 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
Lekéri a kurzor korábban beállított SetCursorfogópontját, amely a következőhöz CStaticvan társítva: .
HCURSOR GetCursor();
Visszaadott érték
Egy fogópont az aktuális kurzorhoz, vagy NULL ha nincs beállítva kurzor.
Example
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
Lekéri a korábban a SetEnhMetafiletársított továbbfejlesztett metafájl leíróját CStatic.
HENHMETAFILE GetEnhMetaFile() const;
Visszaadott érték
Az aktuális továbbfejlesztett metafájl leírója, vagy NULL ha nincs beállítva továbbfejlesztett metafájl.
Example
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
Lekéri a korábban a SetIconhozzá társított ikon fogópontját CStatic.
HICON GetIcon() const;
Visszaadott érték
Egy fogópont az aktuális ikonhoz, vagy NULL ha nincs beállítva ikon.
Example
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
Új bitkép társítása a statikus vezérlővel.
HBITMAP SetBitmap(HBITMAP hBitmap);
Paraméterek
hBitmap
A statikus vezérlőben rajzolandó bitkép kezelése.
Visszaadott érték
A korábban a statikus vezérlőhöz társított bitkép leírója, vagy NULL ha a statikus vezérlőhöz nem társítottak bitképet.
Megjegyzések
A bitkép automatikusan megrajzolódik a statikus vezérlőben. Alapértelmezés szerint a rendszer a bal felső sarokban rajzolja meg, a statikus vezérlő pedig a bitkép méretére lesz átméretezve.
Különböző ablak- és statikus vezérlőstílusokat használhat, többek között az alábbiakat:
SS_BITMAPEzt a stílust mindig bitképekhez használja.SS_CENTERIMAGEA kép középre igazítása a statikus vezérlőben. Ha a kép nagyobb, mint a statikus vezérlő, a rendszer kivágja. Ha kisebb, mint a statikus vezérlő, a kép körüli üres területet a bitkép bal felső sarkában lévő képpont színe tölti ki.Az MFC biztosítja az osztályt
CBitmap, amelyet akkor használhat, ha többre van szüksége egy bitképképpel, mint a Win32 függvényLoadBitmapmeghívása.CBitmap, amely egyféle GDI-objektumot tartalmaz, gyakran használják a grafikus objektum statikus vezérlőként való megjelenítéséhez használt osztálykéntCStaticCWnd.
CImage EGY ATL/MFC-osztály, amely lehetővé teszi az eszközfüggetlen bitképek (DIB) egyszerűbb kezelését. További információ: CImage Osztály.
- A tipikus használat egy GDI-objektum visszaadása
CStatic::SetBitmap, amelyet egy vagyCImagetöbbCBitmapobjektum HBITMAP-operátora ad vissza. Az ehhez a kódhoz hasonló a következő sor.
MyStaticControl.SetBitmap(HBITMAP(MyBitmap));
Az alábbi példa két CStatic objektumot hoz létre a halomra. Ezután betölti az egyiket egy rendszerbitkép használatával CBitmap::LoadOEMBitmap , a másikat pedig egy fájlból CImage::Load.
Example
// 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
Új kurzorkép társítása a statikus vezérlővel.
HCURSOR SetCursor(HCURSOR hCursor);
Paraméterek
hCursor
A statikus vezérlőbe rajzolandó kurzor fogópontja.
Visszaadott érték
A korábban a statikus vezérlőhöz társított kurzor fogópontja, vagy NULL ha a statikus vezérlőhöz nem társították a kurzort.
Megjegyzések
A kurzor automatikusan megrajzolódik a statikus vezérlőben. Alapértelmezés szerint a program a bal felső sarokban rajzolja meg, a statikus vezérlő pedig a kurzor méretére lesz átméretezve.
Különböző ablak- és statikus vezérlőstílusokat használhat, többek között az alábbiakat:
SS_ICONEzt a stílust mindig a kurzorokhoz és ikonokhoz használhatja.SS_CENTERIMAGEA statikus vezérlő középre igazítása. Ha a kép nagyobb, mint a statikus vezérlő, a rendszer kivágja. Ha kisebb, mint a statikus vezérlő, a kép körüli üres terület a statikus vezérlő háttérszínével lesz kitöltve.
Example
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
Új továbbfejlesztett metafájlkép társítása a statikus vezérlővel.
HENHMETAFILE SetEnhMetaFile(HENHMETAFILE hMetaFile);
Paraméterek
hMetaFile
A statikus vezérlőben rajzolandó továbbfejlesztett metafájl kezelése.
Visszaadott érték
A korábban a statikus vezérlőhöz társított továbbfejlesztett metafájl leírója, vagy NULL ha a statikus vezérlőhöz nem társított továbbfejlesztett metafájlt.
Megjegyzések
A továbbfejlesztett metafájl automatikusan megrajzolódik a statikus vezérlőben. A továbbfejlesztett metafájl mérete a statikus vezérlő méretéhez igazodik.
Különböző ablak- és statikus vezérlőstílusokat használhat, többek között az alábbiakat:
-
SS_ENHMETAFILEEzt a stílust mindig továbbfejlesztett metafájlokhoz használhatja.
Example
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
Új ikonkép társítása a statikus vezérlővel.
HICON SetIcon(HICON hIcon);
Paraméterek
hIcon
A statikus vezérlőben rajzolandó ikon fogópontja.
Visszaadott érték
A statikus vezérlőhöz korábban társított ikon fogópontja, vagy NULL ha a statikus vezérlőhöz nincs ikon társítva.
Megjegyzések
Az ikon automatikusan megrajzolódik a statikus vezérlőben. Alapértelmezés szerint a bal felső sarokban lesz rajzolva, a statikus vezérlő pedig az ikon méretére lesz átméretezve.
Különböző ablak- és statikus vezérlőstílusokat használhat, többek között az alábbiakat:
SS_ICONEzt a stílust mindig a kurzorokhoz és ikonokhoz használhatja.SS_CENTERIMAGEA statikus vezérlő középre igazítása. Ha a kép nagyobb, mint a statikus vezérlő, a rendszer kivágja. Ha kisebb, mint a statikus vezérlő, a kép körüli üres terület a statikus vezérlő háttérszínével lesz kitöltve.
Example
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));
Lásd még
CWnd osztály
hierarchiadiagram
CWnd osztály
CButton osztály
CComboBox osztály
CEdit osztály
CListBox osztály
CScrollBar osztály
CDialog osztály