You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
629 lines
27 KiB
C++
629 lines
27 KiB
C++
// XTPHexEdit.h interface for the CXTPHexEdit class.
|
|
//
|
|
// This file is a part of the XTREME CONTROLS MFC class library.
|
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
|
//
|
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
|
// CONSENT OF CODEJOCK SOFTWARE.
|
|
//
|
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
|
// SINGLE COMPUTER.
|
|
//
|
|
// CONTACT INFORMATION:
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
#if !defined(__XTPHEXEDIT_H__)
|
|
#define __XTPHEXEDIT_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000j
|
|
|
|
#ifdef _XTP_ACTIVEX
|
|
#define CXTPHexEditBase CXTPOleControl
|
|
#else
|
|
#define CXTPHexEditBase CEdit
|
|
#endif
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// CXTPHexEdit is a CEdit derived class. It is used to create an edit control
|
|
// which will allow editing in hex display format.
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPHexEdit : public CXTPHexEditBase
|
|
{
|
|
DECLARE_DYNAMIC(CXTPHexEdit)
|
|
|
|
protected:
|
|
// --------------------------------------------------------------------
|
|
// Summary:
|
|
// Enumeration used to determine current editing mode.
|
|
// Remarks:
|
|
// EditMode type defines the constants used by the CXTPHexEdit
|
|
// class to determine the current editing mode.
|
|
// See Also:
|
|
// CXTPHexEdit
|
|
//
|
|
// <KEYWORDS editNone, editAscii, editHigh, editLow>
|
|
// --------------------------------------------------------------------
|
|
enum EditMode
|
|
{
|
|
editNone, // No editing mode specified.
|
|
editAscii, // ASCII editing mode.
|
|
editHigh, // High editing mode.
|
|
editLow // Low editing mode.
|
|
};
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Constructs a CXTPHexEdit object
|
|
//-----------------------------------------------------------------------
|
|
CXTPHexEdit();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Destroys a CXTPHexEdit object, handles cleanup and deallocation
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPHexEdit();
|
|
|
|
|
|
public:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method creates the HexEdit control.
|
|
// Parameters:
|
|
// dwStyle - Style for the HexEdit.
|
|
// rect - Specifies the size and position of the HexEdit control.
|
|
// pParentWnd - Specifies the parent window of the HexEdit control.
|
|
// nID - Specifies the HexEdit control ID.
|
|
// Returns:
|
|
// TRUE if successful, otherwise returns FALSE.
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method creates the HexEdit control.
|
|
// Parameters:
|
|
// dwStyle - Style for the HexEdit.
|
|
// rect - Specifies the size and position of the HexEdit control.
|
|
// pParentWnd - Specifies the parent window of the HexEdit control.
|
|
// nID - Specifies the HexEdit control ID.
|
|
// lpszClassName - Class Name ("EDIT" by default)
|
|
// lpszWindowName - Window Name
|
|
// pContext - Pointer to the CCreateContext
|
|
// Returns:
|
|
// TRUE if successful, otherwise returns FALSE.
|
|
//-----------------------------------------------------------------------
|
|
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to return the current background color for
|
|
// the hex edit control. The current background color depends on the
|
|
// enabled, disabled, or read-only state of the control.
|
|
// Returns:
|
|
// An RGB value that represents the current background color for the control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetActualBackColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to return the current text color for the hex
|
|
// edit control. The current text color depends on the enabled, disabled,
|
|
// or read-only state of the control.
|
|
// Returns:
|
|
// An RGB value that represents the current text color for the control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetActualTextColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to return the current highlight background
|
|
// color for the hex edit control. The current highlight background color
|
|
// depends on the enabled, disabled, or read-only state of the control.
|
|
// Returns:
|
|
// An RGB value that represents the current highlight background
|
|
// color for the control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetActualHighlightBackColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to return the current highlight text color
|
|
// for the hex edit control. The current highlight text color depends
|
|
// on the enabled, disabled, or read-only state of the control.
|
|
// Returns:
|
|
// An RGB value that represents the current highlight text color for the
|
|
// control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetActualHighlightTextColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the background color for the hex edit
|
|
// control.
|
|
// Parameters:
|
|
// crBack - An RGB value that represents the background color of the hex edit
|
|
// control.
|
|
//-----------------------------------------------------------------------
|
|
void SetBackColor(COLORREF crBack);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve the current background color
|
|
// for the hex edit control.
|
|
// Returns:
|
|
// An RGB value that represents the current background color for
|
|
// the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetBackColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the text color for the hex
|
|
// edit control.
|
|
// Parameters:
|
|
// crText - An RGB value that represents the text color of the
|
|
// hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
void SetTextColor(COLORREF crText);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve the current text color for the
|
|
// hex edit control.
|
|
// Returns:
|
|
// An RGB value that represents the current text color for the hex
|
|
// edit control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetTextColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the disabled background color for
|
|
// the hex edit control.
|
|
// Parameters:
|
|
// crDisabledBack - An RGB value that represents the disabled background
|
|
// color of the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
void SetDisabledBackColor(COLORREF crDisabledBack);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve the current disabled background
|
|
// color for the hex edit control.
|
|
// Returns:
|
|
// An RGB value that represents the current disabled background
|
|
// color for the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetDisabledBackColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the disabled text color for the hex
|
|
// edit control.
|
|
// Parameters:
|
|
// crDisabledText - An RGB value that represents the disabled text
|
|
// color of the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
void SetDisabledTextColor(COLORREF crDisabledText);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve the current disabled text color
|
|
// for the hex edit control.
|
|
// Returns:
|
|
// An RGB value that represents the current disabled text color
|
|
// for the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetDisabledTextColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the highlighted text color for the
|
|
// hex edit control.
|
|
// Parameters:
|
|
// crHighlightText - An RGB value that represents the highlighted
|
|
// text color of the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
void SetHighlightTextColor(COLORREF crHighlightText);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve the current highlighted text
|
|
// color for the hex edit control.
|
|
// Returns:
|
|
// An RGB value that represents the current highlighted text color
|
|
// for the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetHighlightTextColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the highlight background color for
|
|
// the hex edit control.
|
|
// Parameters:
|
|
// crHighlight - An RGB value that represents the highlight background
|
|
// color of the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
void SetHighlightBackColor(COLORREF crHighlight);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve the current highlight background
|
|
// color for the hex edit control.
|
|
// Returns:
|
|
// An RGB value that represents the current highlight background
|
|
// color for the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetHighlightBackColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the disabled highlight text color for
|
|
// the hex edit control.
|
|
// Parameters:
|
|
// crDisabledHighlightText - An RGB value that represents the disabled
|
|
// highlight text color of the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
void SetDisabledHighlightTextColor(COLORREF crDisabledHighlightText);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve the current disabled highlight
|
|
// text color for the hex edit control.
|
|
// Returns:
|
|
// An RGB value that represents the current disabled highlight text color
|
|
// for the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetDisabledHighlightTextColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the disabled highlight background
|
|
// color for the hex edit control.
|
|
// Parameters:
|
|
// crDisabledHighlight - An RGB value that represents the disabled
|
|
// highlight background color of the hex edit
|
|
// control.
|
|
//-----------------------------------------------------------------------
|
|
void SetDisabledHighlightBackColor(COLORREF crDisabledHighlight);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to retrieve the current disabled highlight
|
|
// background color for the hex edit control.
|
|
// Returns:
|
|
// An RGB value that represents the current disabled highlight background color
|
|
// for the hex edit control.
|
|
//-----------------------------------------------------------------------
|
|
COLORREF GetDisabledHighlightBackColor();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This member function sets the font for the hex edit control to the
|
|
// default "Courier New" font.
|
|
//-----------------------------------------------------------------------
|
|
void RestoreDefaultFont();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This member function sets the font used by the hex edit control.
|
|
// Parameters:
|
|
// pFont - Points to a valid CFont object.
|
|
// pLogFont - Points to a valid LOGFONT structure.
|
|
//-----------------------------------------------------------------------
|
|
void SetHexFont(CFont* pFont);
|
|
void SetHexFont(LOGFONT* pLogFont); // <combine CXTPHexEdit::SetHexFont@CFont*>
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This member function enables or disables a flashing screen caret.
|
|
// Parameters:
|
|
// bEnable - true to enable caret, false to disable.
|
|
//-----------------------------------------------------------------------
|
|
void EnableCaret(bool bEnable);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This member function enables or disables a vertical and horizontal scroll
|
|
// bar display.
|
|
// Parameters:
|
|
// bVertical - true to display vertical scroll bar.
|
|
// bHorizontal - true to display horizontal scroll bar.
|
|
//-----------------------------------------------------------------------
|
|
void EnableScrollBars(bool bVertical, bool bHorizontal);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the base address for the hex edit
|
|
// control.
|
|
// Parameters:
|
|
// dwBase - DWORD value that represents the base address.
|
|
// Returns:
|
|
// A DWORD value.
|
|
//-----------------------------------------------------------------------
|
|
DWORD SetAddressBase(DWORD dwBase);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to extract the data in the hex edit control.
|
|
// Parameters:
|
|
// pData - Pointer to the buffer that will be receiving the data.
|
|
// nBufferLength - Length of the target data buffer.
|
|
// Returns:
|
|
// The length of the data.
|
|
//-----------------------------------------------------------------------
|
|
int GetData(LPBYTE pData, int nBufferLength);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to initialize the hex edit control with data
|
|
// specified by 'pData'.
|
|
// Parameters:
|
|
// pData - Pointer to a buffer that contains the initial data for the control.
|
|
// nLength - Length of the data buffer.
|
|
// nMaxLength - Optional maximum length that the buffer can grow, or -1 if you
|
|
// want to allow the buffer to grow indefinitely.
|
|
//-----------------------------------------------------------------------
|
|
void SetData(LPBYTE pData, int nLength, int nMaxLength = 0);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to allow or disallow the deletion of characters
|
|
// within the control. For instance, calling SetAllowDeletes(false) will
|
|
// disable the delete, backspace, and other such keys.
|
|
// Parameters:
|
|
// bVal - The new value for this setting.
|
|
// Returns:
|
|
// The previous value.
|
|
//-----------------------------------------------------------------------
|
|
bool SetAllowDeletes(bool bVal = true);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This member function retrieves the current value of the Allow Deletes
|
|
// setting.
|
|
// See Also: SetAllowDeletes
|
|
// Returns:
|
|
// true if the Allow Deletes setting is enabled, or false if it is disabled.
|
|
//-----------------------------------------------------------------------
|
|
bool GetAllowDeletes() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to get the size of the current selection.
|
|
// Input:
|
|
// nSelStart - Reference to an integer that will receive the position of the first character in the current selection.
|
|
// nSelEnd - Reference to an integer that will receive the position of the first nonselected character past the end of the current selection
|
|
// Returns:
|
|
// A CSize object.
|
|
//-----------------------------------------------------------------------
|
|
CSize GetSel();
|
|
void GetSel(int& nSelStart, int& nSelEnd); // <combine CXTPHexEdit::GetSel>
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the current selection.
|
|
// Parameters:
|
|
// nSelStart - Represents the position of the first character in the selection.
|
|
// nSelEnd - Represents the position of the last character in the selection.
|
|
//-----------------------------------------------------------------------
|
|
void SetSel(int nSelStart, int nSelEnd);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the number of bytes per row.
|
|
// Parameters:
|
|
// nBytePerRow - Represents the number of bytes to display.
|
|
//-----------------------------------------------------------------------
|
|
void SetBPR(int nBytePerRow);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the display options for the hex edit
|
|
// control.
|
|
// Parameters:
|
|
// bShowAddress - TRUE to display the address value.
|
|
// bShowHex - TRUE to display the hex value.
|
|
// bShowAscii - TRUE to display the ASCII value.
|
|
// bAddressIsWide - TRUE if the display is 8 byte, FALSE for 4 byte display.
|
|
//-----------------------------------------------------------------------
|
|
void SetOptions(BOOL bShowAddress, BOOL bShowHex, BOOL bShowAscii, BOOL bAddressIsWide);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to determine if the control in readonly state.
|
|
// Returns:
|
|
// TRUE if the control is in a ReadOnly state, FALSE otherwise.
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsReadOnly() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is called when user change text.
|
|
//-----------------------------------------------------------------------
|
|
virtual void OnChange();
|
|
|
|
protected:
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
//{{AFX_VIRTUAL(CXTPHexEdit)
|
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
|
//}}AFX_VIRTUAL
|
|
|
|
//{{AFX_MSG(CXTPHexEdit)
|
|
afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnKillFocus(CWnd* pNewWnd);
|
|
afx_msg void OnPaint();
|
|
afx_msg LRESULT OnPrintClient(WPARAM wParam, LPARAM /*lParam*/);
|
|
afx_msg void OnDraw(CDC* pDC);
|
|
afx_msg void OnSetFocus(CWnd* pOldWnd);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
|
afx_msg UINT OnGetDlgCode();
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnContextMenu(CWnd*, CPoint point);
|
|
afx_msg void OnEditClear();
|
|
afx_msg void OnEditCopy();
|
|
afx_msg void OnEditCut();
|
|
afx_msg void OnEditPaste();
|
|
afx_msg void OnEditSelectAll();
|
|
afx_msg void OnEditUndo();
|
|
afx_msg void OnNcPaint();
|
|
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
|
|
//}}AFX_MSG
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
private:
|
|
void ScrollIntoView(int pData);
|
|
void RepositionCaret(int pData);
|
|
void Move(int x, int y);
|
|
BOOL IsSelected();
|
|
void UpdateScrollbars();
|
|
void CreateEditCaret();
|
|
void CreateAddressCaret();
|
|
CPoint CalcPos(int x, int y);
|
|
void SelInsert(int nSelStart, int nLength);
|
|
void SelDelete(int nSelStart, int nSelEnd);
|
|
void NormalizeSel();
|
|
void RecalcBPR();
|
|
void DoVScroll(UINT nSBCode, bool bMoveCaret);
|
|
|
|
public:
|
|
int m_nLength; // Length of data.
|
|
int m_nTopIndex; // Offset of first visible byte on the screen.
|
|
int m_nCurrentAddress; // Address under the cursor.
|
|
int m_nSelStart; // Start address of the selection.
|
|
int m_nSelEnd; // End address of the selection.
|
|
int m_nBytePerRow; // Bytes per row.
|
|
int m_nLinesPerPage; // Lines per page.
|
|
int m_nLineHeight; // Height in pixels of a single line displayed in the control.
|
|
int m_nNullWidth; // Width in pixels of a single character displayed in the control (uniform width).
|
|
int m_nOffHex; // Internally used value - X position where hex part starts.
|
|
int m_nOffAscii; // Internally used value - X position where ASCII part starts.
|
|
int m_nOffAddress; // Internally used value - X position where address part starts.
|
|
bool m_bAllowDeletes; // A boolean value indicating whether or not deletions are allowed.
|
|
BOOL m_bDynamicBPR; // Calculate bytes-per-row dynamically.
|
|
BOOL m_bShowAddress; // TRUE when showing the address part.
|
|
BOOL m_bShowAscii; // TRUE when showing the ASCII part.
|
|
BOOL m_bShowHex; // TRUE when showing the hex part.
|
|
BOOL m_bAddressIsWide; // 4/8 byte address.
|
|
BOOL m_bUpdate; // Value used internally to indicate that the font and size info need to be updated on the next paint cycle.
|
|
UINT m_nMaxLength; // Maximum size of data.
|
|
DWORD m_dwBaseAddress; // Base address for data.
|
|
CPoint m_ptEditPos; // Current caret position.
|
|
LPBYTE m_pData; // Pointer to data.
|
|
EditMode m_eEditMode; // Current editing mode: address/hex/ASCII.
|
|
|
|
protected:
|
|
BOOL m_bShowCaret; // TRUE to display a flashing caret at the current caret position.
|
|
CSize m_szCaret; // Current size of caret.
|
|
CFont m_fontHex; // Represents the default font used by the hex edit control.
|
|
COLORREF m_crBack; // RGB value that represents the background color of the hex edit control.
|
|
COLORREF m_crText; // RGB value that represents the text color of the hex edit control.
|
|
COLORREF m_crDisabledBack; // RGB value that represents the disabled background color for the hex edit control.
|
|
COLORREF m_crDisabledText; // RGB value that represents the disabled text color of the hex edit control.
|
|
COLORREF m_crHighlightText; // RGB value that represents the highlighted text color of the hex edit control.
|
|
COLORREF m_crHighlightBack; // RGB value that represents the highlighted background color of the hex edit control.
|
|
COLORREF m_crDisabledHighlightText; // RGB value that represents the disabled highlighted text color of the hex edit control.
|
|
COLORREF m_crDisabledHighlightBack; // RGB value that represents the disabled highlighted background color of the hex edit control.
|
|
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
AFX_INLINE UINT CXTPHexEdit::OnGetDlgCode() {
|
|
return DLGC_WANTALLKEYS;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetOptions(BOOL bShowAddress, BOOL bShowHex, BOOL bShowAscii, BOOL bAddressIsWide) {
|
|
m_bShowHex = bShowHex; m_bShowAscii = bShowAscii; m_bShowAddress = bShowAddress; m_bAddressIsWide = bAddressIsWide; m_bUpdate = TRUE; RepositionCaret(m_nCurrentAddress);
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetBPR(int nBytePerRow) {
|
|
m_nBytePerRow = nBytePerRow; m_bUpdate = TRUE; RepositionCaret(m_nCurrentAddress);
|
|
}
|
|
AFX_INLINE BOOL CXTPHexEdit::IsSelected() {
|
|
return m_nSelStart != 0xffffffff;
|
|
}
|
|
AFX_INLINE CSize CXTPHexEdit::GetSel() {
|
|
return CSize(m_nSelStart, m_nSelEnd);
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetBackColor(COLORREF crBack) {
|
|
m_crBack = crBack;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetTextColor(COLORREF crText) {
|
|
m_crText = crText;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetDisabledBackColor(COLORREF crDisabledBack) {
|
|
m_crDisabledBack = crDisabledBack;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetDisabledTextColor(COLORREF crDisabledText) {
|
|
m_crDisabledText = crDisabledText;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetHighlightTextColor(COLORREF crHighlightText) {
|
|
m_crHighlightText = crHighlightText;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetHighlightBackColor(COLORREF crHighlightBack) {
|
|
m_crHighlightBack = crHighlightBack;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetDisabledHighlightTextColor(COLORREF crDisabledHighlightText) {
|
|
m_crDisabledHighlightText = crDisabledHighlightText;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::SetDisabledHighlightBackColor(COLORREF crDisabledHighlightBack) {
|
|
m_crDisabledHighlightBack = crDisabledHighlightBack;
|
|
}
|
|
AFX_INLINE COLORREF CXTPHexEdit::GetBackColor() {
|
|
return m_crBack;
|
|
}
|
|
AFX_INLINE COLORREF CXTPHexEdit::GetTextColor() {
|
|
return m_crText;
|
|
}
|
|
AFX_INLINE COLORREF CXTPHexEdit::GetDisabledBackColor() {
|
|
return m_crDisabledBack;
|
|
}
|
|
AFX_INLINE COLORREF CXTPHexEdit::GetDisabledTextColor() {
|
|
return m_crDisabledText;
|
|
}
|
|
AFX_INLINE COLORREF CXTPHexEdit::GetHighlightTextColor() {
|
|
return m_crHighlightText;
|
|
}
|
|
AFX_INLINE COLORREF CXTPHexEdit::GetHighlightBackColor() {
|
|
return m_crHighlightBack;
|
|
}
|
|
AFX_INLINE COLORREF CXTPHexEdit::GetDisabledHighlightTextColor() {
|
|
return m_crDisabledHighlightText;
|
|
}
|
|
AFX_INLINE COLORREF CXTPHexEdit::GetDisabledHighlightBackColor() {
|
|
return m_crDisabledHighlightBack;
|
|
}
|
|
AFX_INLINE void CXTPHexEdit::EnableCaret(bool bEnable) {
|
|
m_bShowCaret = bEnable;
|
|
}
|
|
AFX_INLINE bool CXTPHexEdit::SetAllowDeletes(bool bVal) {
|
|
const bool bOldVal = m_bAllowDeletes; m_bAllowDeletes = bVal; return bOldVal;
|
|
}
|
|
AFX_INLINE bool CXTPHexEdit::GetAllowDeletes() const {
|
|
return m_bAllowDeletes;
|
|
}
|
|
|
|
#endif // #if !defined(__XTPHEXEDIT_H__)
|