|
Yeah - it's easy. You reset all your variables ( score, player data, etc. ) and restart your main loop. The best way is to externalise your setup code into a function that gets called on startup and again when you want to restart the game.
Christian
The content of this post is not necessarily the opinion of my yadda yadda yadda.
To understand recursion, we must first understand recursion.
|
|
|
|
|
Hi All,
I need to insert jpeg-file in Access database using ADO. But I can't. I tried to use IPicture & IPictureDisp but it's failed.
What should I do to insert jpeg into mdb file?
Thanks.
Happy coding,
Igor
|
|
|
|
|
I cant figure out, how to make so when i push a butten my icon or bitmap get invisibel... I know how to do it to a butten, but it dosnt work with a bitmap or icon...
I also need a litle help to make a background to my program, i would like to place a bitmap behinde all of my buttens, but it allways place over the buttens not behind.. need help
Thanks
|
|
|
|
|
To make icons/bitmaps invisible, you need to assign them an id other than IDC_STATIC in the resource editor. Then in your message handler for the button (Assuming IDC_ICON_IDENTIFIER is the identifier you gave the icon/image):
GetDlgItem(IDC_ICON_IDENTIFIER)->ShowWindow (SW_HIDE);
or
GetDlgItem(IDC_ICON_IDENTIFIER)->ShowWindow (SW_SHOW);
As for placing bitmaps behind buttons, I've never done this because it sounds ugly to me . But something like the following should do it:
GetDlgItem(IDC_BUTTON)->SetWindowPos(GetDlgItem(IDC_BITMAP), 0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
|
|
|
|
|
I'm going out on a limb here, but I think you've misunderstood the second part of the question. I think he wants a bitmap background on his dialog.
If so, you do that in OnPaint, and you create the CBitmap from the resource, select it into a DC and Blt it over the dialog yourself.
Christian
The content of this post is not necessarily the opinion of my yadda yadda yadda.
To understand recursion, we must first understand recursion.
|
|
|
|
|
Hi:
Could you please help me in how to store data from MFC application to Execel file?
meaning that I have data in integer and each one has a lable, how can I save them in to .xls files.
I'll really appriciate your help...
thank-you.
|
|
|
|
|
Does it have to be saved directly to an xls file? Things would be much easier for you if you could save it out to a Comma Seperated Values (CSV) file which could be imported into Excel. If it needs to be directly to Excel then check out
http://www.wotsit.org/download.asp?f=xls
|
|
|
|
|
Thanks for your help but could you please tell me to import a comma separated data's to Execel, Because I am not familiar with SQL and Excel files...
thank-you
|
|
|
|
|
Thanks for your help but could you please tell me to import a comma separated data's to Execel, Because I am not familiar with SQL and Excel files...
thank-you
|
|
|
|
|
There's no need to use SQL. If you create an ASCII text file like so:
Label1,Value1
Label2,Value2
and save it with a .CSV extension, you can open it up in excel directly (like it was an .XLS file). I'm pretty sure that Excel's installation sets up the CSV file types, but if it doesn't, just click on File...Open. Change the type to Text Files and open up the file.
|
|
|
|
|
that was stupid question I know, It did work very well thanks very much for the help...
|
|
|
|
|
that was stupid question I know, It did work very well thanks very much for the help...
|
|
|
|
|
that was stupid question I know, It did work very well thanks very much for the help...
|
|
|
|
|
I wish my application detect Internet Explorer's downloads (url or file). I'd like my application control information about download (for example: filename, progress etc).
How to do?
|
|
|
|
|
Create a Sink to the desired event and fire your own program to download instead
1) Get a pointer to the connection point container (IConnectionPointContainer).
2) Call the FindConnectionPoint method to find the connection point that you want. For Internet Explorer 4.0 you want the DWebBrowserEvents2 connection point interface. (Optionally, you can call EnumConnectionPoints to enumerate through all the connection points that the server supports.)
3) Advise the connection point that you want to receive events. Pass a pointer to the IUnknown interface of the event sink. Remember that the connectable object will use the IUnknown pointer to query the client for the event sink interface. Most connectable objects will return a failure code from Advise if the client does not support the event sink interface. In the case of Internet Explorer 4.0, if the client does not support the event sink interface, Internet Explorer 4.0 will then query the client for IDispatch.
4) Implement IDispatch::Invoke to handle any events that are fired.
5) When you no longer want to receive events, you can call Unadvise and pass it the cookie that you got from the call to Advise
Cheers
Alfadhly
<marquee>
whoop there it is...
|
|
|
|
|
Hey guys,
I'm new to using MFC and to programming in general. I'm having great difficulty with Using CString to read off reg_sz values from the registry.
I keep getting this Debug assertion after i leave the function i have these registry reads in
Program: MyApp
File: dbgheap.c
Line:1011
Expression:_CrltsValidHeapPinter(pUserData)
exception 03h in my MyApp.exe
heres the function snippet:
DWORD dwType =0, dwSize=256;
.........
.......
float ftemp;
for(int i=0; i<6 ;i++)
{
//open key
......
RegQueryValueEx(tempKey,"Label", NULL, &dwType,(BYTE*) RegRead.GetBuffer(256), &dwSize);
RegRead.ReleaseBuffer();
//convert string to float value
ftemp=atof(LPCTSTR(RegRead));
m_sClass->Function(i,ftemp,value);
.......
m_sClass->Function1(i,ftemp,value,value2);
}
Once i leave the function this loop is contained in, the compiler throws that degug assertion. If i remove all references to this operation i dont get the assertion. Therefore i assume im using CString wrong somehow. Am i? What is the proper way to make the registry read then?
Background:
I am trying to retrieve a float value i wrote to the registry as a REG_SZ and then use it.
This may be a stupid question but it's not to someone new at this.
I appreciate any help
"DWORD my man!"
|
|
|
|
|
I've been programming in MFC since 1994, and I never directly modify the CString buffer, it just seems wrong to me.
Why not just use a character array? What do you gain by futzing around in CString's underwear?
ie:
char buffer[256]; /* or */ char buffer = new char[dwSize];
RegQueryValueEx(tempKey,"Label", NULL, &dwType,buffer, &dwSize);
ftemp=atof(buffer);
delete buffer; // (if 'new' was used)
Having said that, I wasn't able to duplicate your error, and your use of CString seems correct. There is a very thin registry wrapper class in ATL called CRegKey. It saves you a little trouble. Here is my test of your problem, using both CRegKey and your direct api calls:
<br />
#include <stdio.h><br />
#include <afx.h><br />
#include <atlbase.h><br />
<br />
void Function1(float f)<br />
{<br />
printf("ftemp: %f\n",f);<br />
}<br />
<br />
#define USE_CREGKEY<br />
void main(int argc, char* argv[])<br />
{<br />
DWORD dwType =0, dwSize=256;<br />
float ftemp;<br />
CString RegRead;<br />
<br />
#ifdef USE_CREGKEY<br />
CRegKey myKey; <br />
LONG result = myKey.Open(HKEY_CURRENT_USER,"deleteThisKey",KEY_READ);<br />
<br />
ASSERT(result == ERROR_SUCCESS);<br />
<br />
for(int i=0; i<6 ;i++)<br />
{<br />
result = myKey.QueryValue(RegRead.GetBuffer(dwSize), "Label", &dwSize );<br />
ASSERT(result == ERROR_SUCCESS);<br />
RegRead.ReleaseBuffer();<br />
<br />
ftemp=(float)atof(LPCTSTR(RegRead));<br />
<br />
}<br />
<br />
#else<br />
HKEY tempKey;<br />
RegOpenKeyEx(<br />
HKEY_CURRENT_USER,
"deleteThisKey",
0,
KEY_READ,
&tempKey
);<br />
<br />
for(int i=0; i<6 ;i++)<br />
{<br />
<br />
::RegQueryValueEx(tempKey,"Label", NULL, &dwType,(BYTE*) RegRead.GetBuffer(256), &dwSize);<br />
RegRead.ReleaseBuffer();<br />
<br />
ftemp=(float)atof(LPCTSTR(RegRead));<br />
<br />
}<br />
#endif <br />
<br />
Function1(ftemp);<br />
}<br />
When I use the registry, I like to use Sam Blackburn's WFC utility classes. He has a CString aware class called CRegistry that should be included in MFC. Even if you don't use the classes, Sam has done a super job of giving us great windows/MFC code to use as examples.
http://www.samblackburn.com/wfc/
I'm sorry I couldn't pinpoint your problem, but I hope this helps.
Jim
PS: Be sure you close tempKey with RegCloseKey(tempKey) when you are done with it. CRegKey does that for you.
|
|
|
|
|
Jim thank you for all your help and effort. I took your advice and used a good old character array and my problem magically went away. Lol, it is still bugging me though as to why that debug assertion ig getting thrown...lol i'll play around with it once i meet my deadline.
Thank You once again!
"DWORD my man!"
|
|
|
|
|
Is the application UNICODE? If so then there might be some problems with:
RegQueryValueEx(tempKey,"Label", NULL, &dwType,(BYTE*) RegRead.GetBuffer(256), &dwSize);
if this IS unicode then GetBuffer(256) will return 512 bytes (256 wchar_t) meaning your dwSize parameter is incorrect.
Another possible problem would be if the RegQueryValueEx is appending a terminating NULL. Try calling RegRead.ReleaseBuffer(-1) instead.
|
|
|
|
|
Hi,
I'd trying to spawn a thread from my class, and want the threadproc function to be a member function of the class.
I have defined the member function like this:
class MyClass
{
DWORD WINAPI ThreadProc(.......
.........
and the procedure that contains CreateThread is like this:
myhandle=CreateThread(...,ThreadProc,...);
It won't even compile... i get this error:
cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (__stdcall *)(void *)
I don't want to use MFC in this app- trying to stick just to api functions. hence CreateThread().
I tried adding __stdcall, and also extern "C" to my function definition but to no avail.
I dont really understand this problem very well, any help would be much appreciated.
Thanks
Jon Hulatt
|
|
|
|
|
Declare the function as static.
|
|
|
|
|
Thanks- i did that, and with some tweaks it now works.
What exactly did the static declaration do? i looked in help docs but it didn't really make sense. does having a static member mean i can only have one instance of my class in the program?
Thanks again for your help!
Jon
|
|
|
|
|
|
> does having a static member mean i can only have one instance of my class in the program?
No, but it does have the effect of making all classes share the same member (in the case of a variable) and freeing it from the clutches of the class vtable (in the case of a function).
Basically, you're dealing with a language that has no built in threading support, so you need to ask the OS for it, and the OS is in C, and C only understands static ('global') functions in this context - you'll find you need to do the same thing if you want to pass a member function to something like EnumWindows as a callback procedure.
One other important note is that static member functions can't access non-static member vars, so if your thread proc needs to access some other members, you can pass a pointer to the class (e.g. this ) as a/the parameter to the threadproc function, then access members (with appropriate access locks) through this.
I think multi-threaded apps can give us some of the most difficult to manage code bases of all modern cs concepts. It can be very difficult to get right.
|
|
|
|
|
can someone suggest me how to go about making the Multiline list control using embeddedVC++. The regular method for desktop using VC++ just doesn't work anyhow in none of the ways.....
|
|
|
|
|