problem in MFC

hi ....

i created a app in vc++ MFC Dialog based and OS is WIN XP

On the INITDIALOG event i wrote

SetTimer(1,2000,NULL);///to enable the timer

On WM_TIMER event of the dialog i wrote
AfxMessageBox("Hello World");

So far no problem .a message box displays every 2 seconds

Then i write a function Kll_Timer(to kill the timer)
i inserted this function by just writing in the SAME cpp file as Initdialog fuction and other functions generated by AppWizard

void Kll_Timer()
{
    KillTimer(1);
}

i also declared the void Kll_Timer(); on top of the cpp file

//********
Usually a function is added by right clicking the class window and selecting Add Member Function...here i DID NOT do that.
//********

then i inserted a button and the button click event is like this

void CTimerpDlg::OnButton1()
{
    Kll_Timer();// to call the function Kll_Timer(), which in turn kills the timer
}

When compiled it is showing error message
'KillTimer' : function does not take 1 parameters
Error executing cl.exe.

But when the function is created using app wizard ( by right clicking the class window and selecting the Add Member function . the KillTimer(1); with only a single parameter works

What could be the problem..... Actually this is a part of a large program..so i could not change the overall structure
thanks in advance...
LVL 16
Kiran Paul VJComputer EngineerAsked:
Who is Participating?
 
AlexFMConnect With a Mentor Commented:
If you want to keep Kill_Timer global, you need to change it by the following way:

void Kll_Timer(HWND hwnd)
{
    KillTimer(hwnd, 1);
}

and call it by this way:

void CTimerpDlg::OnButton1()
{
    Kll_Timer(m_hWnd);// to call the function Kll_Timer(), which in turn kills the timer
}
0
 
AlexFMCommented:
void Kll_Timer()
{
    KillTimer(1);
}

If this function is global, KillTimer is global KillTimer API:

BOOL KillTimer(          HWND hWnd,
    UINT_PTR uIDEvent
);

Make   Kll_Timer function as CTimerpDlg class member:

void  CTimerpDlg::Kll_Timer()
{
    KillTimer(1);
}

In this case KillTimer is call to CWindow::KillTimer function:

BOOL KillTimer(
   UINT_PTR nIDEvent
);
0
 
Kiran Paul VJComputer EngineerAuthor Commented:
hi.... AlexFM

now i got it right..I have submited a A grade to u. Since i am a newbie in VC++ and in EE with just 1115 i could give u only 125 points...this is my first question post and dont know wheater 125 is a big point or a small point.

anyway for last two , three days i was googling in net for an answer.

once agian thank u very much.
0
 
AlexFMCommented:
125 is OK, don't care.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.