|
Really?
But if there is no exception thrown and there is no pointer set to 0. What else should be testet?
|
|
|
|
|
I have a program, written in MFC C++... what change (or add) in this program that work as service.
|
|
|
|
|
|
IMO, you should create a new windows service project and then add your MFC project files to this new one.
Don't know if there would be a direct way of achieving this.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
DO Y have any example... how make a program which run in background...
|
|
|
|
|
Actually wizard will create service for you.
I guess you need to choose ATL COM project and then it gives option to create service. Nor sure about the project type but you can find it easily.
|
|
|
|
|
|
I want to create About dialog after created main dialog. All I did as follows:
- create about dialog
- in Resource.rc, I add this:
STRINGTABLE
BEGIN
IDS_ABOUTBOX "&About ..."
END
- in CMyDlg.h, declare
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
- in CMyDlg.cpp, implement this method:
void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
- in CMyDlg.cpp, register notify
BEGIN_MESSAGE_MAP(CAboutDlg, CMyDlg)
ON_WM_SYSCOMMAND()
END_MESSAGE_MAP()
that's all, but it doesn't work. I try to debug and found that it doesn't come into OnSysComand() method. What do I miss here?
Thank you very much,
|
|
|
|
|
I guess you need to add the handler in the WinApp class.
and by default MFC will add about dialog unless you explicitly removed the about dialog check box.
|
|
|
|
|
Thank you for reply me, SandipG.
I don't have WinApp class, it's MFC project with Dialog based.
|
|
|
|
|
haha without application class you cant have MFC application.
I am talking about the class which has Initinstance function.
|
|
|
|
|
tataxin wrote: BEGIN_MESSAGE_MAP(CAboutDlg, CMyDlg)
ON_WM_SYSCOMMAND()
END_MESSAGE_MAP()
This is the wrong message map. It should be:
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
ON_WM_SYSCOMMAND()
END_MESSAGE_MAP()
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Thank you DavidCrow
It works, but with a little strange. Whenever I right click application in taskbar and select "About ...", nothing happens. Then, I press Alt, the About dialog shows up.
I don't know why????
|
|
|
|
|
tataxin wrote: It works, but with a little strange. Whenever I right click application in taskbar and select "About ...", nothing happens.
Does void CMyDlg::OnSysCommand() get called?
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
yes, it does. Here is the source code of OnSysCommand:
void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
When I try to debug, it stops at (1) until I press Alt. After that, the About dialog shows.
modified on Monday, June 2, 2008 3:51 AM
|
|
|
|
|
I want to detect the names of available MIDI I/O devices and let the user select the devices for MIDI I/O.
How to get the available MIDI device ID & name in VC++?
Thanks & Regards,
Suman
--
"Programming is an art that fights back!"
|
|
|
|
|
|
Hi,
Thanks for the help!!
Thanks & Regards,
Suman
--
"Programming is an art that fights back!"
|
|
|
|
|
Hi All,
Is there a similar call as RegLoadKey in kernel mode?
Thank you,
AJ
|
|
|
|
|
What do you want to do excatly?
|
|
|
|
|
I want to shorten my array into by the use of enum, I have not used it yet can anyone give me an idea?
Here is the code:
SchedDay[0] = "Every Sunday";
SchedDay[1] = "Every Monday";
SchedDay[2] = "Every Tuesday";
SchedDay[3] = "Every Wednesday";
SchedDay[4] = "Every Thursday";
SchedDay[5] = "Every Friday";
SchedDay[6] = "Every Saturday";
SchedDay[7] = "Monthly";
for(schedcount = 0; schedcount<8; schedcount++)
{
c_cbCombo1.InsertString(schedcount, _T(SchedDay[schedcount].c_str()));
}
SchedTime[0] = "12:00 AM";
SchedTime[1] = "1:00 AM";
SchedTime[2] = "2:00 AM";
SchedTime[3] = "3:00 AM";
SchedTime[4] = "4:00 AM";
SchedTime[5] = "5:00 AM";
SchedTime[6] = "6:00 AM";
SchedTime[7] = "7:00 AM";
SchedTime[8] = "8:00 AM";
SchedTime[9] = "9:00 AM";
SchedTime[10] = "10:00 AM";
SchedTime[11] = "11:00 AM";
SchedTime[12] = "12:00 PM";
SchedTime[13] = "1:00 PM";
SchedTime[14] = "2:00 PM";
SchedTime[15] = "3:00 PM";
SchedTime[16] = "4:00 PM";
SchedTime[17] = "5:00 PM";
SchedTime[18] = "6:00 PM";
SchedTime[19] = "7:00 PM";
SchedTime[20] = "8:00 PM";
SchedTime[21] = "9:00 PM";
SchedTime[22] = "10:00 PM";
SchedTime[23] = "11:00 PM";
for(timecount = 0; timecount<24; timecount++)
{
c_cbCombo2.InsertString(timecount, _T(SchedTime[timecount].c_str()));
}
And also how will I insert it to the combobox?
Thanks,
Jayjay
|
|
|
|
|
|
use enum instead of array
Thanks
|
|
|
|
|
How would that shorten anything??
|
|
|
|
|