|
you get links to a lot of books in Google. i personally don't think that was a bad answer.
|
|
|
|
|
Chandrasekharanp wrote: you get links to a lot of books in Google.
Yep, and that's the problem. Because how to filter out the good ones out of this full list ?
|
|
|
|
|
Possibly statistically.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
He isn't asking code to do something strikingly obvious that can be Googled.
The OP mentioned that he is new to MFC and he is looking for experienced people to recommend MFC books to him, and to help such people is the very purpose of the existence of forums like this. IMHO, people here will be able to recommend books better than Google can.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
|
p_1960 wrote: MFC Classes are explained in detail
How about having a look at the hierarchy chart in MSDN[^]
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
_AnsHUMAN_ wrote: How about having a look at the hierarchy chart in MSDN[^]
That's pretty old. The latest chart (three parts) is here[^]
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
On the link that I provided it is written - This page is specific to Microsoft Visual Studio 2003/.NET Framework 1.1
p_1960 wrote: ...im using vs2003
The OP had mentioned
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
Ah! You cut me low.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
"The MFC Answer Book" by Eugene Kain
"Beginning Visual C++ 6" by Ivor Horton (also available for VC++ 2005 and VC++ 2008)
|
|
|
|
|
p_1960 wrote: im newbie to MFC can u suggest me any Good book(in which all MFC Classes are explained in detail...
They are all explained here and here.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Hi all,
please explain me how can i get domain or workgroup details of any computer.
thanks in advance.
To accomplish great things, we must not only act, but also dream;
not only plan, but also believe.
|
|
|
|
|
A little googling highlights NetGetJoinInformation[^], which will get you either domain or workgroup name - seems to work successfully for both workgroup and domain computers that I have access to.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
You did not specify exactly what you were looking for, so all I can offer is this.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Hi All,
Can any body please tell me,how to know whether a hard disk is S.M.A.R.T. supported or not.I tried using Win32_DiskDrive class using the index Interface Type.But it is not the value 10 which is SMART Notification even if the Hard disk is S.M.A.R.t. supported.
Regards
Abinash
|
|
|
|
|
Abinash Mohanty wrote: Win32_DiskDrive class using the index Interface Type.
Try the Capabilities property, as documented here[^].
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Sorry Dear,
I mentioned in my question that i tried Interface type by mistake.But i actually tried Capabilities property.Its only showing the properties 3 and 4 to be supported even if the disk is S.M.A.R.T. suppoprted.It should also show the property 10 which is S.M.A.R.T. notification.
Regards
Abinash
|
|
|
|
|
You can use something like this:
BOOL DriveSupportsSMARTCommands(DWORD dwDrive)
{
HANDLE hDrive;
TCHAR szDrive[MAX_PATH];
_stprintf(szDrive,_T("\\\\.\\PhysicalDrive%d"), dwDrive);
hDrive = CreateFile(szDrive,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, OPEN_EXISTING, 0, NULL);
if(INVALID_HANDLE_VALUE != hDrive)
{
GETVERSIONINPARAMS gvp = {0};
DWORD dwRet = 0;
if(DeviceIoControl(hDrive, SMART_GET_VERSION,NULL,0,&gvp, sizeof (GETVERSIONINPARAMS),&dwRet, NULL))
{
return (gvp.fCapabilities & CAP_SMART_CMD);
}
}
return FALSE;
}
SMART_GET_VERSION[^]
GETVERSIONINPARAMS[^]
You will probably need Power User or Administrator access.
Best Wishes,
-David Delaune
|
|
|
|
|
Hi folks!
To get to the point, here's some code:
...
dc.BeginPath();
dc.Ellipse(rectangle);
dc.EndPath();
CBrush Brush(color);
CBrush *OriginalBrush = dc.SelectObject(&Brush);
dc.FillPath();
dc.SelectObject(OriginalBrush);
int PointCount = dc.GetPath(NULL, NULL, 0);
dc is valid, rectangle is OK, the ellipse gets filled as it should but when i call GetPath to retrieve the points in the path it returns -1 and i get "Cannot complete this function" from GetLastError(). Any ideas what might cause this? Thanks in advance.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
Here's quoting from the documentation for FillPath:
MSDN wrote:
FillPath Function
Remarks
After its interior is filled, the path is discarded from the DC identified by the hdc parameter.
(http://msdn.microsoft.com/en-us/library/dd162718(VS.85).aspx[^])
Iain.
In the process of moving to Sweden for love (awwww).
If you're in Scandinavia and want an MVP on the payroll (or happy with a remote worker), give me a job! http://cv.imcsoft.co.uk/[ ^]
|
|
|
|
|
Thank you very much, i completely missed that, haven't worked with paths much yet.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
I am using the following code snippet. This is the code which gets executed when I click on a Browse button.
Function call - BrowseDialog( GetParent()->GetSafeHwnd(), csTitle, lpszBuf );
Function Definition -
BrowseDialog(HWND hWndParent,CString pszPath,LPSTR csDialogTitle)
{
_tcsncpy(szInitialDir, pszPath, _MAX_PATH-1);
int nLen = _tcslen(szInitialDir);
if (szInitialDir[nLen-1] == '\\')
szInitialDir[nLen-1] = '\0';
BROWSEINFO bi;
memset((LPVOID)&bi, 0, sizeof(bi));
TCHAR szDisplayName[_MAX_PATH];
szDisplayName[0] = '\0';
bi.hwndOwner = hWndParent;
bi.pidlRoot = NULL;
bi.pszDisplayName = (LPSTR)szDisplayName;
bi.lpszTitle = csDialogTitle;
bi.lpfn = RecipeBrowseCallbackProc;
bi.ulFlags = BIF_RETURNONLYFSDIRS|BIF_EDITBOX|BIF_VALIDATE|BIF_USENEWUI|BIF_STATUSTEXT;
LPITEMIDLIST pIIL = ::SHBrowseForFolder(&bi);
BOOL bRet = ::SHGetPathFromIDList(pIIL, (char*)&szSelectedDir);
}
Some times I am getting crash when clicking on browse button and sometimes after opening the browse button and selecting another directory..
Can I know what is the fault in above code
|
|
|
|
|
Well, your code won't compile...
I can't see any definition for szInitialDir!
I can imagine it's a TCHAR array, MAX_PATH long... Make sure the last TCHAR is zero.
Beyond that, I'd have a look at the crash, and see that the debugger tells me. Also go line by line, and check the contents of bi. You also have a callback function - it is the right signature? If not, you could be getting stack corruption.
Does it work without the callback?
Go to boring and simple, get that working, then build up.
Iain.
In the process of moving to Sweden for love (awwww).
If you're in Scandinavia and want an MVP on the payroll (or happy with a remote worker), give me a job! http://cv.imcsoft.co.uk/[ ^]
|
|
|
|
|
This is my call back function..
int CALLBACK RecipeBrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
BOOL bReturn;
UNREFERENCED_PARAMETER(lpData);
switch (uMsg)
{
case BFFM_VALIDATEFAILED:
// AfxMessageBox(GetString(107), MB_OK | MB_ICONEXCLAMATION);
bReturn = TRUE;
break;
case BFFM_INITIALIZED:
::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, (LPARAM)szInitialDir);
bReturn = FALSE;
break;
case BFFM_SELCHANGED:
{
TCHAR szDir[MAX_PATH];
//don't allow the CSIDL_NETHOOD typically C:\Documents and Settings\username\NetHood
//as it contains folder shortcuts...
if (SHGetPathFromIDList((LPITEMIDLIST) lParam ,szDir))
{
LPITEMIDLIST pidl = NULL;
SHGetSpecialFolderLocation(NULL, CSIDL_NETHOOD, &pidl);
TCHAR szNethoodDir[_MAX_PATH];
BOOL bRet = ::SHGetPathFromIDList(pidl, (char*)&szNethoodDir);
LPTSTR lpsz = _tcsrchr(szDir, (_TUCHAR) '\\');
int nIndex = lpsz - szDir;
szDir[nIndex] = '\0';
if (_tcsicmp(szDir, szNethoodDir) == 0)
::SendMessage(hwnd,BFFM_ENABLEOK,0 ,0);
::SendMessage(hwnd,BFFM_SETSTATUSTEXT,0,(LPARAM)szDir);
}
bReturn = FALSE;
}
break;
}
return bReturn;
}
|
|
|
|