|
I did not study your code, bcause how you create the client area and display the bitmap is irrelivant.
You need to know where the borders are, if x or y is less than zero then the object should be bouncing in the opposit direction. That is, if left is negitive and x becomes 0 or less, then reverse the sign (which indicates direction).
If you are drawing the bitmap on the client area, then it is not possible for you to draw it any where else. If you draw a 10x10 image at {x = -10, y = -10}, then you will not see it at all. If it hits the right boarder (wall) x = 0, no problem, but if the x value becomes -1 (and you want it to bounce), then you reverse it by making x = +1.
Experiment by bouncing rectagles of the walls.
INTP
Every thing is relative...
|
|
|
|
|
I have a CDialog class and I added a CTabCtrl from the controls toolbox to the dialog and set the labels for the tabs (5 tabs in all). I then created five more dialog boxes (each is WS_CHILD|WS_VISIBLE). I now need to know how to add these new dialogs to the tab control so that I can use the controls on each dialog.
Thanks,
Mark
|
|
|
|
|
The answer to your question is much larger in scope than can be efficiently posted here. I recommend that you scn the articles posted on CP for a solution. There is bound to be something you can use as an example.
------- sig starts
"I've heard some drivers saying, 'We're going too fast here...'. If you're not here to race, go the hell home - don't come here and grumble about going too fast. Why don't you tie a kerosene rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Thanks for the re John. Well here is the thing..., I have an MDI app with a CTreeCtrl view on the left in a docked window and the view on the right. Another docked view at the bottom contains a CDialog box and I wanted to add tabs pages for various controls within this dialog. Is there a better way to do this other than a CTabCtrl?
Mark
-- modified at 14:41 Saturday 7th January, 2006
|
|
|
|
|
You could do a dialogbox that contains an embedded propertysheet. I would suggest just using a propertysheet, but then you have to deal with hiding the buttons, and dealing with the resulting gap at the bottom of the propertysheet (when you hide the buttons, it still pads the bottom of the sheet).
I have some code that does this embedded propertysheet thing if you want it.
------- sig starts
"I've heard some drivers saying, 'We're going too fast here...'. If you're not here to race, go the hell home - don't come here and grumble about going too fast. Why don't you tie a kerosene rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Ok since my last post I figured out how to use the CTabCtrl and it is working. Now I need to conquer a resizing issue. Most of the examples that I have seen deal with demos that are in fixed dialogs. My dialog is resized and the page for each tab is beyond the parent container’s borders. The tab control seems to resize on it’s own as the parent dialog is resized, but not the child dialog (tab pages). Which OnSize handler do I use to resize the pages? For example.
CTabDialog (CDialog)
|
----- CMyTabCtrl (CTabCtrl)
|
------- m_iTab[0]
|
------- TabPage1 (Child CDialog)
Thanks!
|
|
|
|
|
I would try this:
In your parent dialog's OnSize handler, calculate the new window size for the child dialogs and call MoveWindow().
------- sig starts
"I've heard some drivers saying, 'We're going too fast here...'. If you're not here to race, go the hell home - don't come here and grumble about going too fast. Why don't you tie a kerosene rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Fixed it. In the parent dialog the OnSize handler was resizing the tab control fine the child dialogs were not resizing. I added a public function ResizePage() to the CMyTabCtrl class and called it in the parent OnSize handler as well as when a tab was selected. Now no matter what happens the child dialogs are resized to fit the tabs correctly.
Thanks for the help.
"Nothing is impossible, remember when the world was flat?"
Mark
|
|
|
|
|
I am getting a crash inside InternetConnect and I can't for the life of me figure out why. It seems only to happen when I pass INTERNET_SERVICE_FTP -- I have a test program which does nothing but create a CInternetSession, then call GetHttpConnection, then call GetFtpConnection, passing valid IP addresses to both functions. GetHttpConnection returns successfully. GetFtpConnection crashes with an illegal memory access (and an overwritten stack) after the CFtpConnection constructor calls InternetConnect. Is there anything I can do to repair this short of reinstalling Windows? (The install is Windows 2000 sp 4.)
|
|
|
|
|
Hi,
I want write small a application which draw`s a graph,taking x-axis values from 300 to 900 and y-axis values from 0 to 100.I want to graph to smooth and linear.If any one already written any article on this issue please let me know.
Thank in before
James
|
|
|
|
|
All linear graphs of the form ax + by = 1 are smooth because they are differentiable at each point.
If you just want something approximate, be it a polynomial of degree 1 or higher, you might look into the Mathworld's Article on Least Suares Fitting[^].
Now, if you are talking about polynomial curve fitting, then you want to learn some numerical analysis. MIT's Open Courseware[^] has some good information on it.
"we must lose precision to make significant statements about complex systems."
-deKorvin on uncertainty
|
|
|
|
|
Hi All,
How to select a column in CRichEditCtrl.
i have read a word file in CRichEditControl.Please Suggest me about the coloumn selection in this.
Bye
Thanks in Advance
Vikas
Vikas Tayal
|
|
|
|
|
do you mean programmatically, or as a user? I know in Word you can select any column by holding ALT while dragging your selection with the mouse
My articles
BlackDice
|
|
|
|
|
Hi
i am reading a word file in MFC application.i am storing this into CRichEditCtrl. i want to select a column in this file programatically.
is there any wat for this.
bye
|
|
|
|
|
tayal122436 wrote: i want to select a column in this file programatically.
CRichEditCtrl::SetSel
"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
|
|
|
|
|
Hi all,
I wrote client-server applicaion communicating via socket. I met a big problem that I did not know which function can be use to indicate the buffer size will be received before calling function recv() or WSARecv().
I want to know this information to allocate the buffer enough to receive the message coming.
For example:
int bufSize;
/*Do which thing here to indicate buffer size bufSize = ???*/
char*buffer = new char[bufSize];
recv(hSOCKET,buffer,bufSize,0);
If we dont know this information before calling receiving function, the problem is we won't know how big the buffer size should is.
Although, we can do: char buffer[100000]; but the size of coming message can be bigger or the coming message is too smaller than that.
Any boddy know this problem, Can you help me?
Thanks very much & best regards,
Tin Le
|
|
|
|
|
Send the buffer size first, then send the actual data.
"The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb
|
|
|
|
|
You do not need to know the buffer size before recieving the data, although it would help. C++ solves many problems like this by providing [classes like] the vector template class. What I am trying to say is that you can declare a vector to recieve the data, and just keep calling push_back(...) to stuff the bytes into the buffer. If you have a good idea of how many bytes of data you expect to recieve, then set the initial size to that many bytes (as an added safety measure you might double the number, but why waste memory). The reason you want to set a minimum (or maximum) for expected bytes of data, is that you want to avoid forcing the code to reallocate a new memory block that is large enough to hold all the data.
You can do the same thing in C, but C does not provide nice little pieces of code to do it for you.
INTP
Every thing is relative...
|
|
|
|
|
how can i read a text file which is in client's system and print it at client's default printer.
|
|
|
|
|
Your question is a bit vague, so this is the best I can come up with:
ShellExecute(NULL, "print", "file.txt", ...);
"The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb
|
|
|
|
|
Hello again.
This is Matthias form germany. I've a problem with my printer. For a few letters i've to get another tray on my printer but i've no idea how to do.
I post you my actually print initialisation:
[Code]
CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this);
if (dlgPrint.DoModal() == IDOK)
{
CDC pDC_print;
pDC_print.Attach(dlgPrint.GetPrinterDC());
DOCINFO myPrintJob;
myPrintJob.cbSize = sizeof(myPrintJob);
myPrintJob.lpszDocName = "test";
myPrintJob.lpszOutput = NULL;
myPrintJob.lpszDatatype = NULL;
myPrintJob.fwType = NULL;
......
}
but how can I set the tray, that the user hasn't to choose it in the printDialog?
|
|
|
|
|
Did you try changing the dmDefaultSource in the DEVMODE and then try?
Vipin - MVP
|
|
|
|
|
yes, of course.
the problem is, that the initialisation is before i set the new flag to DEVMODE structure.
CPrintDialog prtDlg(FALS......)
if ( prtDlg.DoModal() == IDOK )
{
prtDlg.m_pd.dmDeviceSource = 2;
......
}
the flag in the structure was set but he takes the normal default paperSource
|
|
|
|
|
You got to set the DEVMODE in CPrintDialog before you call DoModal(...) making a call afterwards will not work.
|
|
|
|
|
How can I draw some arrows and some lines in the ClistView?
When I click one item in the ClistView, the item's color turns red, how can I do?
help me,thank you very much!
|
|
|
|