Visual C++ Programozása az MFC osztálykönyvtárral
2004-06-20T18:42:58+02:00
2004-06-21T03:28:29+02:00
2022-07-19T05:37:48+02:00
  • nem akarlak megserteni, de eloszor tanulj meg c/c++ -ban programozni. ezek annyira alap kerdesek. meg ha valamit kerdezel -> tudastar.
    Mutasd a teljes hozzászólást!
  • ...mi az "RECT"...

    Ahogy a neve is jelzi, egy teglalap mereteit tarolja. Nezd meg az MSDN-en a pontos leiarast (msdn.microsoft.com)
    A "GetClientRect" függvényt értem csak azt nem hogy miért
    adjuk meg a
    "ClientRect" memóriacímét?

    Letezik egy un cimszerinti parameter atadas (a fenti pelda is ez)
    Ennek az a lenyege, h a parameterbe a valtozo cimet adjuk, es nem az erteket, innentol kezdve a valtozo erteket tudjuk modositani. Kicsit mashogyan fogalmazva:
    RECT ClientRect; ClientRect = GetClientRect();
    Az eredmeny ugyanaz, ClientRect-be megkapjuk a fuggveny kimenetet. H az MS-k miert cimszerinti atadast hasznaltak, es miert nem visszatertek az ertekkel, nos ezt nem tudom.
    A tobbire nem nagyon tudok reagalni, mert azert valamilyen szinten en is bizonytalan vagyok a c/c++ mutato kezeleseben, es nem ohalytok tul nagy marhasagot mondani.
    Mutasd a teljes hozzászólást!
  • Hi!

    Ide írhatja mindenki az MFC-vel
    kapcsolatos hozzászolásait!

    Sajnos van egy-két dolog amit nem értek az MFC-vel kapcsolatban!

    1.

    void CWinGreet2View::OnDraw(CDC* pDC)
    {
    CWinGreet2Doc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here

    RECT ClientRect;
    GetClientRect (&ClientRect);
    pDC->DrawText(pDoc->GetMessage (),-1,&ClientRect, DT_CENTER |
    DT_VCENTER | DT_SINGLELINE);
    }

    Ebben a függvényben 2 dolgot nem értek és egyet nem tudok az első az
    hogy mi az "RECT" asnnyit tudok róla hogy egy srtuktura
    de az nem tudom mi van benne egyáltalán hogy képzeljem el?

    RECT ClientRect;
    GetClientRect (&ClientRect);

    A "GetClientRect" függvényt értem csak azt nem hogy miért
    adjuk meg a
    "ClientRect" memóriacímét?

    A második dolog amit nem értek a függvényben az ez:

    CDC* pDC(az "OnDraw" függvény paraméterlistájában)

    A pDC a CDC osztály egy példányára mutat és azt szokták más szóval
    mondani hogy megcímzi!
    Egy magyarul mit jelent?
    Azt hogy a pDC-be kerül a CDC objektum memóriacíme?
    Én azt hittem hogy ahhoz hogy pDC-be kerüljön a CDC objektum memócíme
    ahhoz a következő utasítás is kell:

    pDC = &CDC;

    Légyszíves világosítsatok fel a mutatók működésében mert ezeket
    még mindig nem értem

    A mutatóktol lassan szívinfarktust fogok kapni!

    Amit nem tudok az az hogy
    mit jelent a következő parancs:

    ASSERT_VALID(pDoc);

    2.

    A következő kérdésem az lenne hogy
    miért nem dekraláljuk(a deklaráció szó alatt most az
    értem hogy memóriát foglalunk a számára)
    a CMainFrame,CWinGreetDoc,CWinGreetView osztályokat miért nem
    dekraláltuk?

    Vagy esetleg ezekkel dekraráltuk őket:

    IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
    IMPLEMENT_DYNCREATE(CWinGreet2Doc, CDocument)
    IMPLEMENT_DYNCREATE(CWinGreet2View, CView)

    Ha nem ezekkel dekraláltuk akkor mire szolgálnak ezek az utasítások?

    3.

    m_pMainWnd->ShowWindow(SW_SHOW);
    m_pMainWnd->UpdateWindow();

    Ezek az utasítások arra jók hogy megjelenítsék az ablakot!
    Na most kiprobáltam azt hogy ezt a két utasítást töröltem
    és újból lefordítottam a programot és megint megjelent az ablak!
    Ez hogy lehetséges?(ennyire magasszintű ez a nyelv?):))

    A válaszokat előre is kösszönöm!
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: Kerdeseket k�l�n-k�l�n a tud�st�rba
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd