|
Sarvan AL wrote: In my MDI application, I've drawn an image as the background in OnEraseBkgnd() function. I'd like to keep the image always in Center. But I'm not able to get the center of the window in OnSize. If anyone could help to come out of this problem, it would be quite helpful for me.
Well it's easy.
Take the width of the image.
Take the height of the image.
Now the cx parameter in OnSize will be the width and cy will be the height.
So how will you position the image in the centre?
int midX = (cx-bmpWidth)/2;
int midY = (cy-bmpHeight)/2;
Nibu thomas
Software Developer
|
|
|
|
|
Thanks Nibu,
I've forgotten to call Invalidate() in OnSize().
Thanks once again,
Sarvan AL
|
|
|
|
|
Hi,
I am a total beginner. How do I stop from the black screen which displays the result of execution to automatically dissapear?. It came out in a blink of an eye and then of it goes.
I just want to print out a simple "Hello World" message.
Thanks.
|
|
|
|
|
Hi
I have understood your problem.
If your are creating the console application you would be pressing the F5 button. In this case the windows diaplays the result for your execution but just dissappears. For this you have to press CTL+F5.
Cheers
"Peace of mind through Technology"
|
|
|
|
|
I'm using Dev C++. The command to run is F9
|
|
|
|
|
In case if you don't have any issue in using C functions in C++, then include conio.h and add the following code at the end of function.
cout << "Press any key to exit.";
getch();
|
|
|
|
|
Another solution is to call system("PAUSE");
|
|
|
|
|
Open a command prompt and run your program from there rather than from within the IDE. That is why the window is quickly disapearing.
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
In C++, inline keyword is a request to a compiler. Compiler can ignore it.
Apart from poking through .asm files, is there any way to to find the list of inline function(s) for which compiler has ignored the inline keyword? May be some compiler setting(s) to generate the report containing this information.
-- modified at 23:55 Thursday 30th March, 2006
|
|
|
|
|
key word inline must be in h file.
if u put inline in c/cpp files, it is ignored.
inline means once.
if only one c or cpp file includes the h file in a project, the key word inline may be ignored (upto compiler).
if more than one c/cpp files include the h file, key word inline is NOT ignored.
A special image tool for Windows C++ programmers, don't miss it!
A nice hyper tool for optimizing your Microsoft html-help contents.
Includeh10
|
|
|
|
|
It seems you didn't get my question.
I don't have any doubt in how to use inline. I know all the rules of inline.
What i am asking is how to find the list of inline function(s) for which compiler has ignored the inline keyword?
|
|
|
|
|
I don't know of any way of getting the compiler to tell you this.
Steve
|
|
|
|
|
I told you clearly:
1. if h file is included by 2 or more c/cpp files, inline is NOT ignored.
2. if only one c/cpp file includes the h file, all inline in the h file are ignored or not upto compiler - how do you want to know which inline is ignored? they are ignored all or none.
A special image tool for Windows C++ programmers, don't miss it!
The world unique Software Label Maker is waiting for you and me ...
A nice hyper tool for optimizing your Microsoft html-help contents.
|
|
|
|
|
It is not as simple as this - For example if you take the address of an inline function it is not inlined. There are many more complexities.
Steve
|
|
|
|
|
Kindly look at the another reply thread started by Ryan. Hope you would be able to understand my question.
|
|
|
|
|
includeh10 wrote: key word inline must be in h file.if u put inline in c/cpp files, it is ignored.
Not necessarily. You can declare a static function in a .cpp file and mark it as inline and the compiler will inline it if it is small enough.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Really, the only way you can do this is to get a list of the symbols in the program. If a function exists as a symbol in the executable, then it was not inlined. Of course, this involves enabling debug info, which usually disables inlining completely.
Other than that, the ASM files are the way to go, although remember that the linker can inline functions (not only the compiler), so you may not find them all.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Ryan Binns wrote: this involves enabling debug info, which usually disables inlining completely.
This is not the case: It is the "/Od" option which does this, this is distinct from the "/Zi" option (and friends) which controls the generation of debug info. I always have debug info enabled, even in release builds - It makes postmortem analysis of crash dumps easier.
Steve
|
|
|
|
|
Thanks Ryan and Stephen.
Yes using map files i can find the required information.
But still this is manual and I need to manage the list of all inline functions. It will become cumbersome to maintain this list because we can define inline functions in header files without using inline keyword.
I am looking for something that can automate this.
|
|
|
|
|
Stephen Hewitt wrote: This is not the case: It is the "/Od" option which does this, this is distinct from the "/Zi" option (and friends) which controls the generation of debug info.
Oops. I forgot we weren't using GCC . If you specify -g to GCC to enable debugging, it also disables optimisations unless you specifically tell it to reenable then with a -O. You're right, of course
I spend far to much time doing linux development
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Hi,
I am making a program to print out both UTC time and local time.
But, I am having the same time.
Do I have to save UTC time before 'ptrLocalTime = localtime(&localtimer);'?
/* This program shows UTC time, and local time in 00:00:00 */
#include <stdio.h>
#include <time.h>
#define PST (-8) //Pacific Time Zone
#define CST (-6) //Central Time Zone
int main ()
{
time_t timer;
time_t localtimer;
tm* ptrUTC;
tm* ptrLocalTime;
time ( &timer ); //Set timer to the number of seconds elapsed since 00:00 hours,
//Jan 1, 1970 UTC from the system clock.
time(&localtimer);
ptrUTC = gmtime ( &timer ); //Converts timer to tm structure adjusting to UTC
//(formerly known as GMT) timezone.
ptrLocalTime = localtime(&localtimer);
printf ("UTC Time: %2d:%02d:%02d\n", ptrUTC->tm_hour, ptrUTC->tm_min, ptrUTC->tm_sec);
printf ("Locat time : %2d:%02d:%02d\n", ptrLocalTime->tm_hour, ptrLocalTime->tm_min, ptrLocalTime->tm_sec);
return 0;
}
Please!
Yonggoo
|
|
|
|
|
The gmtime, mktime, and localtime functions use the same single, statically allocated structure to hold their results. Each call to one of these functions destroys the result of any previous call.
Please check the address stored in ptrLocalTime and ptrUTC. Both are same.
So you have to make a copy before calling another function.
|
|
|
|
|
Hello,
I would like to backup and restore registry keys to and from a .reg file like the one that regedit.exe creates when you export registry keys, and i was wondering whether there was an API or COM function that would do this for me without having to code it myself.
I have tried looking but don't have a clue where to start, if someone could point me in the right direction it would be much appreciated.
Thanks a lot
|
|
|
|
|
sschilachi wrote: I have tried looking but don't have a clue where to start...
Start with RegSaveKeyEx() .
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|