Zitat von
Kedariodakon:
Mal so eine Frage, wie bekommt man so ein schönes Hexfeld + Markierungsrahmen .... hin?
Bye
Verdammt, die ganze Erklärung die ich gerade geschrieben habe, ist im Nirvana
Also, nochmal:
Die Offsetreihe und -spalte zeichnet in einer for-Schleife per TextOut auf den Schirm.
Für den Datenteil (also Hexadezimale- + Textdarstellung) kopiert man die notwendigen Bytes aus der Datei und formatiert sie mit einer Funktion à la BytesToHex und BytesToText und gibt diese Strings dann an der richtigen X,Y-Position auf dem Schirm aus.
Den Markierungsrahmen kann man mit Regions erzeugen, dazu habe ich eine Funktion geschrieben die mehrere aneinandergrenzende Rechtecke verschmilz und dann die resultierende Regions ausstanzt sodaß man nur noch einen Rahmen hat.
Für das Scrolling muß man alle X,Y-Positionen anpassen und dann neuzeichnen, weniger Flackern wenn nur ein Teil der Daten neu sichtbar wird erreicht man mit der ScrollWindow-
API-Funktion.
Die normale (=farbliche) Markierung wird einfach durch eine angepaßte Background-Color vor dem TextOut realisiert.
Hoffe das gibt einen verständlichen Überblick.
Zitat von
Schuster:
Tolles Desing
Danke
Zitat von
Kedariodakon:
Die Funktion zum exportieren ist toll, aber für die nächste Version wär es vielleicht schön, diese mit Kommentaren auszuschmücken, sprich Dateiname, StartOffset, EndOffset...
Läßt sich machen.
Zitat von
Kedariodakon:
Auch wär es toll wenn man sie in die Zwischenablage exportieren könnte und nicht immer den Weg über
die extra Datei gehen müste
Das geht (bis auf Rechtsklick) ja mit allen Formaten außer Intel Hex und Motorola S Records.
Häufig braucht man die zwei genannten Formate nur als Dateien und da sie außerdem dazu neigen recht groß zu werden wollte ich sie nicht in die Zwischenablage kopieren.
Die Entscheidung war also bewußt, aber wenn Du mir sagts warum man das häufig für IHex und MRecords braucht dann mach ich's rein.