示例#1
0
            /// <summary>
            /// Pres the process wm key down_ down.
            /// </summary>
            /// <param name="m">The m.</param>
            /// <returns></returns>
            protected virtual bool PreProcessWmKeyDown_Down(ref Message m)
            {
                long pos = HexViewer.bytePosition;
                int  cp  = HexViewer.byteCharacterPosition;

                if (pos == HexViewer._byteProvider.Length && cp == 0)
                {
                    return(true);
                }

                pos = Math.Min(HexViewer._byteProvider.Length, pos + HexViewer.hexMaxHBytes);

                if (pos == HexViewer._byteProvider.Length)
                {
                    cp = 0;
                }

                HexViewer.SetPosition(pos, cp);

                if (pos > HexViewer.endByte - 1)
                {
                    HexViewer.PerformScrollLineDown();
                }

                HexViewer.UpdateCaret();
                HexViewer.ScrollByteIntoView();
                HexViewer.ReleaseSelection();
                HexViewer.Invalidate();

                return(true);
            }