Avatar billede ahara Nybegynder
23. juni 2004 - 21:58 Der er 1 kommentar og
1 løsning

Button i MFC

Jeg opretter en knap i mit MFC vindue på følgende måde:

//**Kode til knap**
btnUdr.Create("Udregn",WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, CRect(CPoint(10,100),CSize(60,25)), this, IDC_BTN_CALC);

//**Kode i MESSAGE_MAP**
ON_BN_CLICKED(IDC_BTN_CALC,OnBtnClick)

Når jeg kompiler koden får jeg følgende fejl:

//**Fejl**
error C2065: 'IDC_BTN_CALC' : undeclared identifier

Derfor har jeg forsøgt at definere IDC_BTN_CALC ved følgende: #define IDC_BTN_CALC 500

Derefter får jeg følgende fejl:

//**Fejl**
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall BIOWindow::OnBtnClick(void)" (?OnBtnClick@BIOWindow@@QAEXXZ)
Debug/bio.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Fejlen ligger sikkert i at jeg selv definerer denne sætning: #define IDC_BTN_CALC 500

Men hvordan kan jeg ellers løse det?

På forhånd tak
Mvh
AHR
Avatar billede bertelbrander Novice
23. juni 2004 - 22:13 #1
Det er helt normalt at definere sine egne ID'er til kontroller son Button's, der gøres normalt i resource.h.

Jeg vil tror at fejlen er at du mangler at implementere "BIOWindow::OnBtnClick(void)", dvs har noget i stil med følgende i en cpp fil der indgår i projectet:
void BIOWindow::OnBtnClick(void)
{
  // Whatever
}
Avatar billede ahara Nybegynder
23. juni 2004 - 22:35 #2
Takker bertel. Det virkede :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester