Hogyan változtassuk meg a háttér színét az ablak MFC - mindent róla, és a programozás

Változtatni a háttér színét a tárgyak CView, CFrameWnd vagy CWnd, akkor az üzenet feldolgozására WM_ERASEBKGND. Az alábbi példa bemutatja, hogyan kell ezt csinálni.

Mintakódok

Ahhoz, hogy változtatni a háttér színét az ablak CMDIFrameWnd, akkor létre kell hozni egy alosztálya (alosztály) a kliens ablak több dokumentum interfész (MDI) (az ablak az ügyféltérben CMDIFrameWnd), és az üzenet feldolgozására WM_ERASEBKGND. További információk az alosztály ablakok MDICLIENT lásd a cikk a Microsoft Knowledge Base-ben:

Q129471 öröklõdés (alosztály) MDIClient a MFC

Változtatni a háttér színét slientskogo MDI ablak (kliens terület CMDIFrameWnd), hajtsa végre a következő lépéseket a varázsló segítségével:

  1. Segítségével ClassWizard, hozzon létre egy általános osztályt CWnd.
  2. A CMainFrame osztály, hozzon létre egy változó típusú CWnd chelen 1. bekezdés.
  3. Az osztály függvényhívás után CMainFrame OnCreate alap osztály CMDIFrameWnd :: OnCreate (), adjunk hozzá egy hívás SubclassWindow (). Például:

m_hWndMDIClient tagja változó CMDIFrameWnd amely a kilincset a kliens ablak MDI. Csak cserélje „m_wndNewClient” változó, amit a 2. lépésben létrehozott.

Megjegyzés: Cserélje ki a „CNewClientWnd” az osztály nevét.

Tájékoztatás öröklõdés windows alatt MFC segítségével megtalálható a következő anyagok:

  • "Class Library Reference" funkciókhoz CWnd :: SubclassWindow (), CWnd :: GetSuperWndProcAddr (), és CWnd :: SubclassDlgItem ()
  • Keresés a Microsoft Knowledge Base következő kulcsszavakat:

    alosztály és a minta és az MFC

  • Példa az MFC CTRLTEST, ami jön a Visual C ++ for Windows és a Visual C ++ 32-bit Edition.
  • Lásd. Cikk címe: "A Windows Alosztályosítás a Microsoft Foundation Class Library" a Microsoft Developer Network CD (MSDN).
  • Újradefiniálása WM_ERASEBKGND egyetemes üzenetet CWnd osztály, a fenti kódot.
  • Ahhoz, hogy változtatni a háttér színét egy CFormView objektum lehet kezelni WM_ERASEBKGND üzenetet, és használja a fenti kódot, vagy az üzenet feldolgozására WM_CTLCOLOR.

    Ha az alkalmazás, amely megteremtette az ablak egy Windows alkalmazás, visszatér a neve „NTVDM”. Ahhoz, hogy a tényleges fájl nevét, meg kell termelni Win16 alkalmazás, aminek hatására GetModuleFileName (), és adja át a fájlnevet vissza a használó program kako.

    Funkciók közös dialógusok frissíteni a fájlok listája és könyvtárak beépített közös dialógusok és ezért használhatatlan alkalmazások, amelyek alprogram közös dialógusok. Ezek a funkciók csak akkor indul, amikor a felhasználó duplán kattintva a listában. Az alábbi kódot használ egy gombot.

    Ez egy nagyon egyszerű függvényt, amely létrehozza régió bitmap (.bmp) fájlt. Szintén a példa egy továbbfejlesztett változata ez a funkció, amely lehetővé teszi, hogy a kép maszk. Fordító: Visual C ++ 4-6 CreateRgn funkciót nevezik, és két paramétert: szFileName - a fájl nevét tartalmazó autót.

    Ha kell tennie egy statikus doboz az alkalmazásban (a felhasználó nem tudja megváltoztatni a mérete és elhelyezkedése az alkalmazás főablakát). majd illessze be az alábbi kódot a projekt. int CMainFrame :: OnCreate (LPCREATESTRUCT lpCreateStruct)

    Kapcsolódó cikkek