|
This may some time happen. Either you may be having your project open somewhere else or you are not closing the application properly. Anyways you can try the procedure given below.
Delete the .ncb file that exists in your application.
Go to the Task Manager and close all running instances of MSDEV or .NET
Open Your project with the .dsw or .sln extension.
RebuildAll.
Does this solve your problem. If not you need to create a new workspace and add your existing files to it.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
how to convert my program to unicode
|
|
|
|
|
Lots of stuff here[^].
0 bottles of beer on the wall, 0 bottles of beer, you take 1 down, pass it around, 4294967295 bottles of beer on the wall.
Awasu 2.2.2 [^]: A free RSS/Atom feed reader with support for Code Project.
|
|
|
|
|
Hi !!!
There are few rules:
1. you have to define _UNICODE, if you have precompiled headers file, define this there
2. you have to use _T("some text") macro for strings instead of "some text"
3. you have to use TCHAR instead of char
4. for console input/output you must use wcin , wcout, wcerr instead of cin, cout, cerr
5. you have to use std::string class with TCHAR instead of char
You can do this:
typedef std::basic_string<tchar> string;
I hope I helped you !
By !!!
-:KNOX:-
|
|
|
|
|
I have created a splitter window inside another splitter window.
In the newly created splitter window pane, a tree control is placed.
Upon selecting an item in the tree control, i want third splitter window to get created. But i am not able to get it done.
Before selecting the item:
first pane
---------------------------
tree|
ctrl| second pane
pane|
After selecting the tree item:
first pane
-----------------------------
tree | I-II pane
ctrl |--------------------
pane | II-II pane
Any body plz give me an idea.
Thanks in advance.
|
|
|
|
|
u cannot create a third splitter window by selecting an treectrl item bcoz this splitter window will initialize in oncreateclient and it will call only once.
|
|
|
|
|
U cannot create a third splitter window by selecting an treectrl item bcoz this splitter window will initialize in oncreateclient and it will call only once.
What u can do is
create this third window in the oncreateclient only but set its width to 1( you cannot set the width to 0 in MFC) and when you select the tree control once again set the width of third window to desired size.
To set the width you can use SetRowInfo() and SetColInfo()(please refer MSDN
for more help about SetRowInfo() and SetColInfo())
Rakesh
-- modified at 5:53 Saturday 3rd June, 2006
|
|
|
|
|
I getting an exception.
This is what i did in my code:
CMainFrame::OnCreateClient(..)
{
m_wndSplitter.CreateStatic( this,1,2);
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CMyTree),CSize(200,100),pContext);
m_wndSplitter1.CreateStatic(&m_wndSplitter,1,2,WS_CHILD | WS_VISIBLE | WS_BORDER,m_wndSplitter.IdFromRowCol(0,1));
m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CMyView1),CSize(200,100),pContext);
m_wndSplitter1.CreateView(0,1,RUNTIME_CLASS(CMyView1),CSize(400,200),pContext);
m_wndSplitter2.CreateStatic(&m_wndSplitter1,1,2,WS_CHILD | WS_VISIBLE | WS_BORDER,m_wndSplitter.IdFromRowCol(0,1));
m_wndSplitter2.SetRowInfo(0,1,1);
m_wndSplitter2.SetColumnInfo(0,1,1);
m_wndSplitter2.SetColumnInfo(1,1,1);
pCon=*pContext;
.....
}
In tree control view:
void CMyTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
CMultiSplitWndApp* app=(CMultiSplitWndApp*)AfxGetApp();
HTREEITEM sel=pNMTreeView->itemNew.hItem;
CString str= GetTreeCtrl().GetItemText(sel);
CMainFrame* wnd=(CMainFrame*)app->m_pMainWnd;
wnd->m_wndSplitter1.DeleteView(0,1);
wnd->m_wndSplitter2.SetColumnInfo(0,400,100);
wnd->m_wndSplitter2.SetColumnInfo(1,400,100);
wnd->m_wndSplitter2.SetRowInfo(0,400,100);
wnd->m_wndSplitter2.CreateView(0,1,RUNTIME_CLASSCMyTree),CSize (400,200),&wnd->pCon);
wnd->m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CMyTree),CSize(400,200),&wnd->pCon);
*pResult = 0;
}
Correct me if there is any wrong.
Thanks for ur reply.
|
|
|
|
|
Hi
I think the reason why u r getting an exception is that
void CMyTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult)
{
..........
.............
wnd->m_wndSplitter1.DeleteView(0,1);
.......
.......
}
you have splitted the m_wndSplitter1 view into 1 row 2 col. Now while deleting you are writing
wnd->m_wndSplitter1.DeleteView(0,1);
which delets view assigned to one window only and second window is still having the view with it. So when you try to assign the view to this window you get an exception.
Insted you try
wnd->m_wndSplitter2.DeleteView(0,0);
wnd->m_wndSplitter2.DeleteView(0,1);
and then try to reassign the views.
Rakesh
|
|
|
|
|
Thanks for ur reply.
But still i am gettinmg an exception.
|
|
|
|
|
Sorry then,thats all from my side...
Will update you if I find any help on this issue...
Rakesh
|
|
|
|
|
Thankyou.
|
|
|
|
|
Hello,
I found some interesting facts about CSplitterWnd::CreateView(). The document says that you cannot call the 'CreateView()' from outside the OnCreateClient(). But you can call it indirectly from OnCreateClient() i.e. you can call another function from OnCreateClient() which calls CreateView().
________________________________________________________
For example....
OnCreateClient(..)
{
CreateAllViews(..)
}
CreateAllViews(..)
{
CreateView(...);
CreateView(...);
}
______________________________________________
In your code you are calling CreatView() in
void CMyTree::OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult).
I think this might be the reason why you get an exception.....
Rakesh
|
|
|
|
|
I write code to communicaton between PC and microcontroller by serial port. I use CreateFile,WriteFile,ReadFile,...and program only use lines Tx,Rx of COM port, program run ok. But now I want to Set/Clear and read status of other lines (pins) of COM port: DTR,DSR,DCD,....
How to do that ?
Pls help me !
Thank !
|
|
|
|
|
I down a example (gridctrl_demo225) to study. in the code one thing puzzled me.
platform : VC.Net
a CGridCtrl based on CWnd,
a Dialog(CDlgA) is the parent of the CGridCtrl instance.
following is a part of the code
// EFW - Added to forward right click to parent so that a context
// menu can be shown without deriving a new grid class.
void CGridCtrl::OnRButtonUp(UINT nFlags, CPoint point)
{
CWnd::OnRButtonUp(nFlags, point); // !!!this call trigers CDlgA::OnContextMenu(...)
:
:
}
I read document of CWnd::OnRButtonUp(nFlags, point), it does not say, it will triger parent's OnContextMenu. so if I say CWnd::OnRButtonUp(nFlags, point) calls parent's OnContextMenu(...). Is it right?
And the weird thing is I set a breakpoint in CDlgA::OnContextMenu(...) want to see who calls it. There is no records of callstack.
|
|
|
|
|
You shouldn't handle WM_RBUTTONUP if you want the default context menu handling, because the default window proc will send a WM_CONTEXTMENU when it sees WM_RBUTTONUP . If you do context menu handling in response to WM_RBUTTONUP , the user won't be able to bring up the context menu using the keyboard.
--Mike--
Visual C++ MVP
LINKS~! Ericahist | PimpFish | CP SearchBar v3.0 | C++ Forum FAQ
|
|
|
|
|
in CGridCtrl::OnRButtonUp() it calls base class's CWnd::OnRButtonUp() so My DlgA::OnContextMenu() was called.
I want do same thing for my View. But why MyView::OnContextMenu() won't be called. MyView is CGridCtrl's parent. same as DlgA
|
|
|
|
|
How does one force focus to a new control.... an edit control....
from within an MFC CDialog
SetFocus isn't doing it for me. Focus/Capture is always going to the default button.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen (a.k.a. not an MFC expert!)<br />
Staff Engineer<br />
<A HREF="http://www.soonr.com">SoonR Inc.</A>
-- modified at 18:16 Friday 2nd June, 2006
|
|
|
|
|
Try GotoDlgCtrl()
CEdit* pBoxOne;
pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1);
GotoDlgCtrl(pBoxOne);
Although I would not use GetDlgItem.
Have you tried youreditctrl.SetFocus()?
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
-- modified at 18:22 Friday 2nd June, 2006
|
|
|
|
|
I have a CEdit control on a CDialog that is in a docking DialogBar.
Is it possible to have 2 accelerators with the same values, one for the CEdit control, and one for the Whole application that do 2 different things ?
For example; in our case, we would like to be able to hit "Ctrl-X" when the user select the text in the edit box, and also do a "Ctrl-X" if the focus in on another control ( somewhere else in the application ? )
Our application has a custom Edit processing ( cut copy paste will open a dialog ). so now, when the user wants to cut/copy/paste text from an edit box, it does not cut/copy/paste the text, but will start our own cut/copy/paste process.
Is it possible to have the 2 different behaviour with the same accelerators ?
It's not a very clear description. sorry about that.
Thanks
Max.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Maximilien wrote: Is it possible to have the 2 different behaviour with the same accelerators ?
I believe it practical.
Maxwell Chen
|
|
|
|
|
I've created a WSAEventSelect socket and put it in its own thread with a loop to handle FD_READ events.
Is it possible (and ok) to send packets outside of the thread as long as I have the socket handle?
Also, can I call functions from within the socket thread to change data from a class that wasnt passed to the new thread?
AKA push items onto a vector from within the threaded socket loop.
|
|
|
|
|
SPowers wrote: Is it possible (and ok) to send packets outside of the thread as long as I have the socket handle?
Yes. It is both possible and okay. Some design implementations call for separating the sending and receiving sections for communications.
SPowers wrote: Also, can I call functions from within the socket thread to change data from a class that wasnt passed to the new thread?
AKA push items onto a vector from within the threaded socket loop.
You will probably want a queue, but yes. Just make sure you use critical sections when adding/removing items from the vector/queue.
If you decide to become a software engineer, you are signing up to have a 1/2" piece of silicon tell you exactly how stupid you really are for 8 hours a day, 5 days a week
Zac
|
|
|
|
|
I apoligize for my ignorance...
what are critical sections?
Is this related to the read / write problem?
|
|
|
|
|
SPowers wrote: what are critical sections?
A synchronization object clickety[^]
|
|
|
|
|