|
Yes, and before you ask, you'll need to go and buy it, as it does not come with an MSDN style electronic copy of the book on CD.
|
|
|
|
|
Giles wrote:
it does not come with an MSDN style electronic copy of the book on CD
Network Programming in Microsoft Windows is available as a soft copy (CHM). I have it... It is about 2.2 MB
- Nirav
* Don't wish it was easier, wish you were better! *
|
|
|
|
|
Hi,,
PLZ send me CHM copy
or its link at zahid_ash@yahoo.com
thanx
|
|
|
|
|
Sent it... Check your mailbox and acknowledge!
* Don't wish it was easier, wish you were better! *
|
|
|
|
|
now I am using MSFlexGrid to show some datas and want to merge two rows into one row(two coloums into one coloum),codes below:
m_FlexGrid.SetCols(4);
VARIANT var;
var.vt=VT_I2;
for(int i=1;i<5;++i)
{
var.intVal=i;
m_FlexGrid.AddItem("Test",var);
}
m_FlexGrid.SetMergeCells(1);
m_FlexGrid.SetMergeRow(0,0);
m_FlexGrid.SetMergeRow(1,1);
m_FlexGrid.SetMergeRow(2,1);
it is the first time to use it, and not found some materials.so please help me,thanks a lot
|
|
|
|
|
hello friends,
i wish to Shell execute/create process either a word doc/pdf and then restrict cut/copy/paste/save/save as /print options (both menu & key shortcuts).
thank u very much
kumuda
|
|
|
|
|
Hi
Could someone tell me how I can get an arbitrary-length line from std::cin without fear of buffer overrrun, while still accomodating very long lines? I can use cin.getline(), but that way I have to define a buffer with a fixed size first.
Thanks!
|
|
|
|
|
#include <iostream>
#include <string>
int main() {
std::string line;
std::getline(std::cin, line);
std::cout << line << '\n';
}
That should do it. std::getline is a mightily useful function that works on any and all input streams. It resides in <string> . If you want to use an alternate "line separator" there is an overloaded std::getline for this as well.
Hope it helps.
--
Henrik Stuart (http://www.unprompted.com/hstuart/[^])
|
|
|
|
|
this is probably so simple but maths is not my strong point
I need a function to mathamatically round values.
Something like this
double Round(double val, long precision)
{
}
for example
Round(0.75621, 4) would return 0.7562
Round(0.75625, 4) would return 0.7563
Round(-0.75621, 4) would return -0.7563
Round(-0.75625, 4) would return -0.7562
any help would be great
|
|
|
|
|
|
too easy! thank you very much
|
|
|
|
|
Try something like this:
#include <math.h>
double Round(double val,long precision)
{
if( precision > 0 )
{
double d = 1;
for( ; precision > 0; --precision )
d *= 10;
double t = val * d;
double r = ceil(t);
if( r - t > 0.5 )
r = floor(t);
return r / d;
}
return 0.0;
}
INTP
|
|
|
|
|
Ok, i actually managed to get up to the established connection point with CAsyncSockets (easier than i thought it would be), but i cant get to recieving data.
can anyone point to an artical that explains how to recieve data?
(im working with MFC)
after i learn how to do this in MFC, i would like to move down to doing it without MFC classes.
|
|
|
|
|
Just add the virtual function OnRecieve to the class. Just make sure that you call the Recieve function when the OnRecieve event is fired. If you need to write your own socket code you should read this article: http://www.ecst.csuchico.edu/~beej/guide/net/ [^] [^]
|
|
|
|
|
In MFC, when you draw a gradient manually for your dialogs background, where is the best to do it, i have been doing it in the OnPaint message
but for forms that resize its kinda odd, cause the previous gradient remains on top.
so where do you guys suggest i draw my gradient?
|
|
|
|
|
Hi,
Try OnEraseBkgnd
Fabian
|
|
|
|
|
Hi all
how might one detect the insertion of an SD card into a laptop/pc ?
Obviously it can be done coz when i insert mine windows xp asksk me how i want to deal with it (launch realplayer/open windows explorer etc)
cheers
Bryce
---
Publitor, making Pubmed easy.
http://www.sohocode.com/publitor
|
|
|
|
|
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/Functions/SHChangeNotifyRegister.asp
ahh i see
now, how do i register my application for autoplay?
hmmm
Bryce
---
Publitor, making Pubmed easy.
http://www.sohocode.com/publitor
|
|
|
|
|
Hi. I'm implementing a rebar in my application, and I'm adding three dialogs from a resource template.
All of these are fairly small, and I'd like 'em to be aligned all the way to the left.
Now, the problem is, the first band.. wait, let me go from the right to the left, it's easier.
The last and middle dialog are the right sizes. But the first one is aligned left, then fills up all the space until the next two dialogs, here's a picture: Picture
This is the code used to create the rebar and each of the bands:
m_wndReBar.Create( this);
m_wndDocTools.Create( CDocumentTools::IDD, &m_wndReBar);
m_wndDocInfo.Create( CDocumentInfo::IDD, &m_wndReBar);
m_wndDocView.Create( CDocumentView::IDD, &m_wndReBar);
m_wndReBar.AddBar( &m_wndDocTools, NULL, NULL, RBBS_FIXEDSIZE | RBBS_FIXEDBMP);
m_wndReBar.AddBar( &m_wndDocInfo, NULL, NULL, RBBS_FIXEDSIZE | RBBS_FIXEDBMP);
m_wndReBar.AddBar( &m_wndDocView, NULL, NULL, RBBS_FIXEDSIZE | RBBS_FIXEDBMP);
|
|
|
|
|
Hello
I have a class derived form CWnd
class CTitle: public CWnd
{
public:
BOOL Create(LPCTSTR lpszWindowName, DWORD
dwStyle, const RECT& rect, CWnd*
pParentWnd, UINT nID,
CCreateContext*pContext)
{
BOOL bResult = CWnd::CreateEx
(0 ,CBMSTITLEBAR_CLASSNAME,
lpszWindowName,
dwStyle,rect, pParentWnd,
nID, pContext);
return bResult;
}
//CBMSTITLEBAR_CLASSNAME class name i have alredy
// registered yet by call AfxRegisterClass
// it' ok
BOOL Init();
};
//in the init function i create CTitle
BOOL CTitle:: Init()
{
if(Create(pszTitle,WS_VISIBLE | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
rcSubstitute, m_pParentWnd, 0))
return TRUE;
else
return FALSE;
}
I'm sure that the m_pParentWnd, pzTitle, rcSubstitue are correct: because it run as well
But in the init function, i call create with last
parameter : 0 (ID of window) it runs ok,
but i change it to another values, the Create fucntion is false.
Any one could help me ? what is the reason
Thanks so much.
|
|
|
|
|
You might want to check out the return value of GetLastError when the call fails. Perhaps that will give you some extra info.
|
|
|
|
|
The last parameter (the ID) is also used as the menu handler for the window. If that value is non-NULL, the system will attempt to load the menu given in nID and attach it to the window. If you step into Create until you get here:
// allow modification of several common create parameters
AfxHookWindowCreate(this);
HWND hWnd = ::CreateWindowEx(cs.dwExStyle, cs.lpszClass,
cs.lpszName, cs.style, cs.x, cs.y, cs.cx, cs.cy,
cs.hwndParent, cs.hMenu, cs.hInstance, cs.lpCreateParams);
#ifdef _DEBUG
if (hWnd == NULL)
{
TRACE1("Warning: Window creation failed: GetLastError returns 0x%8.8X\n",
GetLastError());
}
#endif
You will see if you put a watch on "@ERR" GetLastError returns 1401, "@ERR,hr" will then show you that maps to "Invaid Menu Handle"
|
|
|
|
|
hi
I need a simple program to image processing..
It must be open images & shaping , finding edge in image ...
Then save image...
But i need a simle program with CImage class..
plz help me..
s.r
|
|
|
|
|
I have a Bidirectional RPC that is 99% operational. It is part of a DLL that gets loaded by the IAS Service (svchost.exe process).
Unfortunately when I stop the IAS service the server endpoint doesn't always release even though I have called RpcServerUnregisterIf(). This means the next time I start the service the server RPC cannot bind to the endpoint because the port is not available. If I kill svchost.exe the port is freed immediately. I can then start and stop IAS over and over and the RPC will start and stop as expected. Once I restart the other 5 windows 2000 services that were killed when I killed svchost, IAS becomes unable to release the RPC port.
I think this has something to do with the fact that some of the other services in the same process are using RPCs as well. I think that this is why I am unable to have full control over the RPC server.
Any help will be greatly appreciated.
Leon
|
|
|
|
|
Hi,
I have a multi-threaded OCX (MFC) - which spawns 5 worker threads at a time, for a list of jobs. I am using WaitForMultipleObjects() with the handles of the 5 threads to wait until any of the thread finishes. As soon as WaitForMultipleObjects() returns, that thread is reused for the next job in the queue.
I need to know how do I check if the handle of a given thread is valid or not! When a given thread "ends", its handle is NOT always NULL , and so cannot be checked as:
if(m_pthJob[nItr]->m_hThread == NULL)
Could you please guide me how to check if the handle is valid or invalid?
Thanks,
Nirav Doshi
* Don't wish it was easier, wish you were better! *
|
|
|
|
|