leistungen  •  referenzen  •  download
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…

datenschutzerklärung  •  kontakt  •  impressum