- Einführung
-
„Nicht noch ein hexadezimales Edit–Control!” mag so Mancher jetzt
denken. Doch ist der hier vorgestellte HexViewer tatsächlich
nur für die Anzeige von binären Daten optimiert, und nicht wie vergleichbare
Edit–Komponenten, die nur im Modus „ReadOnly” betrieben werden.
- Beschreibung
-
Auslöser für die Entwicklung dieser Komponente war die Idee zur Erstellung
des Programms ClipboardViewer, das den Inhalt
der Zwischenablage anzeigen soll. Jedoch bot sich nach der Fertigstellung der Komponente
HexViewer an, diese auch gleich im Programm
ResourcesViewer zu verwenden, da der dort gewählte Weg zur Abzeige
binärer Daten nur als Zwischenlösung diente.
Da es sich bei dem HexViewer um eine in C# geschriebene
Windows Forms Komponente handelt, kann diese nur sehr
schlecht darstellt werden. Daher zeigt folgende Abbildung das Programm, mit dessen
Hilfe die Komponente entwickelt und auch getestet wurde.
Die Fülle der im oben gezeigten Testprogramm vorhandenen Bedienelemente lässt
erahnen, wie viel an Funktionalität der HexViewer
einem Benutzer zur Verfügung stellt. Daher sollte man das Testprogramm auf
jeden Fall mal ausprobieren und nicht nur, um zu sehen, was alles möglich ist.
An dieser Stelle erscheint nun ein entsprechender Hinweis zum Download erforderlich
zu sein. Der oben verfügbare Quellcode enthält nur das Control und nicht
wie sonst üblich den Code des gesamten Programms! Jedoch ist in beiden Downloads
die Klassenreferenz in Form einer Hilfedatei enthalten.
- Features
-
Neben den offensichtlichen Features, wie die Wahl der Schriftart und –größe
sowie das Anpassen von Vordergrund– und Hintergrundfarbe, verfügt der
HexViewer auch über einen sogenannten Hot–Track,
der es dem Anwender erleichtert, die aktuelle Zeile zu lesen.
Weitere Features sind, neben der Wahl der Länge der einzelnen Zeilen, zum Beispiel
auch die Möglichkeit zur Einstellung von Adress– oder Blockbreite. Auch
können die Lücken zwischen den einzelnen Blöcken geändert werden.
Ebenfalls wird ein Standard–Kontextmenü unterstützt, das es dem
Anwender erlaubt, zur Laufzeit verschiedene Einstellungen vorzunehmen.
Natürlich unterstützt die Komponente HexViewer
auch verschieden Tasten und Tastenkombinationen, die hier einmal aufgelistet werden
sollen. Jedoch sei an dieser Stelle noch kurz bemerkt, dass die Beschreibung aller
Tasten sowie Tastenkombinationen auch Bestandteil der im Download enthaltenen Hilfedatei
ist.
Tasten
|
Beschreibung
|
HOME
|
Diese Taste scrollt den sichtbaren Inhalt zur ersten Zeile. Wird zusätzlich
die Taste CTRL gedrückt, dann scrollt das Control auch noch zum ersten
Zeichen der ersten Zeile.
|
END
|
Diese Taste scrollt den sichtbaren Inhalt zur letzten Zeile. Wird zusätzlich
die Taste CTRL gedrückt, dann scrollt das Control auch noch zum letzten
Zeichen der letzten Zeile.
|
UP
|
Diese Taste scrollt den sichtbaren Inhalt eine Zeile nach oben.
|
DOWN
|
Diese Taste scrollt den sichtbaren Inhalt eine Zeile nach unten.
|
LEFT
|
Diese Taste scrollt den sichtbaren Inhalt ein Zeichen links.
|
RIGHT
|
Diese Taste scrollt den sichtbaren Inhalt ein Zeichen rechts.
|
PAGE UP
|
Diese Taste scrollt den sichtbaren Inhalt eine Seite nach oben.
|
PAGE DOWN
|
Diese Taste scrollt den sichtbaren Inhalt eine Seite nach unten.
|
TAB
|
Mit Hilfe dieser Taste springt man zur nächsten Komponente. Wird zusätzlich
auch SHIFT gedrückt, dann wird natürlich zur vorherigen Komponente
gesprungen.
|
APPS
|
Mit dieser Taste öffnet man das Kontextmenü, das dann in der linken oberen
Ecke erscheint. Diese Taste wird als Application Key bezeichnet
und ist rechts von der Leertaste zu finden.
|
An dieser Stelle vielleicht noch ein weiterer Hinweis zum oben verfügbaren
Download. Wie bereits erwähnt enthält der Quellcode, neben der Hilfedatei,
nur eine einzelne Quelldatei, die wiederum den vollständigen Quelltext der
Komponente beinhaltet. Diese Quelldatei kann man dann problemlos in seine Projekte
einbinden und nach belieben modifizieren.
Wem dies nicht zusagt, der hätte stattdessen auch die Möglichkeit, die
DLL aus dem Testprogramm in seinen Projekten zu verwenden. Denn diese DLL enthält
nichts anderes als die Quelldatei der Komponente! Nun könnte sich Mancher fragen,
warum dem so ist. Der Grund ist recht einfach zu erklären. Denn zur Erstellung
der Hilfe wurde das Programm Sandcastle verwendet und
bei diesem Tool war es leider nicht möglich, gezielt nur eine Datei zu dokumentieren.
Denn dort musste immer das gesamte Projekt als Eingabe angegeben werden. Also habe
ich kurzerhand eine DLL erstellt, die nur die Komponente enthält. Somit konnte
dann auch die Hilfe ohne „überflüssigen” Ballast erstellt
werden.
Viel Spaß bei der Anzeige hexadezimaler Daten…
|