|
When you say, "my project is not getting attached to a process",...what does that mean exactly? Did your project actually compile correctly (without errors)? Are you executing the binary application? Or what?
|
|
|
|
|
Hai!
From last two days I have been searching for code that displays an image from BYTE array, i posted this question multiple times, i even got responses but i was either not able to understand them or not able to use them, The reason is i am new to the IMAGES concept.
Finally i got i solution I was able to display image from byte array by importing CPictureCtrl class from :
http://www.codeproject.com/KB/graphics/CPictureControl.aspx
Finally i am having two problems :
Prob1: I first imported the CPictureCtrl Classes (.h &.cpp) into my Visual Studio 2005 Dialog based application and tried to display .bmp, .jpg, .jp2 images, by using code as explained in above URL,
.bmp and .jpg got displayed but not .jp2, Can you please explain me how to convert .jp2 image to either .jpg or .bmp or how to display .jp2 image using CPictureCtrl Class.
Prob2:My actual requirement is to do a dialog based application in which i have image display from byte array for a pocket PC Device(2003) in eMbedded VC++, The CPictureCtrl class uses GdiPlus.lib, i dowloaded GdiPlus.lib from net and pasted in
C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Lib\Armv4
where other libraries exist, and included the name "GdiPlus.lib" in MyProject>Properties>Link>AdditionalLibraries>GdiPlus.lib (both for debug and release) still i get error message :
fatal error C1083: Cannot open include file: 'gdiplus.h': No such file or directory
Can u please suggest me the correct version of GdiPlus.lib that is supported in eVC++
Thanks!
|
|
|
|
|
// CAbstractList derived form CObList
class CAbstractList :
public CObList
{
public:
CAbstractList(int nBlockSize = 10);
virtual ~CAbstractList();
};
CAbstractList::CAbstractList(int nBlockSize)
:CObList (nBlockSize)
{
}
CAbstractList::~CAbstractList()
{
}
//======================================
typedef CTypedPtrList<CAbstractList, CGraphBaseObj*> CMyObjectList ;
//If the Comments are removed it gives warning
class COhioObjectList /*:public CTOhioObjectList*/
{
public:
COhioObjectList()/* : CTOhioObjectList()*/{}
~COhioObjectList();
};
//======================================
1> D:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\afxtempl.h(1887) : while compiling class template member function '_CTypedPtrList<BASE_CLASS,TYPE>::_CTypedPtrList(INT_PTR)'
1> with
1> [
1> BASE_CLASS=CAbstractList,
1> TYPE=CGraphBaseObj *
1> ]
1> D:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\afxtempl.h(1961) : see reference to class template instantiation '_CTypedPtrList<BASE_CLASS,TYPE>' being compiled
1> with
1> [
1> BASE_CLASS=CAbstractList,
1> TYPE=CGraphBaseObj *
1> ]
1 ohoblist.h(35) : see reference to class template instantiation 'CTypedPtrList<BASE_CLASS,TYPE>' being compiled
1> with
1> [
1> BASE_CLASS=CAbstractList,
1> TYPE=CGraphBaseObj *
1> ]
1>D:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include\afxtempl.h(1887) : warning C4244: 'argument' : conversion from 'INT_PTR' to 'int', possible loss of data
How to rectify this warning
VIBIN
"Fool's run away,where angle's fear to tread"
<div class="ForumMod">modified on Saturday, April 25, 2009 1:48 AM</div>
|
|
|
|
|
change the CAbstractList Ctor's arguemt form int to INT_PTR
CAbstractList::CAbstractList(<code>INT_PTR</code> nBlockSize)
:CObList (nBlockSize)
{
}
VIBIN
"Fool's run away,where angle's fear to tread"
|
|
|
|
|
Hi,
Pls let me know how can i execute Dos command in ShellExecute...the command is..
msiexec /i c:\Test\Test.msi ALLUSERS=1
Pls help me out....
|
|
|
|
|
here`s the example :
TCHAR szOpnParam[256] = TEXT("\0");
wsprintf(szOpnParam,TEXT("/k %s"),szParamGet); <br />
ShellExecute(hwnd,TEXT("open"),TEXT("cmd"),szOpnParam,NULL,SW_SHOWNORMAL);<br />
hope it will help
|
|
|
|
|
Hi,
im using CRegKey::SetKeyValue() to add a value under a Registrykey..but there is no parameter in the function SetkeyValue to specify the type of the value which i want to create...ie REG_SZ,REG_DWORD etc... by default it is taking as REG_SZ...
Pls suggest me if there is any other function to create a value under registry of any type..ie (REG_SZ,REG_DWORD etc...)
|
|
|
|
|
If you look at CRegKey documentation [^], then you may find, for instance, SetBinaryValue , SetDWORDValue and so on.
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]
|
|
|
|
|
I'm sure this will open a can of worms
I'm a long time (20+years) C programmer, and I've decided that I've procrastinated enough--it's time to learn C++ for real (I've been mostly using C++ as a better C)
What are some good books for picking up C++? I know that the 'Dummies' books are out there, but I was wondering what else there may be. I've been using MS VC++ 6.0, but have recently upgraded to VS2008 so I could even jump a level and go straight to C#, but it seems that the majority of the programs here on CodeProject are C++.
|
|
|
|
|
steve76063 wrote: but it seems that the majority of the programs here on CodeProject are C++.
Is this your driving reason? Really?
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]
|
|
|
|
|
Let's say it's one of the driving reasons
Everytime I go looking for some algorithm or method of getting something done, one of the first places I go is to Code Project It seems that ever good solution I've been able to find is almost always in C++.
That and the fact that most of the MS VC++ is geared toward C++ It's hard to find anything that doesn't involve classes and other C++ stuff. I've managed to muddle through for quite a while with them, but I'd really like to know what I'm doing
|
|
|
|
|
steve76063 wrote: What are some good books for picking up C++?
Start with Thinking in C++[^]. You can get a free HTML version of that book. Few more books you will be interested,
1 - The C++ programming language By Stroustrup
2 - Modern C++ Design: Generic Programming and Design Patterns Applied
3 - C++ coding standards - 101 Rules, Guidelines, and Best Practices By Herb Sutter, Andrei Alexandrescu
4 - Effective C++ Third Edition 55 Specific Ways to Improve Your Programs and Designs By Scott Meyers
5 - Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions By Herb Sutter
|
|
|
|
|
I am running into the problem of when a resource is active/accessible and not.
I want to disable (grey out) certain menu items when the files it needs are not available.
I tried using the resource ID of the menu item(s) in OnInitDialog() and in OnSysCommand(), but that didn't work.
CWnd *pCntrlItem;
if ( !bExists )
{
pCntrlItem = CWnd::GetDlgItem(ID_UTILITIES_ITEM1);
pCntrlItem->EnableWindow(FALSE);
}
Can anyone help? Thanks,
JJM
|
|
|
|
|
john john mackey wrote: I want to disable (grey out) certain menu items when the files it needs are not available.
That can easily be handled by adding an ON_UPDATE_COMMAND_UI macro in your message map. In the handler for that message, simply return TRUE/FALSE to enable/disable that particular menu item.
"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
|
|
|
|
|
I'm obviously doing something wrong. I am even looking at some code that did the same thing (originally created in VC++ 6.0) and comparing it to what I am trying - not working.
In my Studio 2008 (VC++ 2008), I set the menu item's property to Grayed=True, Enabled=FALSE.
I have message handler for ON_UPDATE_COMMAND_UI(), and then I'm doing the debugger.
Since Enabled==FALSE, I can't get the button to change back even when my criterium is found:
void CStartupDlg::OnUpdateUtilitiesCoordConv(CCmdUI *pCmdUI)
{
CString sProcName;
sProcName.LoadStringA(IDS_MYFILE);
CFileStatus cfStat;
BOOL bExists = FALSE;
bExists = CFile::GetStatus(sProcName, cfStat);
if ( !bExists )
{
MessageBox("What the Deuce?!", NULL, MB_OK);
pCmdUI->Enable(FALSE);
}
else
{
pCmdUI->Enable(TRUE);
}
}
|
|
|
|
|
john john mackey wrote: In my Studio 2008 (VC++ 2008), I set the menu item's property to Grayed=True, Enabled=FALSE.
What happens if you leave those properties as default?
"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
|
|
|
|
|
Doesn't do a thing either.
I'm moving ON_UPDATE_COMMAND_UI() into the //AFX_MSG_MAP section BEGIN_MESSAGE_MAP so that it looks like the VC++6.0 version, doing other changes to make it look like the working 6.0 version.
I'm puzzled
|
|
|
|
|
john john mackey wrote: Doesn't do a thing either.
Are you sure that pCmdUI->SetEnable(TRUE) is being called?
john john mackey wrote: I'm moving ON_UPDATE_COMMAND_UI() into the //AFX_MSG_MAP section BEGIN_MESSAGE_MAP...
Which won't affect the compiler as all of those comments are removed by the preprocessor before the compiler sees the code.
"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
|
|
|
|
|
When I set the resource properties of the menu item (like I did in my old code, VC++6.0) to Enabled = False, Greyed = True, it can't reach this update because the menu item is disabled - ON_UPDATE_COMMAND_UI() can't be called
I am so confused as to why it worked in old code and not now....
|
|
|
|
|
sorry for the same problem again, but I have one more question regarding this:
Is there a difference in how menu items are handle in Doc/View applications Vs. a Dialog-based app?
The previous example, which worked, was implemented in a Doc/View application. The ON_UPDATED_COMMAND_UI was placed in the view.cpp section of code. here is what worked:
(PrevProgramView.cpp)
BEGIN_MESSAGE_MAP(CPrevProgramView, CView)
ON_COMMAND(ID_FILE_ADJUST, OnFileAdjustTimes)
ON_UPDATE_COMMAND_UI(ID_FILE_ADJUST, OnUpdateFileAdjustTimes)
END_MESSAGE_MAP()
then the function
void CPrevProgramView::OnUpdateFileAdjustTimes(CCmdUI *pCmdUI)
{
if (m_existingFile)
pCmdUI->Enable(TRUE);
else
pCmdUI->Enable(FALSE);
}
and my resource property for ID_FILE_ADJUST is set to: Enabled=False, Greyed=True
In the new piece of code I'm trying to write (Dialog-based app), I have the following:
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
ON_COMMAND(ID_UTILITIES_CONVERT, OnUtilitiesConvert)
ON_UPDATE_COMMAND_UI(ID_UTILITIES_CONVERT, &CMyDlg::OnUpdateUtilitiesConvert)
END_MESSAGE_MAP()
and the new function (that IS called) is
void CMyDlg::OnUpdateUtilitiesConvert(CCmdUI *pCmdUI)
{
CFileStatus cfStat;
CString sProcName;
BOOL bExists = FALSE;
sProcName.LoadStringA(IDS_COORD_CONV);
bExists = CFile::GetStatus(sProcName, cfStat);
pCmdUI->Enable( bExists );
}
with my resource ID_UTILITIES_CONVERT set to Enabled=False, Greyed=True.
NOTE: I even changed my ID_UTILITIES_CONVERT to Enabled=TRUE, Greyed=FALSE, changed pCmdUI->Enable( FALSE ); and set breakpoints - did not change the menu item to disabled
Don't know what is not working
|
|
|
|
|
john john mackey wrote: Is there a difference in how menu items are handle in Doc/View applications Vs. a Dialog-based app?
I've never added a menu to a dialog-based app.
"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
|
|
|
|
|
Hey everybody
Okay, I'm stuck on that one for a few month now...
Is there a way to get a clipboard paste event without system-wide hook???
Thanks a lot !!!!
|
|
|
|
|
Green Fuze wrote: Is there a way to get a clipboard paste event without system-wide hook???
I'm not even sure what that means. If you want to capture all WM_PASTE messages in the system then how else would it be done?
Otherwise maybe you are looking for SetClipboardViewer[^]
|
|
|
|
|
led mike wrote: If you want to capture all WM_PASTE messages in the system then how else would it be done?
Well, you may ask to the developers of all your applications (future ones included) to gently notify you when a WM_PASTE is to be issued...
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]
|
|
|
|
|
I was starting to think about that solution after a while...
|
|
|
|