000
12.12.2007, 20:42 Uhr
WindDancer1
|
Hi Leute ,
ich hab hier ein Prijekt, das eine EditBox in der ToolBar haben soll, das implementieren und anzeigen anzeigen funktioniert. Wenn ich versuche die TextBox auf Knopfdruck zu füllen klappt's nicht, es ist zum irre werden ! Ich möchte per Druck auf diesen Knopf (das Ereignis(Knopfdruck) wird im Doc gehandelt) die Edit Box dynamisch füllen (mit Werten die im Doc berechnet werden), aber das klappt einfach nicht ;( ! Ich hab jetzt emal ein kleines Projekt mit der selben Problematik angelegt um übertschaubaren Code schicken zu können. Wenn es möglich ist / wäre würde ich das ganze Projekt (ist wirklich nicht groß !) hochladen uder zumailen, Hauptsache Ihr könnt mir helfen, es ist wirklich wichtig !
Hier der Code in Kürze :
also das ist der Code Im DOC.cpp:
C++: |
void CEditCtrlDoc::OnUpdateFill(CCmdUI* pCmdUI) { pCmdUI->Enable (m_bFill); // Aktiviert Button zum füllen der EditBox }
|
Code der DOC.h :
Ich habe nur die Bool Variable im Public Bereich eingefügt :
Code der TlBar.cpp (neue Klasse für das Edit Control in der ToolBar):
C++: |
// TlBar.cpp: Implementierungsdatei //
#include "stdafx.h" #include "EditCtrl.h" #include "TlBar.h"
#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif
#define EDITLEN 80 #define EDITPOS 3
///////////////////////////////////////////////////////////////////////////// // CTlBar
CTlBar::CTlBar() { }
CTlBar::~CTlBar() { }
BEGIN_MESSAGE_MAP(CTlBar, CToolBar) //{{AFX_MSG_MAP(CTlBar) // HINWEIS - Der Klassen-Assistent fügt hier Zuordnungsmakros ein und entfernt diese. //}}AFX_MSG_MAP END_MESSAGE_MAP()
///////////////////////////////////////////////////////////////////////////// // Behandlungsroutinen für Nachrichten CTlBar
BOOL CTlBar::LoadToolBarEx (UINT id) { bool bReturn; bReturn = CTlBar::LoadToolBar (id);
int iPosition = CommandToIndex (ID_nEDIT);
SetButtonInfo (iPosition,ID_nEDIT,TBBS_SEPARATOR,EDITLEN);
CRect rect; GetItemRect (iPosition, &rect); rect.bottom = 20;
DWORD dwStyle = WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_AUTOHSCROLL; m_Ctrl_EDIT.CreateEx(WS_EX_CLIENTEDGE,_T("EDIT"),NULL, dwStyle, rect, this, ID_nEDIT); return bReturn; }
|
Code in TlBar.h :
C++: |
#if !defined(AFX_TLBAR_H__1741EA96_4BB2_4E63_8A8A_F21C15ACF84F__INCLUDED_) #define AFX_TLBAR_H__1741EA96_4BB2_4E63_8A8A_F21C15ACF84F__INCLUDED_
#if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // TlBar.h : Header-Datei //
///////////////////////////////////////////////////////////////////////////// // Fenster CTlBar
class CTlBar : public CToolBar { // Konstruktion public: CTlBar();
//*********************************************************************************************************************** BOOL LoadToolBarEx (UINT id); //*********************************************************************************************************************** // Attribute public:
// Operationen public:
// Überschreibungen // Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen //{{AFX_VIRTUAL(CTlBar) //}}AFX_VIRTUAL
// Implementierung public: virtual ~CTlBar();
// Generierte Nachrichtenzuordnungsfunktionen protected: //{{AFX_MSG(CTlBar) // HINWEIS - Der Klassen-Assistent fügt hier Member-Funktionen ein und entfernt diese. //}}AFX_MSG
DECLARE_MESSAGE_MAP() //*********************************************************************************************************************** private: CEdit m_Ctrl_EDIT; //*********************************************************************************************************************** };
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
#endif // AFX_TLBAR_H__1741EA96_4BB2_4E63_8A8A_F21C15ACF84F__INCLUDED_
|
Ich möchte eigentlich nichts weiter als dass bei Druck auf den Fill Button (grüner Punkt) die TextBox mit einem Text gefüllt wird !!!
könnt Ihr mir da weiterhelfen ???
Gruß WindDancer |