Solved

problem in MFC

Posted on 2004-04-19
4
495 Views
Last Modified: 2013-11-25
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...
0
Comment
Question by:kiranvj
  • 3
4 Comments
 
LVL 48

Expert Comment

by:AlexFM
ID: 10857508
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
 
LVL 48

Accepted Solution

by:
AlexFM earned 125 total points
ID: 10857524
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
 
LVL 16

Author Comment

by:kiranvj
ID: 10858095
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
 
LVL 48

Expert Comment

by:AlexFM
ID: 10858188
125 is OK, don't care.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
sameEnds challenge 3 156
How and where to get Business Intelligence Development Studio? 2 85
wordcount challenge 11 121
Path of Workbook 3 74
In this article, I'll describe -- and show pictures of -- some of the significant additions that have been made available to programmers in the MFC Feature Pack for Visual C++ 2008.  These same feature are in the MFC libraries that come with Visual …
Introduction: Dialogs (1) modal - maintaining the database. Continuing from the ninth article about sudoku.   You might have heard of modal and modeless dialogs.  Here with this Sudoku application will we use one of each type: a modal dialog …
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now