Browse Source

added button to wrap text

git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@374 595ec19a-5cb4-439b-94a8-42fb3063c22c
sabrogden 19 years ago
parent
commit
40bca47e9a

+ 28 - 1
RulerRichEditCtrl/RulerRichEditCtrl.cpp

@@ -166,6 +166,7 @@ CRulerRichEditCtrl::CRulerRichEditCtrl() : m_pen( PS_DOT, 0, RGB( 0, 0, 0 ) )
 	m_movingtab = -1;
 	m_offset = 0;
 	m_readOnly = FALSE;
+	m_bInWrapMode = FALSE;
 	ShowToolbar();
 	ShowRuler();
 
@@ -404,6 +405,7 @@ BEGIN_MESSAGE_MAP(CRulerRichEditCtrl, CWnd)
 	ON_BN_CLICKED(BUTTON_INDENT, OnButtonIndent)
 	ON_BN_CLICKED(BUTTON_OUTDENT, OnButtonOutdent)
 	ON_BN_CLICKED(BUTTON_BULLET, OnButtonBullet)
+	ON_BN_CLICKED(ID_BUTTONWRAP, OnButtonWrap)
 	ON_WM_SETFOCUS()
 	ON_REGISTERED_MESSAGE(urm_RULERACTION, OnTrackRuler)
 	ON_REGISTERED_MESSAGE(urm_GETSCROLLPOS, OnGetScrollPos)
@@ -1095,6 +1097,11 @@ void CRulerRichEditCtrl::OnButtonBold()
 
 }
 
+void CRulerRichEditCtrl::OnButtonWrap()
+{
+	DoWrap();
+}
+
 void CRulerRichEditCtrl::OnButtonItalic() 
 /* ============================================================
 	Function :		CRulerRichEditCtrl::OnButtonItalic
@@ -1342,6 +1349,8 @@ void CRulerRichEditCtrl::UpdateToolbarButtons()
 
 		if( cf.dwMask & CFM_COLOR )
 			m_toolbar.SetFontColor( cf.crTextColor );
+
+		DoWrap();
 	}
 }
 
@@ -1672,6 +1681,25 @@ void CRulerRichEditCtrl::DoColor()
 
 }
 
+void CRulerRichEditCtrl::DoWrap()
+{
+	if(m_bInWrapMode)
+	{
+		// Turn off word wrap.
+		m_rtf.SetTargetDevice(NULL, 1);
+		m_bInWrapMode = false;
+	}
+
+	else
+	{
+		// Turn on word wrap.
+		m_rtf.SetTargetDevice(NULL, 0); 
+		m_bInWrapMode = true;
+	}
+
+	m_toolbar.CheckButton(ID_BUTTONWRAP, !m_toolbar.IsButtonChecked(ID_BUTTONWRAP));
+}
+
 void CRulerRichEditCtrl::DoBold()
 /* ============================================================
 	Function :		CRulerRichEditCtrl::DoBold
@@ -1687,7 +1715,6 @@ void CRulerRichEditCtrl::DoBold()
 
    ============================================================*/
 {
-
 	m_toolbar.CheckButton( BUTTON_BOLD, !m_toolbar.IsButtonChecked( BUTTON_BOLD ) );
 
 	int effect = 0;

+ 4 - 0
RulerRichEditCtrl/RulerRichEditCtrl.h

@@ -83,6 +83,7 @@ public:
 	virtual void DoIndent();
 	virtual void DoOutdent();
 	virtual void DoBullet();
+	virtual void DoWrap();
 
 	void SetCurrentFontName( const CString& font );
 	void SetCurrentFontSize( int points );
@@ -111,6 +112,7 @@ protected:
 	afx_msg void OnButtonIndent();
 	afx_msg void OnButtonOutdent();
 	afx_msg void OnButtonBullet();
+	afx_msg void OnButtonWrap();
 	afx_msg void OnSetFocus(CWnd* pOldWnd);
 	afx_msg LRESULT OnSetText (WPARAM wParam, LPARAM lParam);
 	afx_msg LRESULT OnGetText (WPARAM wParam, LPARAM lParam);
@@ -141,6 +143,8 @@ protected:
 	BOOL			m_showRuler;
 	BOOL			m_readOnly;
 
+	BOOL			m_bInWrapMode;
+
 	// Sub-controls
 	CRulerRichEdit	m_rtf;
 	CRRECToolbar	m_toolbar;

+ 1 - 0
RulerRichEditCtrl/RulerRichEditCtrl.rc

@@ -28,6 +28,7 @@ BEGIN
     BUTTON      BUTTON_INDENT
     BUTTON      BUTTON_OUTDENT
     BUTTON      BUTTON_BULLET
+    BUTTON      ID_BUTTONWRAP
 END
 
 STRINGTABLE DISCARDABLE 

+ 1 - 0
RulerRichEditCtrl/ids.h

@@ -47,6 +47,7 @@
 #define STRING_COLOR		33
 #define STRING_DEFAULT		34
 #define STRING_CUSTOM		35
+#define ID_BUTTONWRAP		36
 
 // Mouse handling
 extern UINT urm_RULERACTION;

BIN
RulerRichEditCtrl/toolbar.bmp