
The HexEdit control is a plain hex editor wrapped in a CEdit derived class called
CHexEdit. Where ever you use a CEdit class you can replace it with the CHexEdit class.
CHexEdit supports the following features:
- Addressdisplay can be short or long or turned off.
- Hexdisplay can have any width between 1 and 256 bytes or turned off
- Asciidisplay can have any width between 1 and 256 bytes or turned off
- Editing in hex or ascii mode
- cut/copy/paste support (text and/or binary format, binary compatible with DevStudio)
Undo is in the context menu but not implemented right now. Horizontal scrolling is also
not supported right now.
Public Methods
GetData |
int GetData(LPBYTE p, int len); |
|
| Use GetData to retrieve the modified data from the control. |
||
| Parameter | LPBYTE p | pointer to the databuffer |
| int len | length of the databuffer | |
| Return value | number of bytes copied | |
| Remarks | the GetData Method copies the data to the buffer provided with the parameter p. |
|
SetData |
void SetData(LPBYTE p, int len); |
|
| Use SetData to set the content that the control displays for editing |
||
| Parameter | LPBYTE p | pointer to the databuffer |
| int len | length of the databuffer | |
| Return value | none | |
| Remarks | the SetData Method copies the data from the buffer provided with the parameter p into a internal working copy. |
|
GetSel |
CSize GetSel(void); | |
| Use GetSel to retrieve the range of bytes the user has selected. |
||
| Parameter | none | |
| Return value |
CSize
|
where cx contains the start and cy contains the end of the selection. |
| Remarks | if nothing is selected both cx and cy are -1 |
|
SetSel |
void SetSel(int s, int e); | |
| Use SetSel to set the selection. |
||
| Parameter | int s | start of selection |
| int e | end of selection | |
| Return value |
none
|
|
| Remarks | to clear any selection set both s and e to -1 |
|
SetBPR |
void SetBPR(int bpr); | |
| Use SetBPR to set the number of bytes per row that will be displayed. |
||
| Parameter | int bpr | number of bytes to display per row |
| Return value |
none
|
|
| Remarks | SetBPR stands for SetBytesPerRow |
|
SetOptions |
void SetOptions(BOOL a, BOOL h, BOOL c, BOOL w); |
|
| Used to set various options. | ||
| Parameter | BOOL a | addressdisplay on/off |
| BOOL h | hexdisplay on/off | |
| BOOL c | asciidisplay on/off | |
| BOOL w | address is short (FALSE) or long (TRUE) | |
| Return value |
none
|
|
| Remarks | ||