000
10.04.2008, 11:46 Uhr
WindDancer1
|
Hi Leute ,
ich habe ein kleines SDI Programm geschrieben welches eine EditBox in der ToolBar enthält. Die EditBox reagiert auf das drücken der Returntaste indem der eingegebene Wert in einer MessageBox, die in der PreTranslateMessage der EditBox aufgerufen wird, ausgegeben wird. Es ist doch aber so, dass Daten im Doc verarbeitet und im Vie dargestellt werden sollen, deshalb würde ich den Wert der in der EditBox an das View übergeben um ihn dann dort in einer MessageBox darzustellen !
Ich versuch das jetzt schon seit einigen Tagen ung krieg es einfach nicht gebacken Ich hab mir auch schon die Finger wund gegoogeld aber zum Thema Conrols in der ToolBar schein es nur ComboBox Beispiele zu geben un die müssen nicht auf Return reagieren oder sonstwas, ich weis nicht wo das Problem ist und was ich noch machen kann !
Ich möchte nicht zuviel Code posten aber die MyEdit.cpp und die MyEdit.h sowie die View.h werdet Ihr sicher brauchen :
[MyEdit.cpp:
C++: |
// MyEdit.cpp
#include "stdafx.h" #include "MyEdit.h"
#include "Test.h" #include "NEW_cLoadFile.h"
#include "MainFrm.h"
CMyEdit::CMyEdit() { }
CMyEdit::~CMyEdit() { }
BEGIN_MESSAGE_MAP(CMyEdit, CEdit) END_MESSAGE_MAP()
BOOL CMyEdit::PreTranslateMessage(MSG* pMsg) { NEW_cLoadFile mlf; cTest test; if (pMsg->message == WM_KEYDOWN && VK_RETURN == pMsg->wParam) { return TRUE; } else if (pMsg->message == WM_KEYUP && VK_RETURN == pMsg->wParam) { CString cstrNumber; GetWindowText(cstrNumber); test.testFunktion(cstrNumber); CView* pView = (((CMainFrame*)AfxGetMainWnd())->GetActiveView()); return TRUE; } return CEdit::PreTranslateMessage(pMsg); }
|
MyEdit.h:
C++: |
// MyEdit.h #pragma once
class CMyEdit : public CEdit // Ableiten von CMyEdit von CEdit { public: CMyEdit(); ~CMyEdit();
BOOL PreTranslateMessage(MSG* pMsg);
CString m_MyEditAusgabe;
protected: DECLARE_MESSAGE_MAP() };
|
[b]View.cpp:
C++: |
// NonButton Ctrl in ToolBar 1View.cpp #include "stdafx.h" #include "NonButton Ctrl in ToolBar 1.h"
#include "MyEdit.h"
#include "NonButton Ctrl in ToolBar 1Doc.h" #include "NonButton Ctrl in ToolBar 1View.h"
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif
IMPLEMENT_DYNCREATE(CNonButtonCtrlinToolBar1View, CView)
BEGIN_MESSAGE_MAP(CNonButtonCtrlinToolBar1View, CView) //{{AFX_MSG_MAP(CNonButtonCtrlinToolBar1View) //}}AFX_MSG_MAP // Standard-Druckbefehle ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP()
CNonButtonCtrlinToolBar1View::CNonButtonCtrlinToolBar1View() { }
CNonButtonCtrlinToolBar1View::~CNonButtonCtrlinToolBar1View() { }
BOOL CNonButtonCtrlinToolBar1View::PreCreateWindow(CREATESTRUCT& cs) { return CView::PreCreateWindow(cs); }
void CNonButtonCtrlinToolBar1View::OnDraw(CDC* pDC) { CNonButtonCtrlinToolBar1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); }
BOOL CNonButtonCtrlinToolBar1View::OnPreparePrinting(CPrintInfo* pInfo) { // Standardvorbereitung return DoPreparePrinting(pInfo); }
void CNonButtonCtrlinToolBar1View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) {
}
void CNonButtonCtrlinToolBar1View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { }
#ifdef _DEBUG void CNonButtonCtrlinToolBar1View::AssertValid() const { CView::AssertValid(); }
void CNonButtonCtrlinToolBar1View::Dump(CDumpContext& dc) const { CView::Dump(dc); }
CNonButtonCtrlinToolBar1Doc* CNonButtonCtrlinToolBar1View:: { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CNonButtonCtrlinToolBar1Doc))); return (CNonButtonCtrlinToolBar1Doc*)m_pDocument; } #endif //_DEBUG
void CNonButtonCtrlinToolBar1View::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { CString text;
//?????????????????????????????????????????
MessageBox(text,text,MB_OK);
}
|
Es ist wie verhext :mad: Hoffentlich könnt Ihr mir helfen !
Vielen Dank für Eure Mühe und Hilfe vorab Gruß, hoffnungsvoll WindDancer
P.S.: Ein kleines SampleProjekt mit dem gleichen Problem könnt Ihr bei Bedarf hier runterladen: www.filehosting.at/files/download.php?file=be2dd28431f7924453796eb53193f345 Dieser Post wurde am 10.04.2008 um 11:54 Uhr von WindDancer1 editiert. |