|
Hi folks,
simple question :
I have 2 threads running where the second threads (not written by me) writes a lot of output to COUT, thou this thread has no console the data is lost. I can redirect this output by hard to a file.
I like to get the data written to COUT for debuggin in a CEdit field or some kind that ?
I never though about such a problem ?
Any Ideas ? Any Clues ?
Thx
oliver
|
|
|
|
|
I have a cformview w/ a control that I'd like to have respond to the enter key. I understand you can use getdlgcode for dialogs, but would I need it for this situation? How would I go about doing this? I searched around but didn't come up with much in my situation. Any leads would be appreciated.
Thanks in advance.
|
|
|
|
|
I don't know if this is good practise or not, but I found the keys being eaten on the way through some PreTranslateMsg code, so did this:
BOOL CSmc3View::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message != WM_KEYDOWN)
return CFormView::PreTranslateMessage(pMsg);
else
return WindowProc(pMsg->message, pMsg->lParam, pMsg->wParam);
}
Now, OnKeyDown gets hit in the form view class, and enter doesn't seem to be a problem. But I don't know if this is kosher - it bypasses a lot of MFC code... caveat emptor.
later...
er... and oh yeah... then you can call the OnButton code from OnKeyDown... geez, what a hack! oh well... I try...
|
|
|
|
|
Hi
Can you recommend some sockets library
preferably based on C++ templates like STL or ATL
Thanx
|
|
|
|
|
I purchased Dundas's TCP/IP Ent a couple of months ago. And have had very quick success. Download the demo, you'll find their libraries are easy to use.
Give them a look. Tech support has been awesome(I'm a rookie at this stuff). Very quick response.
Scott!
Put the big rocks in the glass jar first!
|
|
|
|
|
Hi Scott
Thank you for advice.
But I need library with open source code (like ATL/WTL) and cross platform (like STL)
Ernst
|
|
|
|
|
Hi there,
Just thought I should jump in and provide some clairification. Our Dundas TCP/IP package is available in a variety of formats, but is most commonly purchased as C++ source code.
Although we don't directly support the package on non-Windows platforms, we estimate that about 10% of our users end up porting the library to Solaris or Linux (we hear it takes about a day or so of work to replace the Windows threading calls to those of the target platform and the Winsock calls to Berkely Sockets).
I would encourage you to check it out, it will likely fit your needs quite nicely.
http://www.dundas.com/index.asp?products/tcpip
HTH,
David
|
|
|
|
|
Try SocketMan. It is'a free and portable C++ library, so it pretty much fits your demands .
|
|
|
|
|
HI ALL
I want to draw circle on the screen(or desktop), I mean out of client window
so I do like below :
HDC hdc = CreateDC (TEXT ("DISPLAY"), NULL, NULL, NULL) ;
it works but..................
then I do like below :
InvalidateRect (NULL, &rc, TRUE) ;
it erase the circle but....
When I use timer to draw circle and erase it quickly
SetTimer (hwnd, ID_TIMER, 200, NULL) ;
now the problem is apear
when I erase the screen very quickly and
repeatedly it makes the screen very shake ...
How I can avoid this shake...
THANK YOU
AHMAD AL-WASHALI
YEMEN
washali@yahoo.com
AHMAD ALWASHALI
|
|
|
|
|
the 'shaking' is the natural flickering caused by erasing the bg and redrawing ... in games and other graphics programming a technique called 'double-buffering' is used
essentially you grab 2 lumps of memory big enough for a copy of the screen each and draw to these ... when you are ready to show a newly updated image you blit that to the screen and avoid the erase step
now if you are doing this for the whole desktop i think you may have a problem as the rest of the image will be changing beyond your control so it will be almost impossible to know what has moved where
hmmmmm.....
maybe you could use a borderless window that is transparent and set to the lowest z order and draw to that ... it would give the same effect but you wouldn't have to worry about other images in your client area and then could use the double buffering technique above
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
Thank you lauren .
but can I erase the area which I draw in ,I mean not whole screen just the area which I draw in ...
AHMAD ALWASHALI
|
|
|
|
|
you don't draw directly to the desktop window at all
you set up a window that has no border or title bar etc and that is transparent and draw to that ... it will look like it is being drawn to the desktop but in fact wont be hence you can do what you like to the window you own
even if you have to copy the desktop to the window bg each time it will be far less data to copy than the whole desktop
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
THANK YOU VERY MUCH
AHMAD ALWASHALI
|
|
|
|
|
<<< In the name of GOD >>>
Hi.
For indicate the variable kind of long in C++:
long i;
printf("%ld",i);
Now, i want to indicate unsigned long variable, for example: 3147483647
How can i ?
Hadi Rezaie
|
|
|
|
|
either use unsigned long or DWORD
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
long x = 829137291;
printf("unsigned long = %lu\n", x);
If you look for 'printf format specifications' in the MSDN index you'll get lots of neat stuff.
|
|
|
|
|
<<< In the name of GOD >>>
Hi.
What is SetModifiedFlag function and when we using of it ?
This is my answer :
"Always call CDocument::SetModifiedFlag() after changing your document DATA."
But what is knid of DATA ?
Graphic data or File data or variable data or ... ?
Hadi Rezaie
|
|
|
|
|
your document is the place where the data for the app (or more correctly the document class) is stored / kept / buffered depending on what kind of app you are writing
don't confuse a document in the mfc sense with a document in the word or excel sense although they are represented as mfc documents (probably)
suppose you write a text editor that needs to know upon exit that the user modified the data in the view window ... on the event that changes the view data (or when you get the modified view data via ddx) you can set the mfc documents bModified flag to let the framework know the data changed
you don't need to use it always ... i do in about half the apps i write
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
Hello, the codegurus around the world.
Generally speaking, when we call UpdateAllViews(), and then OnUpdate() function of the views,
this means that some data must be updated.
In this case, we may add SetModifiedFlag().
In addition, if we works the complicated data structure, we usually use CObject derived class,
and serialized this object.
So, this may be problem.
For example, what shall we do if the data are the same one after the user updated?
the original data -> Updated data -> Updated data -> finally the same data as the original one.
In this case, don't we call SetModifiedFlag()?
The answer depends on the requirement...
Or, we add the function to check the content of the data whenever the application calls UpdateAllViews(). That is, even though UpdateAllViews() is called and the data isn't changed,
we don't need to call SetModifiedFlag()?
In commercial level, it is better to call SetModifiedFlag() whenever UpdateAllViews() is called.
Goodl luck!
Have a nice day!
-Masaaki Onishi-
|
|
|
|
|
<<< In the name of GOD >>>
Hi.
When CWnd is not attached to a window ?
Hadi Rezaie
|
|
|
|
|
can you make your question more clear ,please !!!
AHMAD ALWASHALI
|
|
|
|
|
A CWnd doesn't have a valid m_hWnd until one of Create, Attach, FromHandle, etc is called, and can lose it if that hwnd is killed - say by a call to DestroyWindow.
|
|
|
|
|
<<< In the name of GOD >>>
Hi.
I have stupid question, but i really didn't understand.
What mean code in L1 line ?
BOOL CTestDlg::OnInitDialog()
{
L1: CDialog::OnInitDialog();
return TRUE;
}
Does this code is for, running OnInitDialog function again ?
It mean OnInitDialog will run twice ?
Other example:
void CTestDlg::OnOK()
{
L1: CDialog::OnOK();
}
Please explain to me ...
Hadi Rezaie
|
|
|
|
|
HI Hadi_Rezaie
BOOL CTestDlg::OnInitDialog()
{ L1: CDialog::OnInitDialog(); return TRUE; }
that didn't mean running OnInitDialog function again .
befor dialog is being visible you need to do some thing
like initial your varibles or add icons ....etc
this is your initial in BOOL CTestDlg::OnInitDialog()
but base class ( CDialog )has some initial so you most call initial in base class :
L1: CDialog::OnInitDialog();
I hope that's enough
and sorry if I have mistakes (I didn't speak english very well)
AHMAD ALWASHALI
YEMEN
washali@yahoo.com
AHMAD ALWASHALI
|
|
|
|
|
I have an MFC project which uses 2 views decended from CScrollView. I find that after each exit from CMainFrame::RecalcLayout my total memory allocation has increased by about 220bytes. This appears to happen during the processing of the RepositionBars function. I observed this while trying to find memory leaks using CMemoryState. I eliminated the leaks from my code but still seem to have this within "windows or MFC" code.
Does anyone know how to prevent this as this function is run everytime I swap between the views. My project is expected to be in use over an extended time so a gradual increase in memory usage is a concern. It does appear to be given back once the program completes.
Sara
|
|
|
|