|
Franz Klein wrote: but it seems only one CDocument is created for all 4 views
That's what I was afraid of
Do you create all 4 views at the start before you have 4 documents?
If so then Doc/View will get in your way a bit since a CView has no way to set a document later.
Maybe create the views with an "empty" document - by empty, I mean with some flag or variable
that indicates the image isn't loaded/available yet. When the image becomes available, use
CDocument::UpdateAllViews() to force a refresh on the views.
In your view classes you can override OnDraw() instead of handling WM_PAINT.
|
|
|
|
|
Hi,
I am making VC++.NET windows application. I made a configuration file (app.config) for my database server settings. But when I am trying to get setting from the file using “ConfigurationSettings” class I am getting NULL in it. Here is my code for that.
NameValueCollection* configCol = ::ConfigurationSettings::AppSettings;
Can I know what is the problem in this?
Thanks in advance,
Priyank
|
|
|
|
|
|
hi experts
my problem is something like this..
i have a main dialogue in which i have a list control, and in the main dialogue i also have tab control. on the tabpane i have a list control again.
now my job is when i click on an item in the list control of my main dialogue and press ADD button on the main dialogue, that item should be added to the list control in tabpane, but this is not happening. please help me.
note: instead of having ADD button in the main dialogue , if i have it in tabpane itself the above problem is not there. and i am able to add the item from list control of main dialog to list contrtol of tab pane but i cannot have ADD button in tabpane
Harsha
|
|
|
|
|
Can you post following code :
- Event handler when you click on the button
- Adding the string to the list in the tab control
Company policy : no access to the internet but CP
~RaGE()
|
|
|
|
|
This below event handler belongs to ADD button of main dialogue
void CNewUiDlg::OnBnClickedAdd()
{
CPhoneBook m_ph(this);
CString val;
int mark=m_mainlist.GetSelectionMark();
m_checken=m_mainlist.GetItemText(mark,0);
//m_ph.AddtoPB(m_checken);
}
This below function belongs to class that is controling tab pane
BOOL CPhoneBook::AddtoPB(CString s)
{
m_phoneval=s;
m_listphone.InsertItem(0,m_phoneval);
m_listphone.SetItemText(0,1,m_address);
UpdateData(false);
//MessageBox(m_phoneval); the message box displays the string
}
Instead if we add an ADD button to the tabpane itself and add the handler as below it works and displays the contents from list control of main dialogue to list control of tabpane
void CPhoneBook::OnBnClickedAdd()
{
m_listphone.InsertItem(0,m_checken);
m_listphone.SetItemText(0,1,m_address);
}
Harsha
|
|
|
|
|
can you show the code inside the button click of Add.
nave
|
|
|
|
|
This below event handler belongs to ADD button of main dialogue
void CNewUiDlg::OnBnClickedAdd()
{
CPhoneBook m_ph(this);
CString val;
int mark=m_mainlist.GetSelectionMark();
m_checken=m_mainlist.GetItemText(mark,0);
//m_ph.AddtoPB(m_checken);
}
This below function belongs to class that is controling tab pane
BOOL CPhoneBook::AddtoPB(CString s)
{
m_phoneval=s;
m_listphone.InsertItem(0,m_phoneval);
m_listphone.SetItemText(0,1,m_address);
UpdateData(false);
//MessageBox(m_phoneval); the message box displays the string
}
Instead if we add an ADD button to the tabpane itself and add the handler as below it works and displays the contents from list control of main dialogue to list control of tabpane
void CPhoneBook::OnBnClickedAdd()
{
m_listphone.InsertItem(0,m_checken);
m_listphone.SetItemText(0,1,m_address);
}
Harsha
|
|
|
|
|
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
|
|
|
|