|
Its a Win32 program. So, is it possible to get arguments through VC++ or something?
|
|
|
|
|
-Dy has answered this particular question.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
cmdInfo.m_strFileName now contains the commandline.
|
|
|
|
|
rwilmink wrote:
cmdInfo.m_strFileName now contains the commandline.
Only in specific instances (i.e., if the shell command is New or DDE). If you specified an argument that was not recognized by CCommandLineInfo , it would not show up in any of the member variables.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Thank you very much for your suggestions.
Could you tell me your theory how you think it should be done?
|
|
|
|
|
As was mentioned here, -Dy has already answered your question for both MFC and non-MFC. What else are you looking for?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
|
Hello,
i need to show a modal CDialog called from a CFormView. This view has a .NET control in it than when double clicked raise a C++ event function in an helper class that try to open the modal dialog. My problem is that the dialog is shown but after that is freezed, i cant modifity data or move it. That strange thing is that putting a simple MessageBox in any position of the OnInitDialog function the dialog works perfectly. I've tried to remove all the controls in the dialog but no progress. If i open the dialog from a function in the View it has no problem. If i call the function from the control event function it doesnt works. So i've tried also to send a message to the view and open the dialog from there but it doesnt work.
What kind of problem is this?
Thank you
|
|
|
|
|
You mentioned you tried sending a message...did you try posting instead? e.g., in the double-click handler for your control, use PostMessage to post a message to your view class. In the PostMessage handler you can raise the C++ event function you mention.
|
|
|
|
|
Hi all,
I have a modeless property sheet with three pages.
The pages are deleted in PostNCDestroy.
However, when a page has not been opened when the sheet is closed, PostNCDestroy for that page is not called, causing memory leaks.
How do I solve this?
Ronald
|
|
|
|
|
rwilmink wrote:
...causing memory leaks.
Where? If the page has not been created, it will not have allocated any memory. Is the leak in the property sheet?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
The pages are first created on the heap and then added to the sheet (sheet->AddPage(pPage)).
I delete the sheet and the pages with 'delete this' in PostNCDestroy.
When a page has not been openened (by clicking the tab) PostNCDestroy is not called so the page is not deleted from the heap.
|
|
|
|
|
rwilmink wrote:
The pages are first created on the heap...
Why? Can you not just use something like:
class MySheet : CPropertySheet
{
CMyPage page1;
CMyPage page2;
CMyPage page3;
};
MySheet::MySheet()
{
AddPage(&page1);
AddPage(&page1);
AddPage(&page1);
} No heap and no memory allocation/cleanup to mess with.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
No, I can't, all kinds of problems with cyclic includes.
|
|
|
|
|
Ok, then if the property sheet is allocating memory for the pages, it should also free up that memory. Something like:
class MySheet : public CPropertySheet
{
MyPage *page1;
MyPage *page2;
MyPage *page3;
};
MySheet::MySheet()
{
page1 = new MyPage;
AddPage(page1);
page2 = new MyPage;
AddPage(page2);
page3 = new MyPage;
AddPage(page3);
}
MySheet::~MySheet()
{
delete page1;
delete page2;
delete page3;
}
BOOL MySheet::OnCommand( WPARAM wParam, LPARAM lParam )
{
WORD wNotifyCode,
wId;
wId = LOWORD(wParam);
wNotifyCode = HIWORD(wParam);
if (BN_CLICKED == wNotifyCode)
{
if (IDOK == wId)
{
if (! ProcOk())
return TRUE;
}
}
return CPropertySheet::OnCommand(wParam, lParam);
}
BOOL MySheet::ProcOk( void )
{
if (::IsWindow(page1->m_hWnd))
{
if (! page1->OnKillActive())
return FALSE;
}
if (::IsWindow(page1->m_hWnd))
page1->OnOK();
return TRUE;
}
void MyPage::OnOK()
{
CPropertyPage::OnOK();
}
BOOL MyPage::OnKillActive()
{
return CPropertyPage::OnKillActive();
}
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
does setcretiontime in c++, .net frames work works in mfc ?
ditty grail
|
|
|
|
|
|
I don't see why not. What reservations are you having about it?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Hi!
I'm trying to add a menu to my dialog based program.
In one of the submenus and submenuitem can be checked/unchecked.
I don't know what I'm doing wrong but I can't make it to do this.
No sign of it being checked appears.
Here's the part where I think should do this but I don't know what to add.
void CTestProgramForTestWATH2cppDlg::OnUpdateHelpCheckthis(CCmdUI *pCmdUI)
{
// TODO: Add your command update UI handler code here
CWnd* pBar;
if ((pBar = GetDlgItem(pCmdUI->m_nID)) == NULL)
{
pCmdUI->ContinueRouting();
return; // not for us
}
pCmdUI->m_pSubMenu->CheckMenuItem(ID_HELP_CHECKTHIS, MF_CHECKED);
}
BOOL CTestProgramForTestWATH2cppDlg::OnHelpCheckthis(UINT nID)
{
// TODO: Add your command handler code here
return TRUE;
}
Does the function CheckMenuItem do what I request??
|
|
|
|
|
Hachaso wrote:
pCmdUI->m_pSubMenu->CheckMenuItem(ID_HELP_CHECKTHIS, MF_CHECKED);
What value does this return ?
~RaGE();
|
|
|
|
|
use pCmdUI->SetCheck(); instead of pCmdUI->m_pSubMenu->CheckMenuItem(ID_HELP_CHECKTHIS, MF_CHECKED);
|
|
|
|
|
How to find the selected date from Month Calendar Control
in vc++
Praveen Chowdam Kumar
|
|
|
|
|
parims wrote:
selected date from Month Calendar Control
Use CMonthCalCtrl::GetCurSel
TO Set date in month ctrl use:-
Use CMonthCalCtrl::SetCurSel
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
I am new to MFC.
I added CMonthCalCtrl and set the variable ,,
m_month -- to CMonthCalCtrl
and write the below code in MCM_SELCHANGE in message handler.
void CTabOne::OnSelchangeMonthcalendar1(NMHDR* pNMHDR, LRESULT* pResult)
{
CString m_strDate;
CTime ct;
m_month.GetCurSel(ct);
m_strDate.Format("%2d-%2d-%2d",ct.GetDay(),ct.GetMonth(),ct.GetYear());
MessageBox(m_strDate);
UpdateData(FALSE);
*pResult = 0;
}
=============
Plz Help me ., I am getting Date field error.
Aelected date is coming with 12 adding to real date.
Praveen Chowdam Kumar
|
|
|
|
|
I tested your code. But I don't get any error.
Can you specify any other symptoms?
Or did i failed to understand your problem?
parims wrote:
and write the below code in MCM_SELCHANGE in message handler.
I think MCM_SELCHANGE is actually MCN_SELCHANGE!
|
|
|
|