• 5 odgovora
  • 3.430 pregleda
Glupo MFC pitanje 22.02.2004. u 00:34 · pre 275 meseci #1
Prost program koji sam kreirao kao win32 application, i u settingsima setovao da koristi MFC kao DLL. Napravio sam prozor, i kako sad da CMenu objekat dodelim tom prozoru, tj da mi se prikaze meni ispod tog prozora?


Code:

#include    <afxwin.h>

// napravi klasu programam

class    CMyApp    :    public    CWinApp
{

    public:
        virtual BOOL InitInstance();

};

// klasa prozora
class    CMyWin    :    public    CFrameWnd
{
    public:
        CMyWin()
        {
            Create(0,"MFC sux big time!!");

        }
};

// klasa menija
class    CMyMenu    :    public    CMenu
{

};


// inicijalizacija programa,
// napravi prozor
// napravi meni
// attachuj meni na prozor
//
BOOL CMyApp::InitInstance()
{
        // napravi prozor
        m_pMainWnd = new CMyWin;                    // napravi prozor na heapu, 
        m_pMainWnd->ShowWindow(m_nCmdShow);            // prikazi ga

        // napravi meni
        CMenu CMyMenu;
        
        // pridruzi prozoru ovaj meni.... kako?

        return    TRUE;
        
}



// PRAVI objekat moje applikacije i tu sve pocinje.... unutra se zove interno winmain, pa wndproc, pa InitInstance......
CMyApp    bla;


probao sam u InitInstance() da uradim:
m_pMainWnd->InsertMenu()

ali vc6 javlj da InsertMenu() nije funkcija clanica CFrameWnd klase, sto je kontradiktorno MSDN dokumentaciji koja kaze bas obrnuto?
:Confused
Potpis
-I know UNIX, PASCAL, C, FORTRAN,
COBOL, and nineteen other high-tech
words.
Re: Glupo MFC pitanje 22.02.2004. u 12:20 · pre 275 meseci #2
Cekaj, za u Properties tog tvog dialoga ne mozes da podesis koji meni da se koristi za taj dialog?

U resursima kreiras meni IDR_MENU (recimo) i onda otvoris Properties prozorce tvog dialoga i u Menu stavku ubacis taj meni.

Ako hoces programski to da uradis onda je resenje sledece:

Code:

CMenu menu;
menu.LoadMenu(IDR_MENI);
SetMenu(&menu);


Konsultuj MSDN, tamo je sve verovatno lepse objasnjeno nego sto sam ja objasnio
Potpis
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
Re: Glupo MFC pitanje 22.02.2004. u 12:52 · pre 275 meseci #3
Ok ja sam hteo da pravim meni iz koda, znaci bez resursa. Odnosno ceo ovaj programcic je rucno radjen bez ClassWizarda, cisto da bi video kako to radi.

Inace kako kompajler razlikuje da li sam pozvao win32 API ili MFC proceduru ako one imaju isto ime?
Potpis
-I know UNIX, PASCAL, C, FORTRAN,
COBOL, and nineteen other high-tech
words.
Re: Glupo MFC pitanje 22.02.2004. u 13:10 · pre 275 meseci #4
Citat:
Inace kako kompajler razlikuje da li sam pozvao win32 API ili MFC
proceduru ako one imaju isto ime?


Name resolution je definisan standardom jezika C++.

f

Re: Glupo MFC pitanje 22.02.2004. u 20:01 · pre 275 meseci #5
Mikky napisa:

>ali vc6 javlj da InsertMenu() nije funkcija clanica CFrameWnd klase, sto je kontradiktorno MSDN dokumentaciji koja kaze bas obrnuto?

Koliko sam ja video u MSDN-u (iz 2000. godine), InsertMenu() postoji
samo u Windows CE verziji MFC-a.

--
Pozdrav,
Svrle.
Re: Glupo MFC pitanje 22.02.2004. u 22:12 · pre 275 meseci #6
Probaj m_pMainWnd->SetMenu(CMyMenu);

yooyo

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme