Esempio n. 1
0
 /// <summary>
 /// 绘制拖拽矩形,本函数根据主矩形区域计算8个拖拽矩形区域并用指定的颜色
 /// 填充和绘制边框,本函数不绘制主矩形区域
 /// </summary>
 /// <param name="myGraph">图像绘制对象</param>
 public void RefreshView(System.Drawing.Graphics myGraph)
 {
     if (myGraph != null)
     {
         if (bolBoundsBorder)
         {
             using (System.Drawing.Pen myPen =
                        new System.Drawing.Pen(System.Drawing.Color.Black))
             {
                 myPen.DashStyle = this.LineDashStyle;
                 myGraph.DrawRectangle(myPen, myBounds);
             }
         }
         using (System.Drawing.SolidBrush myBrush =
                    new System.Drawing.SolidBrush(this.DragRectBackColor))
         {
             myGraph.FillRectangles(myBrush, this.myDragRect);
         }
         using (System.Drawing.Pen myPen =
                    new System.Drawing.Pen(this.DragRectBorderColor))
         {
             myGraph.DrawRectangles(myPen, myDragRect);
         }
     }
 }// void DrawDragRect()
Esempio n. 2
0
        public void Draw(System.Drawing.Graphics inGraphics)
        {
            int maxY = mTopLeftY + mHeight;

            int gridSectionWidth  = GetSectionWidth();
            int gridSectionHeight = mHeight / mSectionsNum;

            List <System.Drawing.Rectangle> gridRects = new List <System.Drawing.Rectangle>();

            for (int i = 0; i < mSectionsNum; ++i)
            {
                for (int j = 0; j < mSectionsNum; ++j)
                {
                    gridRects.Add(new System.Drawing.Rectangle(mTopLeftX + j * gridSectionWidth, mTopLeftY + i * gridSectionHeight, gridSectionWidth, gridSectionHeight));
                }
            }

            System.Drawing.Pen rectPen = new System.Drawing.Pen(System.Drawing.Color.Chocolate);
            inGraphics.DrawRectangles(rectPen, gridRects.ToArray());
            rectPen.Dispose();
        }
Esempio n. 3
0
        private bool DrawingPatientDailyDebt(System.Drawing.Graphics g, DataTable dtbResult, out int rownum)
        {
            int k = 0;

            rownum = RowNum;
            System.Drawing.PointF DrawPoint = new System.Drawing.PointF(0.0f, 0.0f);
            float leftMargin = 50.0f;

            System.Drawing.Font       font  = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Bold);
            System.Drawing.SolidBrush brush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);
            DrawPoint.X = 100.0f;
            DrawPoint.Y = 100.0f;
            for (int i = rownum; i < rownum + 4; i++)
            {
                if (i >= dtbResult.Rows.Count)
                {
                    return(false);
                }
                //
                g.DrawString(strHospitalName, font, brush, DrawPoint);
                font        = new System.Drawing.Font("宋体", 10.5f);
                DrawPoint.X = leftMargin;
                DrawPoint.Y = g.MeasureString("佛山市第二人民医院住院费用一日清单", font).Height + DrawPoint.Y + 10.0f;
                g.DrawString("住院号", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("住院号", font).Width + 20.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(dtbResult.Rows[i]["inpatientid_chr"].ToString(), font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString(dtbResult.Rows[i]["inpatientid_chr"].ToString(), font).Width + 20.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString("姓名", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("姓名", font).Width + 20.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(dtbResult.Rows[i]["lastname_vchr"].ToString(), font, brush, DrawPoint);
                DrawPoint.X = leftMargin;
                DrawPoint.Y = DrawPoint.Y + g.MeasureString(dtbResult.Rows[i]["lastname_vchr"].ToString(), font).Height;
                g.DrawString("病区", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("病区", font).Width + 20.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(this.m_objViewer.m_txtAREAID_CHR.Text.ToString(), font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString(this.m_objViewer.m_txtAREAID_CHR.Text.ToString(), font).Width + 20.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString("床号", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("床号", font).Width + 20.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(dtbResult.Rows[i]["bedno"].ToString(), font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString(dtbResult.Rows[i]["bedno"].ToString(), font).Width + 20.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString("清单日期", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("清单日期", font).Width + 20.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(this.m_objViewer.m_dtpStatTime.Value.ToShortDateString(), font, brush, DrawPoint);
                //画线
                float length = 500.0f;
                DrawPoint.Y = DrawPoint.Y + g.MeasureString(this.m_objViewer.m_dtpStatTime.Value.ToShortDateString(), font).Height + 5.0f;
                System.Drawing.Pen pen = new System.Drawing.Pen(brush, 1);
                g.DrawLine(pen, new System.Drawing.PointF(leftMargin, DrawPoint.Y), new System.Drawing.PointF(length, DrawPoint.Y));
                //具体收费项目
                float     DailyCharge = 0;            //用于当天合计
                DataTable dtbDetail   = null;
                long      lngRes      = objSvc.m_lngGetDailyChargeInfo(this.dtbReportConfig.Rows[0]["RPTID_CHR"].ToString(), dtbResult.Rows[i]["registerid_chr"].ToString().Trim(), this.m_objViewer.m_dtpStatTime.Value, out dtbDetail);
                if (lngRes > 0 && dtbDetail.Rows.Count > 0)
                {
                    DrawPoint.X = leftMargin;
                    DrawPoint.Y = DrawPoint.Y + 5.0f;
                    System.Drawing.SizeF        size       = new System.Drawing.SizeF(70.0f, 20.0f);                  //框大小
                    System.Drawing.RectangleF[] rectangle  = new System.Drawing.RectangleF[dtbDetail.Rows.Count * 2]; //框数目
                    System.Drawing.PointF       textPointF = DrawPoint;
                    for (int j = 0; j < rectangle.Length; j = j + 6)
                    {
                        DrawPoint.X  = leftMargin;
                        textPointF.X = DrawPoint.X + 1.0f;
                        textPointF.Y = DrawPoint.Y + 1.5f;
                        rectangle[j] = new System.Drawing.RectangleF(DrawPoint, size);
                        g.DrawString(dtbDetail.Rows[j / 2]["typename_vchr"].ToString(), font, brush, textPointF);                   //添加具体框内容
                        DrawPoint.X  = DrawPoint.X + size.Width;
                        textPointF.X = DrawPoint.X + 1.0f;
                        if ((j + 1) < rectangle.Length)
                        {
                            rectangle[j + 1] = new System.Drawing.RectangleF(DrawPoint, size);
                            if (dtbDetail.Rows[j / 2]["money"] != System.DBNull.Value)
                            {
                                g.DrawString(dtbDetail.Rows[j / 2]["money"].ToString(), font, brush, textPointF);                           //添加具体框内容
                                DailyCharge = DailyCharge + Convert.ToSingle(dtbDetail.Rows[j / 2]["money"].ToString());
                            }
                            DrawPoint.X  = DrawPoint.X + size.Width;
                            textPointF.X = DrawPoint.X + 1.0f;
                        }
                        if ((j + 2) < rectangle.Length)
                        {
                            rectangle[j + 2] = new System.Drawing.RectangleF(DrawPoint, size);
                            g.DrawString(dtbDetail.Rows[(j + 2) / 2]["typename_vchr"].ToString(), font, brush, textPointF);                     //添加具体框内容
                            DrawPoint.X  = DrawPoint.X + size.Width;
                            textPointF.X = DrawPoint.X + 1.0f;
                        }
                        if ((j + 3) < rectangle.Length)
                        {
                            rectangle[j + 3] = new System.Drawing.RectangleF(DrawPoint, size);
                            if (dtbDetail.Rows[(j + 2) / 2]["money"] != System.DBNull.Value)
                            {
                                g.DrawString(dtbDetail.Rows[(j + 2) / 2]["money"].ToString(), font, brush, textPointF);                         //添加具体框内容
                                DailyCharge = DailyCharge + Convert.ToSingle(dtbDetail.Rows[(j + 2) / 2]["money"].ToString());
                            }
                            DrawPoint.X  = DrawPoint.X + size.Width;
                            textPointF.X = DrawPoint.X + 1.0f;
                        }
                        if ((j + 4) < rectangle.Length)
                        {
                            rectangle[j + 4] = new System.Drawing.RectangleF(DrawPoint, size);
                            g.DrawString(dtbDetail.Rows[(j + 4) / 2]["typename_vchr"].ToString(), font, brush, textPointF);                     //添加具体框内容
                            DrawPoint.X  = DrawPoint.X + size.Width;
                            textPointF.X = DrawPoint.X + 1.0f;
                        }
                        if ((j + 5) < rectangle.Length)
                        {
                            rectangle[j + 5] = new System.Drawing.RectangleF(DrawPoint, size);
                            if (dtbDetail.Rows[(j + 4) / 2]["money"] != System.DBNull.Value)
                            {
                                g.DrawString(dtbDetail.Rows[(j + 4) / 2]["money"].ToString(), font, brush, textPointF);                         //添加具体框内容
                                DailyCharge = DailyCharge + Convert.ToSingle(dtbDetail.Rows[(j + 4) / 2]["money"].ToString());
                            }
                            DrawPoint.X  = DrawPoint.X + size.Width;
                            textPointF.X = DrawPoint.X + 1.0f;
                        }
                        DrawPoint.Y = DrawPoint.Y + size.Height;
                    }
                    g.DrawRectangles(pen, rectangle);
                }
                g.DrawLine(pen, new System.Drawing.PointF(leftMargin, DrawPoint.Y + 7.0f), new System.Drawing.PointF(length, DrawPoint.Y + 6.0f));
                DrawPoint.X = leftMargin;
                DrawPoint.Y = DrawPoint.Y + 15.0f;
                g.DrawString("当天合计", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("当天合计", font).Width + 5.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(DailyCharge.ToString(), font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString(DailyCharge.ToString(), font).Width + 5.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString("预交款", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("预交款", font).Width + 5.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(dtbResult.Rows[i]["money"].ToString(), font, brush, DrawPoint);
                DrawPoint.X = leftMargin;
                DrawPoint.Y = DrawPoint.Y + g.MeasureString("money", font).Height;
                g.DrawString("住院费用合计", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("住院费用合计", font).Width + 5.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(dtbResult.Rows[i]["totalcharge"].ToString(), font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString(dtbResult.Rows[i]["totalcharge"].ToString(), font).Width + 5.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString("打印时间", font, brush, DrawPoint);
                DrawPoint.X = DrawPoint.X + g.MeasureString("打印时间", font).Width + 5.0f;
                DrawPoint.Y = DrawPoint.Y;
                g.DrawString(this.m_objViewer.m_dtpStatTime.Value.ToString(), font, brush, DrawPoint);
                DrawPoint.X = 100.0f;
                DrawPoint.Y = DrawPoint.Y + 30.0f;
                font        = new System.Drawing.Font("宋体", 10.5f, System.Drawing.FontStyle.Bold);
                k           = i + 1;
            }
            rownum = k;
            return(true);
        }