Beispiel #1
0
        // ** private
        private void ShowZoomedCell(int row, int col)
        {
            // ignore empty area
            if (row < _owner.Rows.Fixed || col < _owner.Cols.Fixed)
            {
                Visible = false;
                return;
            }

            // get cell rectangle
            Rectangle rc = _owner.GetCellRect(row, col);

            // create bitmap
            CellStyle style = _owner.GetCellStyleDisplay(row, col);

            Image = new Bitmap(rc.Width, rc.Height);
            using (Graphics g = Graphics.FromImage(Image))
            {
                Point pt = rc.Location;
                rc.Location = Point.Empty;
                style.Render(g, rc, _owner.GetDataDisplay(row, col));
                rc.Location = pt;
            }

            // apply zoom factor
            rc.Inflate((int)(rc.Width * (_zoom - 1)), (int)(rc.Height * (_zoom - 1)));
            Bounds  = rc;
            Visible = true;
            Invalidate();
        }