|
harsh_2961 wrote: int mark=m_mainlist.GetSelectionMark();
you should not use GetSelectionMark() to get the selected item. Use GetNextItem instead. Also give show selection always style to list control and check. Let me know the result after this modification.
nave
|
|
|
|
|
Hello everybody,
I'm trying to port old apps to the new system (the express version), just before buying the new VC8 software.
I've found this: in the old code there is a #include <fstream> clause in one of the implementation files (and it works).
In the new VC8, it appears an error that says: fatal error C1083: Cannot open include file: 'fstream.h': No such file or directory
Any idea on how to solve that?
As always thank you in advance.
|
|
|
|
|
You were using a non standard header. The standard headers from the .h, so fstream, not fstream.h, iostream, not iostream.h, etc.
You probably need a using namespace std; as a result.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Hello Comunity,
i need to update and sort a file content, that hava a first line as header?
Is there any function in C++ for that, also i have a multiline file and i want to update the line 5
wit new content!
Lines beginnst always with number that are not sorted!
thanks for any help!
break;
|
|
|
|
|
You can't simply add and remove lines from the middle of files. Treat each line line a string, each line like an array and the whole file like an array of strings. If you want to insert a string at index 10 of a sized 20 array, you would need to grow the array and move everything after index 10. This can be a time consuming process.
For the sake of speed, open the file as a memory mapped file and cast it to an array of strings.
|
|
|
|
|
Hello,
thanks for reply, yes, this can take more time!
break;
|
|
|
|
|
break; wrote: Is there any function in C++ for that, also i have a multiline file and i want to update the line 5
wit new content!
Lines beginnst always with number that are not sorted!
there is no direct or random access method.. you have to do that line by line... no alterbative .. if your file is small you can create memory mapped file random update the file in memory!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
|
hi,
Need to create context menu in win32 ,in the list view control when I right click on the listitem .
It will open the popmenu or contextmenu and give the option "Delete" .
then it will remove the file from the listview.
|
|
|
|
|
1. overide the NM_RCLICK message of list control.
2. Inside it create a CMenu object and load menu from the resource.
3. Call TrackPopupMenu of the CMenu object.
nave
|
|
|
|
|
yes , i have doing the same thing from the help but how can i get the pt.x and pt.y.
if(((LPNMHDR)lParam)->code == NM_RCLICK)
{
HMENU hmenuTrackPopup;
POINT pt;
HMENU hMenu=LoadMenu(hInst,TEXT("IDR_MENU1"));
TrackPopupMenu(hmenuTrackPopup,TPM_LEFTALIGN | TPM_RIGHTBUTTON,<code>pt.x, pt.y</code>, 0, hList, NULL);
}
due to that application break this point so how can i handle?
Amit
|
|
|
|
|
|
That point is given to you when the user clicks the mouse.
|
|
|
|
|
use
CPoint pt = GetCurrentMessage()->pt;
nave
|
|
|
|
|
Catch WM_CONTEXTMENU, it gives you the mouse location as well.
Load the menu you want to show (usually load menu from resource id, then load sub menu).
Call TrackPopupMenu.
...cmk
Save the whales - collect the whole set
|
|
|
|
|
Thank you all nice guys!
but still the application is not give me the "delete" popup/context menu.
the code is below.
if(((LPNMHDR)lParam)->code == NM_RCLICK)
{
HMENU hmenuTrackPopup; // shortcut menu
POINT pt;
GetCursorPos(&pt);
HMENU hMenu=LoadMenu(hInst,TEXT("IDR_MENU1"));
hmenuTrackPopup= GetSubMenu(hMenu, 0);
TrackPopupMenu(hmenuTrackPopup,TPM_LEFTALIGN | TPM_RIGHTBUTTON,pt.x,pt.y,0, hList, NULL);
}
Amit
|
|
|
|
|
i doubt the way you created the context menu in the resource. U must create the Delete menu as submenu.
eg:
Mainmenu
|
|->Delete
then u must specify the id of main menu in the LoadMenu() function
more over if u use CMenu, it will be a little easiler that the above
CMenu PopUpMenu;<br />
PopUpMenu.LoadMenu( IDR_MENU1 );<br />
CPoint pt;<br />
pt = GetCurrentMessage()->pt;<br />
PopUpMenu.GetSubMenu( 0 )->TrackPopupMenu( TPM_LEFTALIGN, pt.x, pt.y, this, 0 );
nave
|
|
|
|
|
which includes are necessary for CMenu because i am not working on MFC.
i have replace POINT with CPoint.but how menu ???
Amit
|
|
|
|
|
no pblm ...use sdk calls it self
POINT pt;
HMENU hMenu=LoadMenu(hInst,TEXT("IDR_MENU1"));
Point pt;
pt = GetCurrentMessage()->pt;
HMENU hSubmenu = GetSubMenu( hMenu,0 );
TrackPopupMenu( hSubmenu, TPM_LEFTALIGN, pt.x, pt.y, hList, 0 );
but dont forget to make the delete as submenu.
i found another ppblm in your code
HMENU hMenu=LoadMenu(hInst,TEXT("IDR_MENU1"));
TrackPopupMenu(hmenuTrackPopup,TPM_LEFTALIGN | TPM_RIGHTBUTTON,pt.x, pt.y, 0, hList, NULL);
in the above code that you pasted earlier, you r loading the menu to hMenu. But your calling the TrackPopupMenu with handle hmenuTrackPopup
nave
|
|
|
|
|
yes thanks !
actually when I received your mail at the same time i have did it.
and when i have compare with your code its same.
Thanks once again.
|
|
|
|
|
hi nave ,
ask you one question how can i handle an event for the delete button
for that i have put my code in
<br />
case WM_COMMAND:<br />
<br />
switch(LOWORD(wParam))<br />
{ <br />
case ID_DELETE_DELETE: <br />
{<br />
int iSlected=0;<br />
iSlected=SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED);<br />
if(iSlected==-1)<br />
{<br />
MessageBox(hList,_T("No Items in ListView"),_T("Error"),MB_OK|MB_ICONINFORMATION);<br />
break;<br />
} <br />
ListView_DeleteItem(hList,iSlected); <br />
}<br />
<br />
break;<br />
<br />
}<br />
<br />
should it work or now i have to write somewhere else?
Amit
|
|
|
|
|
Did you run your code and what happens and also you can use of LVNI_SELECTED
|
|
|
|
|
amitmistry_petlad wrote: iSlected=SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED);
better use LVNI_SELECTED
every thing else seems to be fine
nave
|
|
|
|
|
I have changed it but the "delete" is not working.
should i have to change anything else?
Amit
|
|
|
|
|
Whats the value of selected item?
nave
|
|
|
|