XTHexEdit.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:26k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTHexEdit.h interface for the CXTHexEdit class.
  2. //
  3. // This file is a part of the XTREME CONTROLS MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(__XTHEXEDIT_H__)
  22. #define __XTHEXEDIT_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER >= 1000
  25. #pragma once
  26. #endif // _MSC_VER >= 1000j
  27. #define CXTHexEditBase CEdit
  28. //===========================================================================
  29. // Summary:
  30. //     CXTHexEdit is a CEdit derived class. It is used to create an edit control
  31. //     which will allow editing in hex display format.
  32. //===========================================================================
  33. class _XTP_EXT_CLASS CXTHexEdit : public CXTHexEditBase
  34. {
  35. DECLARE_DYNAMIC(CXTHexEdit)
  36. protected:
  37. // --------------------------------------------------------------------
  38. // Summary:
  39. //     Enumeration used to determine current editing mode.
  40. // Remarks:
  41. //     EditMode type defines the constants used by the CXTHexEdit
  42. //     class to determine the current editing mode.
  43. // See Also:
  44. //     CXTHexEdit
  45. //
  46. // <KEYWORDS editNone, editAscii, editHigh, editLow>
  47. // --------------------------------------------------------------------
  48. enum EditMode
  49. {
  50. editNone,  // No editing mode specified.
  51. editAscii, // ASCII editing mode.
  52. editHigh,  // High editing mode.
  53. editLow    // Low editing mode.
  54. };
  55. public:
  56. //-----------------------------------------------------------------------
  57. // Summary:
  58. //     Constructs a CXTHexEdit object
  59. //-----------------------------------------------------------------------
  60. CXTHexEdit();
  61. //-----------------------------------------------------------------------
  62. // Summary:
  63. //     Destroys a CXTHexEdit object, handles cleanup and deallocation
  64. //-----------------------------------------------------------------------
  65. virtual ~CXTHexEdit();
  66. public:
  67. //{{AFX_CODEJOCK_PRIVATE
  68. virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
  69. virtual BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
  70. //}}AFX_CODEJOCK_PRIVATE
  71. public:
  72. //-----------------------------------------------------------------------
  73. // Summary:
  74. //     Call this member function to return the current background color for
  75. //     the hex edit control. The current background color depends on the
  76. //     enabled, disabled, or read-only state of the control.
  77. // Returns:
  78. //     An RGB value that represents the current background color for the control.
  79. //-----------------------------------------------------------------------
  80. COLORREF GetActualBackColor();
  81. //-----------------------------------------------------------------------
  82. // Summary:
  83. //     Call this member function to return the current text color for the hex
  84. //     edit control. The current text color depends on the enabled, disabled,
  85. //     or read-only state of the control.
  86. // Returns:
  87. //     An RGB value that represents the current text color for the control.
  88. //-----------------------------------------------------------------------
  89. COLORREF GetActualTextColor();
  90. //-----------------------------------------------------------------------
  91. // Summary:
  92. //     Call this member function to return the current highlight background
  93. //     color for the hex edit control. The current highlight background color
  94. //     depends on the enabled, disabled, or read-only state of the control.
  95. // Returns:
  96. //     An RGB value that represents the current highlight background
  97. //     color for the control.
  98. //-----------------------------------------------------------------------
  99. COLORREF GetActualHighlightBackColor();
  100. //-----------------------------------------------------------------------
  101. // Summary:
  102. //     Call this member function to return the current highlight text color
  103. //     for the hex edit control. The current highlight text color depends
  104. //     on the enabled, disabled, or read-only state of the control.
  105. // Returns:
  106. //     An RGB value that represents the current highlight text color for the
  107. //     control.
  108. //-----------------------------------------------------------------------
  109. COLORREF GetActualHighlightTextColor();
  110. //-----------------------------------------------------------------------
  111. // Summary:
  112. //     Call this member function to set the background color for the hex edit
  113. //     control.
  114. // Parameters:
  115. //     crBack - An RGB value that represents the background color of the hex edit
  116. //              control.
  117. //-----------------------------------------------------------------------
  118. void SetBackColor(COLORREF crBack);
  119. //-----------------------------------------------------------------------
  120. // Summary:
  121. //     Call this member function to retrieve the current background color
  122. //     for the hex edit control.
  123. // Returns:
  124. //     An RGB value that represents the current background color for
  125. //     the hex edit control.
  126. //-----------------------------------------------------------------------
  127. COLORREF GetBackColor();
  128. //-----------------------------------------------------------------------
  129. // Summary:
  130. //     Call this member function to set the text color for the hex
  131. //     edit control.
  132. // Parameters:
  133. //     crText - An RGB value that represents the text color of the
  134. //              hex edit control.
  135. //-----------------------------------------------------------------------
  136. void SetTextColor(COLORREF crText);
  137. //-----------------------------------------------------------------------
  138. // Summary:
  139. //     Call this member function to retrieve the current text color for the
  140. //     hex edit control.
  141. // Returns:
  142. //     An RGB value that represents the current text color for the hex
  143. //     edit control.
  144. //-----------------------------------------------------------------------
  145. COLORREF GetTextColor();
  146. //-----------------------------------------------------------------------
  147. // Summary:
  148. //     Call this member function to set the disabled background color for
  149. //     the hex edit control.
  150. // Parameters:
  151. //     crDisabledBack - An RGB value that represents the disabled background
  152. //                      color of the hex edit control.
  153. //-----------------------------------------------------------------------
  154. void SetDisabledBackColor(COLORREF crDisabledBack);
  155. //-----------------------------------------------------------------------
  156. // Summary:
  157. //     Call this member function to retrieve the current disabled background
  158. //     color for the hex edit control.
  159. // Returns:
  160. //     An RGB value that represents the current disabled background
  161. //     color for the hex edit control.
  162. //-----------------------------------------------------------------------
  163. COLORREF GetDisabledBackColor();
  164. //-----------------------------------------------------------------------
  165. // Summary:
  166. //     Call this member function to set the disabled text color for the hex
  167. //     edit control.
  168. // Parameters:
  169. //     crDisabledText - An RGB value that represents the disabled text
  170. //                      color of the hex edit control.
  171. //-----------------------------------------------------------------------
  172. void SetDisabledTextColor(COLORREF crDisabledText);
  173. //-----------------------------------------------------------------------
  174. // Summary:
  175. //     Call this member function to retrieve the current disabled text color
  176. //     for the hex edit control.
  177. // Returns:
  178. //     An RGB value that represents the current disabled text color
  179. //     for the hex edit control.
  180. //-----------------------------------------------------------------------
  181. COLORREF GetDisabledTextColor();
  182. //-----------------------------------------------------------------------
  183. // Summary:
  184. //     Call this member function to set the highlighted text color for the
  185. //     hex edit control.
  186. // Parameters:
  187. //     crHighlightText - An RGB value that represents the highlighted
  188. //                       text color of the hex edit control.
  189. //-----------------------------------------------------------------------
  190. void SetHighlightTextColor(COLORREF crHighlightText);
  191. //-----------------------------------------------------------------------
  192. // Summary:
  193. //     Call this member function to retrieve the current highlighted text
  194. //     color for the hex edit control.
  195. // Returns:
  196. //     An RGB value that represents the current highlighted text color
  197. //     for the hex edit control.
  198. //-----------------------------------------------------------------------
  199. COLORREF GetHighlightTextColor();
  200. //-----------------------------------------------------------------------
  201. // Summary:
  202. //     Call this member function to set the highlight background color for
  203. //     the hex edit control.
  204. // Parameters:
  205. //     crHighlight - An RGB value that represents the highlight background
  206. //                   color of the hex edit control.
  207. //-----------------------------------------------------------------------
  208. void SetHighlightBackColor(COLORREF crHighlight);
  209. //-----------------------------------------------------------------------
  210. // Summary:
  211. //     Call this member function to retrieve the current highlight background
  212. //     color for the hex edit control.
  213. // Returns:
  214. //     An RGB value that represents the current highlight background
  215. //     color for the hex edit control.
  216. //-----------------------------------------------------------------------
  217. COLORREF GetHighlightBackColor();
  218. //-----------------------------------------------------------------------
  219. // Summary:
  220. //     Call this member function to set the disabled highlight text color for
  221. //     the hex edit control.
  222. // Parameters:
  223. //     crDisabledHighlightText - An RGB value that represents the disabled
  224. //     highlight text color of the hex edit control.
  225. //-----------------------------------------------------------------------
  226. void SetDisabledHighlightTextColor(COLORREF crDisabledHighlightText);
  227. //-----------------------------------------------------------------------
  228. // Summary:
  229. //     Call this member function to retrieve the current disabled highlight
  230. //     text color for the hex edit control.
  231. // Returns:
  232. //     An RGB value that represents the current disabled highlight text color
  233. //     for the hex edit control.
  234. //-----------------------------------------------------------------------
  235. COLORREF GetDisabledHighlightTextColor();
  236. //-----------------------------------------------------------------------
  237. // Summary:
  238. //     Call this member function to set the disabled highlight background
  239. //     color for the hex edit control.
  240. // Parameters:
  241. //     crDisabledHighlight - An RGB value that represents the disabled
  242. //                           highlight background color of the hex edit
  243. //                           control.
  244. //-----------------------------------------------------------------------
  245. void SetDisabledHighlightBackColor(COLORREF crDisabledHighlight);
  246. //-----------------------------------------------------------------------
  247. // Summary:
  248. //     Call this member function to retrieve the current disabled highlight
  249. //     background color for the hex edit control.
  250. // Returns:
  251. //     An RGB value that represents the current disabled highlight background color
  252. //     for the hex edit control.
  253. //-----------------------------------------------------------------------
  254. COLORREF GetDisabledHighlightBackColor();
  255. //-----------------------------------------------------------------------
  256. // Summary:
  257. //     This member function sets the font for the hex edit control to the
  258. //     default "Courier New" font.
  259. //-----------------------------------------------------------------------
  260. void RestoreDefaultFont();
  261. //-----------------------------------------------------------------------
  262. // Summary:
  263. //     This member function sets the font used by the hex edit control.
  264. // Parameters:
  265. //     pFont - Points to a valid CFont object.
  266. //     pLogFont - Points to a valid LOGFONT structure.
  267. //-----------------------------------------------------------------------
  268. void SetHexFont(CFont* pFont);
  269. void SetHexFont(LOGFONT* pLogFont); // <combine CXTHexEdit::SetHexFont@CFont*>
  270. //-----------------------------------------------------------------------
  271. // Summary:
  272. //     This member function enables or disables a flashing screen caret.
  273. // Parameters:
  274. //     bEnable - true to enable caret, false to disable.
  275. //-----------------------------------------------------------------------
  276. void EnableCaret(bool bEnable);
  277. //-----------------------------------------------------------------------
  278. // Summary:
  279. //     This member function enables or disables a vertical and horizontal scroll
  280. //     bar display.
  281. // Parameters:
  282. //     bVertical   - true to display vertical scroll bar.
  283. //     bHorizontal - true to display horizontal scroll bar.
  284. //-----------------------------------------------------------------------
  285. void EnableScrollBars(bool bVertical, bool bHorizontal);
  286. //-----------------------------------------------------------------------
  287. // Summary:
  288. //     Call this member function to set the base address for the hex edit
  289. //     control.
  290. // Parameters:
  291. //     dwBase - DWORD value that represents the base address.
  292. // Returns:
  293. //     A DWORD value.
  294. //-----------------------------------------------------------------------
  295. DWORD SetAddressBase(DWORD dwBase);
  296. //-----------------------------------------------------------------------
  297. // Summary:
  298. //     Call this method to extract the data in the hex edit control.
  299. // Parameters:
  300. //     pData - Pointer to the buffer that will be receiving the data.
  301. //     nBufferLength - Length of the target data buffer.
  302. // Returns:
  303. //     The length of the data.
  304. //-----------------------------------------------------------------------
  305. int GetData(LPBYTE pData, int nBufferLength);
  306. //-----------------------------------------------------------------------
  307. // Summary:
  308. //     Call this member function to initialize the hex edit control with data
  309. //     specified by 'pData'.
  310. // Parameters:
  311. //     pData      - Pointer to a buffer that contains the initial data for the control.
  312. //     nLength    - Length of the data buffer.
  313. //     nMaxLength - Optional maximum length that the buffer can grow, or -1 if you
  314. //     want to allow the buffer to grow indefinitely.
  315. //-----------------------------------------------------------------------
  316. void SetData(LPBYTE pData, int nLength, int nMaxLength = 0);
  317. //-----------------------------------------------------------------------
  318. // Summary:
  319. //     Call this method to allow or disallow the deletion of characters
  320. //     within the control. For instance, calling SetAllowDeletes(false) will
  321. //     disable the delete, backspace, and other such keys.
  322. // Parameters:
  323. //     bVal - The new value for this setting.
  324. // Returns:
  325. //     The previous value.
  326. //-----------------------------------------------------------------------
  327. bool SetAllowDeletes(bool bVal = true);
  328. //-----------------------------------------------------------------------
  329. // Summary:
  330. //     This member function retrieves the current value of the Allow Deletes
  331. //     setting.
  332. // See Also: SetAllowDeletes
  333. // Returns:
  334. //     true if the Allow Deletes setting is enabled, or false if it is disabled.
  335. //-----------------------------------------------------------------------
  336. bool GetAllowDeletes() const;
  337. //-----------------------------------------------------------------------
  338. // Summary:
  339. //     Call this member function to get the size of the current selection.
  340. // Returns:
  341. //     A CSize object.
  342. //-----------------------------------------------------------------------
  343. CSize GetSel();
  344. void GetSel(int& nSelStart, int& nSelEnd);
  345. //-----------------------------------------------------------------------
  346. // Summary:
  347. //     Call this member function to set the current selection.
  348. // Parameters:
  349. //     nSelStart - Represents the position of the first character in the selection.
  350. //     nSelEnd   - Represents the position of the last character in the selection.
  351. //-----------------------------------------------------------------------
  352. void SetSel(int nSelStart, int nSelEnd);
  353. //-----------------------------------------------------------------------
  354. // Summary:
  355. //     Call this member function to set the number of bytes per row.
  356. // Parameters:
  357. //     nBytePerRow - Represents the number of bytes to display.
  358. //-----------------------------------------------------------------------
  359. void SetBPR(int nBytePerRow);
  360. //-----------------------------------------------------------------------
  361. // Summary:
  362. //     Call this member function to set the display options for the hex edit
  363. //     control.
  364. // Parameters:
  365. //     bShowAddress   - TRUE to display the address value.
  366. //     bShowHex       - TRUE to display the hex value.
  367. //     bShowAscii     - TRUE to display the ASCII value.
  368. //     bAddressIsWide - TRUE if the display is 8 byte, FALSE for 4 byte display.
  369. //-----------------------------------------------------------------------
  370. void SetOptions(BOOL bShowAddress, BOOL bShowHex, BOOL bShowAscii, BOOL bAddressIsWide);
  371. //-----------------------------------------------------------------------
  372. // Summary:
  373. //     Call this member function to determine if the control in readonly state
  374. //-----------------------------------------------------------------------
  375. BOOL IsReadOnly() const;
  376. protected:
  377. //{{AFX_CODEJOCK_PRIVATE
  378. DECLARE_MESSAGE_MAP()
  379. //{{AFX_VIRTUAL(CXTHexEdit)
  380. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  381. //}}AFX_VIRTUAL
  382. //{{AFX_MSG(CXTHexEdit)
  383. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  384. afx_msg void OnKillFocus(CWnd* pNewWnd);
  385. afx_msg void OnPaint();
  386. afx_msg LRESULT OnPrintClient(WPARAM wParam, LPARAM /*lParam*/);
  387. afx_msg void OnDraw(CDC* pDC);
  388. afx_msg void OnSetFocus(CWnd* pOldWnd);
  389. afx_msg void OnSize(UINT nType, int cx, int cy);
  390. afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  391. afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
  392. afx_msg UINT OnGetDlgCode();
  393. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  394. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  395. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  396. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  397. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  398. afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  399. afx_msg void OnContextMenu(CWnd*, CPoint point);
  400. afx_msg void OnEditClear();
  401. afx_msg void OnEditCopy();
  402. afx_msg void OnEditCut();
  403. afx_msg void OnEditPaste();
  404. afx_msg void OnEditSelectAll();
  405. afx_msg void OnEditUndo();
  406. afx_msg void OnNcPaint();
  407. afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
  408. //}}AFX_MSG
  409. //}}AFX_CODEJOCK_PRIVATE
  410. private:
  411. void ScrollIntoView(int pData);
  412. void RepositionCaret(int pData);
  413. void Move(int x, int y);
  414. BOOL IsSelected();
  415. void UpdateScrollbars();
  416. void CreateEditCaret();
  417. void CreateAddressCaret();
  418. CPoint CalcPos(int x, int y);
  419. void SelInsert(int nSelStart, int nLength);
  420. void SelDelete(int nSelStart, int nSelEnd);
  421. void NormalizeSel();
  422. void RecalcBPR();
  423. void DoVScroll(UINT nSBCode, bool bMoveCaret);
  424. public:
  425. int      m_nLength;         // Length of data.
  426. int      m_nTopIndex;       // Offset of first visible byte on the screen.
  427. int      m_nCurrentAddress; // Address under the cursor.
  428. int      m_nSelStart;       // Start address of the selection.
  429. int      m_nSelEnd;         // End address of the selection.
  430. int      m_nBytePerRow;     // Bytes per row.
  431. int      m_nLinesPerPage;   // Lines per page.
  432. int      m_nLineHeight;     // Height in pixels of a single line displayed in the control.
  433. int      m_nNullWidth;      // Width in pixels of a single character displayed in the control (uniform width).
  434. int      m_nOffHex;         // Internally used value - X position where hex part starts.
  435. int      m_nOffAscii;       // Internally used value - X position where ASCII part starts.
  436. int      m_nOffAddress;     // Internally used value - X position where address part starts.
  437. bool     m_bAllowDeletes;   // A boolean value indicating whether or not deletions are allowed.
  438. BOOL     m_bDynamicBPR;     // Calculate bytes-per-row dynamically.
  439. BOOL     m_bShowAddress;    // TRUE when showing the address part.
  440. BOOL     m_bShowAscii;      // TRUE when showing the ASCII part.
  441. BOOL     m_bShowHex;        // TRUE when showing the hex part.
  442. BOOL     m_bAddressIsWide;  // 4/8 byte address.
  443. BOOL     m_bUpdate;         // Value used internally to indicate that the font and size info need to be updated on the next paint cycle.
  444. UINT     m_nMaxLength;      // Maximum size of data.
  445. DWORD    m_dwBaseAddress;   // Base address for data.
  446. CPoint   m_ptEditPos;       // Current caret position.
  447. LPBYTE   m_pData;           // Pointer to data.
  448. EditMode m_eEditMode;       // Current editing mode: address/hex/ASCII.
  449. protected:
  450. BOOL     m_bShowCaret;               // TRUE to display a flashing caret at the current caret position.
  451. CSize    m_szCaret;                  // Current size of caret.
  452. CFont    m_fontHex;                  // Represents the default font used by the hex edit control.
  453. COLORREF m_crBack;                   // RGB value that represents the background color of the hex edit control.
  454. COLORREF m_crText;                   // RGB value that represents the text color of the hex edit control.
  455. COLORREF m_crDisabledBack;           // RGB value that represents the disabled background color for the hex edit control.
  456. COLORREF m_crDisabledText;           // RGB value that represents the disabled text color of the hex edit control.
  457. COLORREF m_crHighlightText;          // RGB value that represents the highlighted text color of the hex edit control.
  458. COLORREF m_crHighlightBack;          // RGB value that represents the highlighted background color of the hex edit control.
  459. COLORREF m_crDisabledHighlightText;  // RGB value that represents the disabled highlighted text color of the hex edit control.
  460. COLORREF m_crDisabledHighlightBack;  // RGB value that represents the disabled highlighted background color of the hex edit control.
  461. };
  462. //////////////////////////////////////////////////////////////////////
  463. AFX_INLINE UINT CXTHexEdit::OnGetDlgCode() {
  464. return DLGC_WANTALLKEYS;
  465. }
  466. AFX_INLINE void CXTHexEdit::SetOptions(BOOL bShowAddress, BOOL bShowHex, BOOL bShowAscii, BOOL bAddressIsWide) {
  467. m_bShowHex = bShowHex; m_bShowAscii = bShowAscii; m_bShowAddress = bShowAddress; m_bAddressIsWide = bAddressIsWide; m_bUpdate = TRUE; RepositionCaret(m_nCurrentAddress);
  468. }
  469. AFX_INLINE void CXTHexEdit::SetBPR(int nBytePerRow) {
  470. m_nBytePerRow = nBytePerRow; m_bUpdate = TRUE; RepositionCaret(m_nCurrentAddress);
  471. }
  472. AFX_INLINE BOOL CXTHexEdit::IsSelected() {
  473. return m_nSelStart != 0xffffffff;
  474. }
  475. AFX_INLINE CSize CXTHexEdit::GetSel() {
  476. return CSize(m_nSelStart, m_nSelEnd);
  477. }
  478. AFX_INLINE void CXTHexEdit::SetBackColor(COLORREF crBack) {
  479. m_crBack = crBack;
  480. }
  481. AFX_INLINE void CXTHexEdit::SetTextColor(COLORREF crText) {
  482. m_crText = crText;
  483. }
  484. AFX_INLINE void CXTHexEdit::SetDisabledBackColor(COLORREF crDisabledBack) {
  485. m_crDisabledBack = crDisabledBack;
  486. }
  487. AFX_INLINE void CXTHexEdit::SetDisabledTextColor(COLORREF crDisabledText) {
  488. m_crDisabledText = crDisabledText;
  489. }
  490. AFX_INLINE void CXTHexEdit::SetHighlightTextColor(COLORREF crHighlightText) {
  491. m_crHighlightText = crHighlightText;
  492. }
  493. AFX_INLINE void CXTHexEdit::SetHighlightBackColor(COLORREF crHighlightBack) {
  494. m_crHighlightBack = crHighlightBack;
  495. }
  496. AFX_INLINE void CXTHexEdit::SetDisabledHighlightTextColor(COLORREF crDisabledHighlightText) {
  497. m_crDisabledHighlightText = crDisabledHighlightText;
  498. }
  499. AFX_INLINE void CXTHexEdit::SetDisabledHighlightBackColor(COLORREF crDisabledHighlightBack) {
  500. m_crDisabledHighlightBack = crDisabledHighlightBack;
  501. }
  502. AFX_INLINE COLORREF CXTHexEdit::GetBackColor() {
  503. return m_crBack;
  504. }
  505. AFX_INLINE COLORREF CXTHexEdit::GetTextColor() {
  506. return m_crText;
  507. }
  508. AFX_INLINE COLORREF CXTHexEdit::GetDisabledBackColor() {
  509. return m_crDisabledBack;
  510. }
  511. AFX_INLINE COLORREF CXTHexEdit::GetDisabledTextColor() {
  512. return m_crDisabledText;
  513. }
  514. AFX_INLINE COLORREF CXTHexEdit::GetHighlightTextColor() {
  515. return m_crHighlightText;
  516. }
  517. AFX_INLINE COLORREF CXTHexEdit::GetHighlightBackColor() {
  518. return m_crHighlightBack;
  519. }
  520. AFX_INLINE COLORREF CXTHexEdit::GetDisabledHighlightTextColor() {
  521. return m_crDisabledHighlightText;
  522. }
  523. AFX_INLINE COLORREF CXTHexEdit::GetDisabledHighlightBackColor() {
  524. return m_crDisabledHighlightBack;
  525. }
  526. AFX_INLINE void CXTHexEdit::EnableCaret(bool bEnable) {
  527. m_bShowCaret = bEnable;
  528. }
  529. AFX_INLINE bool CXTHexEdit::SetAllowDeletes(bool bVal) {
  530. const bool bOldVal = m_bAllowDeletes; m_bAllowDeletes = bVal; return bOldVal;
  531. }
  532. AFX_INLINE bool CXTHexEdit::GetAllowDeletes() const {
  533. return m_bAllowDeletes;
  534. }
  535. #endif // #if !defined(__XTHEXEDIT_H__)