|
Raphaël Kindt wrote:
When I press the start menu (to start the acquisition) is the Document or the View which must handle this message
IMHO it's the MainFrame which should process the command. Knowing which document is currently active, it will be able to call for this object the document's method responsible for loading the data.
HTH,
K.
Angels banished from heaven have no choice but to become demons
Cowboy Bebop
|
|
|
|
|
I think that's a good idea...
Thanks Karl...
Hello World!!!
from Raphaël
|
|
|
|
|
I wonder if there is an easy way to rename a class
including its source file in Visual Studio.
Has .NET Studio any support for this ?
Variable renaming would also be a fine thing.
Simply change the name in the class wizard and all
occurences of the variable are renamed.
This would make refactoring the code much easier when
I change my code in the late stage of a project to
clean up loose ends.
Regards,
Alois Kraus
|
|
|
|
|
Edit->Find and Replace->Replace in Files
Check out the regular expression you pretty much can do anything old grep used to do.
|
|
|
|
|
Nope, you gotta do it the old fashioned way. Find/Replace.
My guess why DevStudio doesn't have this feature is that it may be difficult to do accurately every time. They'd rather avoid the risk of renaming something inappropriately.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Hello,
I would like to make something similar to the Start menu of 2000/XP: you can double click on any popup menu to open the item (therefore you can select items that are not leaves in your menu). Anyone has an idea how to do this?
Regards,
mynab
|
|
|
|
|
Hi!
I'm doing this:
if(bRectangleFlag)
{
if (bAddTenHousesFlag = true)
{
CBrush myBrush;
myBrush.CreateSolidBrush(RGB(255,0,0));
HBRUSH hMyBrush = (HBRUSH)myBrush;
pDC->SelectObject(hMyBrush);
pDC->Rectangle(Anchor.x,Anchor.y,DrawTo.x,DrawTo.y);
pDoc->pMetaFileDC->SelectObject(hMyBrush);
pDoc->pMetaFileDC->Rectangle(Anchor.x,Anchor.y,DrawTo.x,DrawTo.y);
}
pDC->SelectStockObject(NULL_BRUSH);
pDC->Rectangle(Anchor.x,Anchor.y,DrawTo.x,DrawTo.y);
pDoc->pMetaFileDC->SelectStockObject(NULL_BRUSH);
pDoc->pMetaFileDC->Rectangle(Anchor.x,Anchor.y,DrawTo.x,DrawTo.y);
}
But the return from SelectObject is killing mu program!
Anyone know why?
Thanks,
quirky
|
|
|
|
|
pDC->SelectObject(&myBrush);
You don't need hMyBrush.
|
|
|
|
|
Many thanks, it now works !
quirky
|
|
|
|
|
Try something like this:
[...]
{
CBrush myBrush;
myBrush.CreateSolidBrush(RGB(255,0,0));
CBrush* pOldBrush pDC->SelectObject(&myBrush);
pDC->...
...
pDC->SelectObject(pOldBrush);
}
[...]. This way, you are sure to select the brush out of the DC (by selecting in whatever has been there before) before the variable that contains it goes out of scope.
Hope this helps
--
"My opinions may have changed, but not the fact that I am right."
Found in the sig of Herbert Kaminski
|
|
|
|
|
Hi Friends
Below is the code wich i used to split the window
It executes well but remains minimised, WHY ??
please identify the mistakes as well as other things to implement if there is
#include <afxwin.h>
#include <afxext.h>
/////////////////////////////////////////////////
// my view class
class myView : public CView
{
DECLARE_DYNCREATE(myView)
public:
myView();
void OnDraw(CDC *dc);
DECLARE_MESSAGE_MAP()
};
myView::myView()
{}
/////////////////////////////////////////////////
// my main class
class myMain:public CFrameWnd
{
public:
myMain();
afx_msg void OnPaint();
CSplitterWnd splitter;
BOOL OnCreateClient(LPCREATESTRUCT,CCreateContext*);
DECLARE_MESSAGE_MAP();
};
myMain::myMain()
{
Create(NULL,"MFC");
}
BOOL myMain::OnCreateClient(LPCREATESTRUCT rs,CCreateContext* context )
{
// Adding the splitter
if (!splitter.CreateStatic(this,1,2,
WS_CHILD|WS_VISIBLE) )
{
TRACE0("Failed to CreateStaticSplitter\n");
return FALSE;
}
// Creating first view(left)
if ( !splitter.CreateView( 0, 0,
RUNTIME_CLASS(myView ),
CSize(50,50), context
) )
{
TRACE0("Failed to create second pane\n");
return FALSE;
}
// Creating second view(right)
if (!splitter.CreateView( 0, 1,
RUNTIME_CLASS(myView ),
CSize(50,50), context
) )
{
TRACE0("Failed to create second pane\n");
return FALSE;
}
return FALSE;
}
//////////////////////////////////////////////////////
// my application calss
class myApp:public CWinApp
{
public:
BOOL InitInstance()
{
m_pMainWnd=new myMain;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
};
//////////////////////////////////////////////////
// my document class
class myDoc : public CDocument
{
DECLARE_DYNCREATE(myDoc)
public:
myDoc()
{}
};
void myView::OnDraw(CDC *dc)
{
myDoc *p_myDoc = (myDoc*) GetDocument();
}
/////////////////////////////////////////////////////
BEGIN_MESSAGE_MAP(myMain,CFrameWnd)
END_MESSAGE_MAP()
BEGIN_MESSAGE_MAP(myView,CView)
END_MESSAGE_MAP()
myApp App;
IMPLEMENT_DYNCREATE(myDoc,CDocument)
IMPLEMENT_DYNCREATE(myView,CView)
|
|
|
|
|
i have created a project in vc6.0 . iwant to distribute my application to other people so that they can use it. it contains some dll i have tried the realse version in vc6 but i constantly gives me errors what do i do is this the right way to do it or not. pls help me out.
thanx in advance
|
|
|
|
|
Either link statically (project-> Settings)
or see what are the dll dependies using the tool dependency walker and supply these files with ur application
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Hi Friends
I created an MFC Application using AppWizard with the option "Split Window"(something like this) in the 4th step's advanced section. It splits the window dynamically.
Can I make this dynamic splitting static ??
by calling 'CreateStatic' instead of 'Create' in CFrameWnd::OnCreateClient
i.e
BOOL CmyMain::OnCreateClient( 'parameters' )
{
// creating splitter
m_wndSplitter.CreateStatic(this,
1 // one row
2 // two columns
)
return TRUE;
}
Will it solve my problem or i need the other stuffs ??
If YES the please identify them also
BTW Do I need to create view for each splitted window ??
you can reply me at aatifaqeel@yahoo.com
Thanx for helping me
|
|
|
|
|
Which API should be the best choice (i.e winsock2 e.t.c) for the development of a firewall (in MFC) for a beginner.
Reply me soon
|
|
|
|
|
I am interested in developing a firewall using VC++(MFC). pLZ TELL ME WHAT LIBRARIES/websites to explore and how to start. I am a beginner so plz guide me properly in detail.
Reply me soon
|
|
|
|
|
http://www.codeproject.com/useritems/DrvFltIp.asp for a start
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Hy people!
My CRichEditCtrl is taking me out of control... I don't know what to do...
It haves an CString variable and a control variable associate. When I type more than 256 chars, it just crash...
If someone have some idea...
thanks all for the attention.
cheers!
Ricky
|
|
|
|
|
I just tested this with a RichEditCtrl using a control and text variable mapped to it using the DDX_COntrol and DDX_Text functions, and couldn't reproduce the problem. Are you doing anything special in the EN_CHANGE handler or anything else?
Could you also run in debug mode and get the line of the crash and a stack trace, as that may help pinpoint the problem.
Roger Allen
Sonork 100.10016
This is a multiple choice question, choose wisely
Why did the hedgehog cross the road?
A: To show he had guts?
B: To see his flat mate?
|
|
|
|
|
Yes Roger, I found the problem...
I'm using SendMessage(EM_SETEVENTMASK, (WPARAM)NULL, (LPARAM)ENM_UPDATE), just to count the number of chars.
The problem was in the CString variables that was associate with the control. I delete them, and used GetWindowText instead of UpdateData(); and works fine.
Thanks for your help!
cheers!
Ricky
|
|
|
|
|
Can I use CPaintDC outside OnDraw() and other related functions ? And if so, how ?
This is because I have a big problem: When I draw objects using CClientDC they appear on a screen location (inside the client's area) different from when I use CPaintDC, in the OnDraw() routine because of the Invalidate() message....
What is going on ?
Thank you
|
|
|
|
|
In CView::OnDraw you don't need CPaintDC and CClientDC. You have CDC* parameter:
void CMyView::OnDraw(CDC* pDC)
{
pDC->...
}
|
|
|
|
|
Yes, I know. I explainied my problem wrong:
I call the OnDraw() routine when I need to repaint the client area. But when I need a device context in other routines, like OnMouseMove(), I create a CClientDC device context. The problem arouses when I move the ViewPort. I don not know why, but the CPaintDC device context already knows this, whereas the CClientDC does not.
So, whenever I scroll and then draw something with the mouse I get the objects I drew in a position. But when I redraw the whole client area the objects change position....
Thank you
|
|
|
|
|
The general approach is drawing only in one place - OnDraw (or OnPaint, if class is not CView). Drawing from any other places is overwritten by OnDraw, in any case. In mouse message handler you make the changes in drawing objects (for example, change some variables in CDocument) and invalidate the view or part of it.
|
|
|
|
|
I agree with you, but in this case I need to draw outside the OnDraw() or OnPaint(), although I a have a CView class. I solved the problem by writing a clone of OnPrepareDC for a CClientDC device context type, and use before I use the CClientDC class.
By the way, how does one do to invalidade only part of the client area ?
Thank you for your time and patience
|
|
|
|