|
Its better you ask in this forum[^]
|
|
|
|
|
I was wondering if there is a tool/utility that would allow me to convert (back-port) a Visual C++ .NET 2003 project (.sln MFC Application) back to Visual C++ 6 (.dsw).
Thanks
|
|
|
|
|
|
Exactly what I needed....thanks a lot!
|
|
|
|
|
Ok, so the whole transition to VC from BCB is making my head ache, so I've come here in the hopes of solving an issue.
I have an array of HBITMAP, that contain images of letters.
HBITMAP m_pBitmap[100];
This array is populated at run-time, loading in each bitmap.
CString filename;<br />
for(int i = 0; i < 100; i++)<br />
{<br />
filename.Format(_T("\\Hard Disk\\ATMT\\Aspects\\Ascii%d.bmp"), (i + 32));<br />
m_pBitmap[i] = SHLoadDIBitmap(filename);<br />
}
On my form, I have placed a CBitmap, and assigned it a Static name for reference.
What I want to be able to do, is copy some of the array bitmaps, into various locations on the form bitmap.
This is where I'm stumbling around trying to come to terms with CDCs, DIBs, BitBlt, CopyRect, etc etc
I know how to change one of the array to a CBitmap for usage:
CBitmap *bitmap = new CBitmap;<br />
BOOL bSuccess = bitmap->Attach(m_pBitmap[50]);
But I can't work out how to place the array image onto the target.
I can't seem to get a DC of the form Static Image (.GetDC( ) doesn't exist).
So, can someone please put me on track here?
|
|
|
|
|
Hello comunity,
need help to sort a CListCtrl with this LVS_OWNERDATA property!
Without this works fine, ok, now i needed to change to LVS_OWNERDATA
and make sorting function for that, i save all data to an
CObject derived class and push back to an vektor!
Now when i click on some column i have to sort this list, ascending or descending!
But ths fails because the CListCtrl own function check if this is set: LVS_OWNDERDATA!
Here is problem:
_AFXCMN_INLINE BOOL CListCtrl::SortItems(PFNLVCOMPARE pfnCompare, DWORD dwData)
{ ASSERT(::IsWindow(m_hWnd)); ASSERT((GetStyle() & LVS_OWNERDATA)==0); return (BOOL) ::SendMessage(m_hWnd, LVM_SORTITEMS, dwData, (LPARAM)pfnCompare); }
This is the original function that checks for LVS_OWNERDATA property!
My idea is to use my vector and sort them, and refresh this control with new sorted data from vektor!
Any idea to do this?
thanks for any help!
termal
|
|
|
|
|
You don't have to call CListCtrl::SortItems()
Just sort your vector (probably some data-structure you have on RAM) and then call CListCtrl::RedrawWindow() - This will cause Windows to re-call your display function for each visible item and now that your vector is sorted ...
|
|
|
|
|
Hello,
ok, thaks for help!
regards
termal
|
|
|
|
|
when I used the function "::CoUninitialize(NULL,COINIT_APARTMENTTHREADED);" in VC6,there were two errors like here:
: is not a member of '`global namespace''<br />
: error C2065: 'CoInitializeEx' : undeclared identifier
even though I import ole32.lib and include objbase.h
somebody would tell me,why?Thanks
|
|
|
|
|
CoUninitialize(void);
CoUninitializeEx(Null, dwCoInit);
just make sure you put the Ex on if you want the parameters.
that might be the solution.
regards
sam.
|
|
|
|
|
Yes,I do so, but VC6 would tell me the function was not decleared.
|
|
|
|
|
kcynic wrote: "::CoUninitialize
You are using CoInitializeEx , isn't it?
Define _WIN32_WINNT as following in your header file.
#define _WIN32_WINNT 0x0400
Prasad
MS MVP - VC++
|
|
|
|
|
Yes,you are right.In fact I used like this:
::CoInitializeEx(NULL,COINIT_APARTMENTTHREADED);
but if I define _WIN32_WINNT as you pointed out.The problem remaian there with no change.
|
|
|
|
|
kcynic wrote: but if I define _WIN32_WINNT as you pointed out.The problem remaian there with no change.
Be sure, this definition is first line in your precompiled header.
Prasad
MS MVP - VC++
|
|
|
|
|
hi,
I am trying out a win32 application which will automate some operations (like click on Next button on a window).
My issue is a treeview. I want to get the text of a node inside the treeview. For that I am using the following code.
//**************************************
HTREEITEM hRoot = TreeView_GetRoot(hwnd);
HTREEITEM hChild;
HTREEITEM hNextItem;
if (hRoot == NULL)
{
MessageBox(NULL, "Error: Problem with tree view ", "Error", 0);
}
else
{
hChild= TreeView_GetNextItem(hwnd,hRoot,TVGN_CHILD);
hNextItem= TreeView_GetNextItem(hwnd,hChild, TVGN_NEXT);
}
//TreeView_SelectItem(hwnd,hChild); TreeView_SelectItem(hwnd,hNextItem);
char name[100];
TVITEM myItem;
myItem.mask=TVIF_TEXT|TVIF_HANDLE;
myItem.hItem=hNextItem;
myItem.pszText =name;
myItem.cchTextMax =99;
TreeView_GetItem(hwnd,&myItem);
//::SendMessage(hwnd,WM_GETTEXT,(WPARAM) 0,(LPARAM)myItem.pszText);
MessageBox(NULL, name, "Automation", 0);
//*************************************
But it is not retreiving the text. It will do upto selecting the node, But GetItem function is failing.
Pls give a solution
Thanks in advance.
SYAMLAL
|
|
|
|
|
SyamlalS wrote: But GetItem function is failing.
How you are verifying this ?
SyamlalS wrote: char name[100];
TVITEM myItem;
myItem.mask=TVIF_TEXT|TVIF_HANDLE;
myItem.hItem=hNextItem;
myItem.pszText =name;
myItem.cchTextMax =99;
Doesn't myItem.pszText gives you text you wanted ?
Prasad
MS MVP - VC++
|
|
|
|
|
The function TreeView_GetItem() returns FALSE always and the specified string is a junk value
SYAMLAL
|
|
|
|
|
Try this code,
TCHAR name[100] = {0};
TVITEM myItem;
myItem.mask=TVIF_TEXT ;
myItem.hItem = hNextItem;
myItem.pszText = name;
myItem.cchTextMax = 99;
Prasad
MS MVP - VC++
|
|
|
|
|
Still the function is failing and i am getting a null string in the messagebox
SYAMLAL
|
|
|
|
|
I wonder , why it should fail , if hNextItem is a valid handle. Can you verify that ?
Prasad
MS MVP - VC++
|
|
|
|
|
No probs.
Handle is valid only.
Some experienced people told like, getting data from treeview node is difficult, compared to selecting node and all.
For that somebody has written some proxies( functions to access separate controls on windows). Soon that will be available to me.
Anyway thanks for your interest in the matter.
Take care.
Bye
SYAMLAL
|
|
|
|
|
Still the function is failing and i am getting a null string in the messagebox
SYAMLAL
|
|
|
|
|
Still the function is failing and i
am getting a null string in the messagebox
SYAMLAL
|
|
|
|
|
How can I establish the initial directory and the filter for open file in C++ ?
Please help...
|
|
|
|
|
If you are talking about the CFileDialog class in MFC then here it is:
CFileDialog MyFileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Text Files (*.txt;)|*.txt; |Database Files (*.mdb)|*.mdb; |All Files (*.*)|*.*||");//Filter
MyFileDlg.m_ofn.lpstrInitialDir = _T("C:\\MyDirectory"); // Initial Dir.
if (MyFileDlg.DoModal() == IDOK)
{
...
}
Hope this helps ...
|
|
|
|