|
if you use ifstream try if ( YourFile.is_open() ) // bla bla bla
|
|
|
|
|
Ok, I've set up my dialog-based mfc app to start up the main window as a modeless dialog. Now in my OnInitDialog function, I need to be able to exit the entire program, depending on the outcome of a test I do. What would be the best way to do this?
Thanks,
Dave
|
|
|
|
|
Just return FALSE, you app will terminate before it is poped.
The World is getting smaller and so are the people.
|
|
|
|
|
|
char chr[100];
strcpy( chr, "oh,my god,give u a long word" );
chr[5] = '\0';
Joise is a C++ fun!
|
|
|
|
|
No - the array has been allocated on the stack, so there is no need to delete it (in fact deleting it is an error).
Dave
http://www.cloudsofheaven.org
|
|
|
|
|
thx so much,i know it now
Joise is a C++ fun!
|
|
|
|
|
No it is not possible to have a leak, char[100] allocate memory on the stack, when you exit function memory will be simply popped.
In fact if you had allocated memory with:
a = malloc(100); a[1] = NULL; free(a);
you would not be leaking, de-allocator knows what size you allocated.
|
|
|
|
|
thx,i got it
Joise is a C++ fun!
|
|
|
|
|
Hi,
I am trying to change the dialog font programmatically. The dialog right now is created using a Resource file, and the font size and face is hard-coded. I would like to be able to change the font face and size in the OnInitDialog() function. So far this is what I have:
HFONT hFont;
LOGFONT lf;
CFont pFont;
short int fRedraw= FALSE;
memset(&lf, 0, sizeof(LOGFONT));
hFont = (HFONT) GetStockObject( SYSTEM_FONT );
GetObject(hFont, sizeof(lf), &lf);
pFont.CreateFontIndirect(&lf);
this->SetFont(&pFont, true);
SendMessageToDescendants(WM_SETFONT, (WPARAM)pFont.m_hObject, MAKELONG ((WORD) fRedraw, 0), TRUE);
This is changing the font size and face for the CONTROLS of the dialog. However, it does not change anything elose besides that.
I tried to do a this->SetFont, however, this does not help. I need the dialog itself to be resized accordingly, and also regular CText. When the font is changed in the resource file, I notice that the dialog size itself changes, however, this is not happening when I call SetFont or send a WM_SETFONT message.
Can anyone help me?
Thanks!!!
|
|
|
|
|
Do you want to change the main dialog of a dialog based app or a dialog that is part of a doc view app? Do you want to change the dialog after it is already created or have a different font at creation depending a factor such as screen resolution, etc.?
|
|
|
|
|
I've found the answer:
int CSimpleDialog::DoModal()
{
CDialogTemplate dlt;
int nResult;
// load dialog template
if (!dlt.Load(MAKEINTRESOURCE(CSimpleDialog::IDD))) return -1;
// set your own font, for example "Arial", 10 pts.
dlt.SetFont("Arial", 10);
// get pointer to the modified dialog template
LPSTR pdata = (LPSTR)GlobalLock(dlt.m_hTemplate);
// let MFC know that you are using your own template
m_lpszTemplateName = NULL;
InitModalIndirect(pdata);
// display dialog box
nResult = CDialog::DoModal();
// unlock memory object
GlobalUnlock(dlt.m_hTemplate);
return nResult;
}
|
|
|
|
|
hi,
i want to know any method to download the gdiplus documentation for C++. i just want to develope with gdi+ and i don't want to install the whole big platform SDK. i got all header files and library but not the documentation.
any help?
regards,
jim
|
|
|
|
|
Hi, does anybody know of a Windows Media COM interface that I could use to rip CDS. It seems this comes with Media Player these days, so I'm hopping there'll be an interface I can use.
Thanks.
Festina, vita breve est!
|
|
|
|
|
In another word, can I avoid using DSN to connect to an Oracle database? My office has all the securities configured that it requires Admin right to access the ODBC configuration dialog.
Elizabeth
|
|
|
|
|
No problems with ADO:
"Provider=msdaora;Data Source=dbsid;User ID=user;PASSWORD=flag;Persist Security Info=True;";
|
|
|
|
|
can anyone tell me to create a program that can tell the difference between to dates. Even leap years?
I really need help. I have been trying to do it for the past two weeks and I still get errors.
|
|
|
|
|
Helps to post exactly what you're having problems with.
|
|
|
|
|
Would this be your homework ? If you've been trying for two weeks, you must have some code you can post ?
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
The normal approach is to convert the dates into some numeric format, from which you can then perform the subtraction and convert back to days, weeks etc.
In Windows you would normally set up a SYSTEMTIME structure, convert it to a FILETIME with SystemTimeToFileTime , copy the two parts of FILETIME into a LARGE_INTEGER , then do 64-bit arithmetic on the QuadPart member. A FILETIME is in 100ns (0.1us, or 1 x 10 ^ -7 s) intervals.
If the code needs to be portable (e.g. to work on Unixes) you might prefer looking at the C standard library routines, the tm structure and the time_t numeric type.
|
|
|
|
|
can anyone tell me to create a program that can tell the difference between to dates. Even leap years?
I really need help. I have been trying to do it for the past two weeks and I still get errors.
|
|
|
|
|
hi,
this is the one way, try it
COleDateTime t1,t2,t3;
t1.SetDate(2003,11,1);
t2.SetDate(2003,11,25);
t3 = t2 - t1;
COleDateTimeSpan ts = t3;
int t5 = ts.GetTotalDays();
result t5= 24 days. you can hour difference in GetTotalHours(), GetTotalMinutes(), GetTotalSeconds()
Have A Nice Day.
Murali.M
|
|
|
|
|
I've used the app wizard (.NET) to create a basic single view app, w/o doc-view architecture. I've added a few things to the file menu using the resource editor (new, load, save, etc..) and added message handlers to the main frame using the wizard. I have no problem checking any of the menu items using "GetMenu()->CheckMenuItem()" but i can't seem to disable any of the menu items "GetMenu()->EnableMenuItem()" I have tried using the sub-menu, and the main menu, and I have tried BYCOMMAND and BYPOSITION but I can't get it to work. I also can't get it to default as disabled using the resource editor. Is there something I'm forgetting? I'd appreciate any suggestions or comments.
|
|
|
|
|
You should add OnUpdate commands to the message map. For example if you have a menu item titled "New" that has OnNew(). You'd have
OnUpdateNew(CCmdUI *pCmdUI)
{
pCmdUI->Enable(FALSE); // disables menu item
}
Thats the easiest way to do it. Never tried it with GetMenu() so I can't help with that.
|
|
|
|
|