/// <summary>
        /// 爱婴区婴儿评估表-特殊记录
        /// </summary>
        /// <param name="e"></param>
        private void m_mthPrintAYQBabyEspRecord(PrintPageEventArgs e)
        {
            System.Drawing.Graphics p_objGrp = e.Graphics;
            com.digitalwave.controls.clsPrintRichTextContext m_objPrintContext = new com.digitalwave.controls.clsPrintRichTextContext(Color.Black, m_fontBody);

            RectangleF m_rtgF = new RectangleF((float)m_objPrintSize.LeftX + 20, m_intPosY, m_intPrintWidth, m_intRowHeight);

            // 打印格式
            StringFormat m_strFormat = new StringFormat();

            m_strFormat.LineAlignment = StringAlignment.Center;
            m_strFormat.Alignment     = StringAlignment.Near;

            p_objGrp.DrawString("特殊记录", m_fontBody, m_objBrush, m_rtgF, m_strFormat);
            m_intPosY += m_intRowHeight;

            if (m_objPrintMainInfo == null || m_objPrintMainInfo.m_objAYQEspRecord == null)
            {
                return;
            }

            m_objPrintContext.m_mthSetContextWithCorrectBefore(m_objPrintMainInfo.m_objAYQEspRecord.m_strEspRecord, m_objPrintMainInfo.m_objAYQEspRecord.m_strEspRecordXML, DateTime.Now);


            int m_intRealHeight = m_objPrintContext.m_intMeasureBlockHeightBySimSun(m_fontBody.Size, m_intPrintWidth - 50, p_objGrp);

            if (m_intPosY + m_intRealHeight > m_intPrintHeight + (int)m_objPrintSize.TopY)
            {
                e.HasMorePages = true;
                // 打印页脚
                m_mthPrintFoot(e);
                return;
            }

            Rectangle m_rtg = new Rectangle((int)m_objPrintSize.LeftX + 50, m_intPosY, m_intPrintWidth - 50, m_intRowHeight);

            m_objPrintContext.m_blnPrintAllBySimSun(m_fontBody.Size, m_rtg, p_objGrp, out m_intRealHeight, false);

            if (m_intRealHeight > m_intRowHeight)
            {
                m_intPosY += m_intRealHeight;
            }
            else
            {
                m_intPosY += m_intRowHeight;
            }

            // 打印页脚
            m_mthPrintFoot(e);

            m_strFormat.Dispose();

            e.HasMorePages = false;
        }
Exemplo n.º 2
0
        /// <summary>
        /// 初始化打印变量,本例传入空对象即可.
        /// </summary>
        public void m_mthInitPrintTool(object p_objArg)
        {
            m_fotTitleFont  = new Font("SimSun", 20, FontStyle.Bold);
            m_fotHeaderFont = new Font("SimSun", 18);
            m_fotSmallFont  = new Font("SimSun", 12);

            m_GridPen  = new Pen(Color.Black, 1);
            m_slbBrush = new SolidBrush(Color.Black);

            m_objPageSetting = new clsPrintPageSettingForRecord();

            m_objPrintContext = new com.digitalwave.controls.clsPrintRichTextContext(Color.Black, m_fotSmallFont);

            intCurrentRecord       = 0;
            intNowPage             = 0;
            blnBeginPrintNewRecord = true;
        }
 public clsPrintLine1()
 {
     m_objDiagnose = new com.digitalwave.controls.clsPrintRichTextContext(Color.Black, new Font("SimSun", 12));
 }
Exemplo n.º 4
0
        /// <summary>
        /// 打印催产素静脉点滴情况
        /// </summary>
        /// <param name="e"></param>
        private void m_mthPrintOxtInfoDetal(PrintPageEventArgs e)
        {
            if (m_objReturnData.Count <= 0)
            {
                return;
            }

            m_objPrintContext = new com.digitalwave.controls.clsPrintRichTextContext(Color.Black, m_fontInBody);
            // 当前页可以打印的行数
            m_intRowCount = Convert.ToInt32((e.PageBounds.Height - (int)m_objPrintSize.BottomY - m_intPosY) / m_intRowHeight);
            // 因为留出一行位置来打印页脚 ,所以显示总行数为减1
            m_intRowCount--;

            System.Drawing.Graphics g = e.Graphics;
            clsDSTRichTextBoxValue  m_objDSTBoxValue;
            RectangleF m_rtf = new RectangleF();
            Rectangle  m_rtg = new Rectangle();

            int m_intRealHeight;

            StringFormat m_sf = new StringFormat();

            m_sf.LineAlignment = StringAlignment.Center;
            m_sf.Alignment     = StringAlignment.Center;

            int i = 0;

            m_intPrintedCounts += m_intRowCount;
            for (; i < m_intRowCount && i < m_objReturnData.Count; i++)
            {
                m_rtf.Y      = m_intPosY;
                m_rtf.Height = m_intRowHeight;

                object[] m_objData = (object[])m_objReturnData[i];
                for (int index = 0; index < m_floatColLeftX.Length; index++)
                {
                    m_rtf.X     = m_floatColLeftX[index];
                    m_rtf.Width = m_floatColWidth[index];

                    if (m_objData[index].GetType().Name == "clsDSTRichTextBoxValue")
                    {
                        m_rtg.X      = Convert.ToInt32(m_rtf.X);
                        m_rtg.Y      = Convert.ToInt32(m_rtf.Y);
                        m_rtg.Height = Convert.ToInt32(m_rtf.Height);
                        m_rtg.Width  = Convert.ToInt32(m_rtf.Width);

                        m_objDSTBoxValue = (clsDSTRichTextBoxValue)m_objData[index];
                        if (m_objDSTBoxValue != null)
                        {
                            m_objPrintContext.m_mthSetContextWithCorrectBefore(m_objDSTBoxValue.m_strText, m_objDSTBoxValue.m_strDSTXml, DateTime.Now);
                            m_objPrintContext.m_blnPrintInBlock(m_fontInBody.Name, m_fontInBody.Size, m_rtg, g, false, out m_intRealHeight, false, true);
                        }
                    }
                    else
                    {
                        g.DrawString(Convert.ToString(m_objData[index]), m_fontInBody, m_objBrush, m_rtf, m_sf);
                    }
                    g.DrawLine(m_objPen, m_floatColLeftX[index], m_intPosY, m_floatColLeftX[index], m_intPosY + m_intRowHeight);
                }
                g.DrawLine(m_objPen, m_floatColLeftX[m_floatColLeftX.Length - 1] + m_floatColWidth[m_floatColWidth.Length - 1], m_intPosY, m_floatColLeftX[m_floatColLeftX.Length - 1] + m_floatColWidth[m_floatColWidth.Length - 1], m_intPosY + m_intRowHeight);
                m_intPosY += Convert.ToInt32(m_intRowHeight);
                g.DrawLine(m_objPen, m_floatColLeftX[0], m_intPosY, m_floatColLeftX[m_floatColLeftX.Length - 1] + m_floatColWidth[m_floatColWidth.Length - 1], m_intPosY);
            }

            m_mthPrintFoot(e);
            //判断是否多页
            if (i < this.m_objReturnData.Count)
            {
                m_intCurrentPageIndex++;
                e.HasMorePages = true;
                m_intPosY      = (int)m_objPrintSize.TopY;
                return;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 打印催产素静脉点滴概况
        /// </summary>
        /// <param name="e"></param>
        private void m_mthPrintOxInfo(PrintPageEventArgs e)
        {
            System.Drawing.Graphics p_objGrp = e.Graphics;
            com.digitalwave.controls.clsPrintRichTextContext m_objPrintContext = new com.digitalwave.controls.clsPrintRichTextContext(Color.Black, m_fontBody);

            RectangleF m_rtgF = new RectangleF();

            // 打印格式
            StringFormat m_strFormat = new StringFormat();

            m_strFormat.LineAlignment = StringAlignment.Center;
            m_strFormat.Alignment     = StringAlignment.Near;

            int m_intRowHeight = 30;
            int m_intRowWidth  = m_intPrintWidth / 2;

            if (m_blnIsFirstPrint)
            {
                // 先打印固定内容
                m_rtgF.X      = (float)m_objPrintSize.LeftX;
                m_rtgF.Y      = (float)m_intPosY;
                m_rtgF.Width  = m_intRowWidth;
                m_rtgF.Height = m_intRowHeight;
                p_objGrp.DrawString(" 催产素静脉点滴情况:", m_fontBody, m_objBrush, m_rtgF, m_strFormat);

                m_rtgF.X = (float)m_objPrintSize.LeftX + m_intRowWidth;
                p_objGrp.DrawString(" 孕/产:", m_fontBody, m_objBrush, m_rtgF, m_strFormat);

                m_rtgF.X = (float)m_objPrintSize.LeftX;
                m_rtgF.Y = (float)m_intPosY + m_intRowHeight;
                p_objGrp.DrawString("     静滴催产素指征:", m_fontBody, m_objBrush, m_rtgF, m_strFormat);

                m_rtgF.X = (float)m_objPrintSize.LeftX + m_intRowWidth;
                p_objGrp.DrawString("  孕周:", m_fontBody, m_objBrush, m_rtgF, m_strFormat);
            }

            if (m_objPrintMainInfo != null && m_objPrintMainInfo.m_objBaseInfo != null)
            {
                Rectangle m_rtg = new Rectangle();
                m_objPrintContext.m_mthSetContextWithCorrectBefore(m_objPrintMainInfo.m_objBaseInfo.m_strOXTINTRAVENOUSDRIPINFO, m_objPrintMainInfo.m_objBaseInfo.m_strOXTINTRAVENOUSDRIPINFOXML, m_objPrintMainInfo.m_objBaseInfo.m_dtmFirstPrintDate);
                int m_intWidth;
                m_intWidth   = Convert.ToInt32(p_objGrp.MeasureString(" 催产素静脉点滴情况:", m_fontBody).Width);
                m_rtg.X      = (int)m_objPrintSize.LeftX + m_intWidth + 10;
                m_rtg.Y      = m_intPosY;
                m_rtg.Width  = m_intRowWidth - m_intWidth;
                m_rtg.Height = m_intRowHeight;
                m_objPrintContext.m_mthPrintText(m_objPrintMainInfo.m_objBaseInfo.m_strOXTINTRAVENOUSDRIPINFO, m_objPrintMainInfo.m_objBaseInfo.m_strOXTINTRAVENOUSDRIPINFOXML, m_fontBody, Color.Black, m_rtg, p_objGrp);

                m_intWidth  = Convert.ToInt32(p_objGrp.MeasureString(" 孕/产:", m_fontBody).Width);
                m_rtg.X     = (int)m_objPrintSize.LeftX + m_intRowWidth + m_intWidth + 10;
                m_rtg.Width = m_intRowWidth - m_intWidth;
                m_objPrintContext.m_mthPrintText(m_objPrintMainInfo.m_objBaseInfo.m_strLAYCOUNT_CHR, m_objPrintMainInfo.m_objBaseInfo.m_strLAYCOUNT_CHRXML, m_fontBody, Color.Black, m_rtg, p_objGrp);

                m_intWidth  = Convert.ToInt32(p_objGrp.MeasureString("     静滴催产素指征:", m_fontBody).Width);
                m_rtg.X     = (int)m_objPrintSize.LeftX + m_intWidth + 10;
                m_rtg.Width = m_intRowWidth - m_intWidth;
                m_rtg.Y     = m_intPosY + m_intRowHeight;
                m_objPrintContext.m_mthPrintText(m_objPrintMainInfo.m_objBaseInfo.m_strOXTINDICATION, m_objPrintMainInfo.m_objBaseInfo.m_strOXTINDICATIONXML, m_fontBody, Color.Black, m_rtg, p_objGrp);

                m_intWidth  = Convert.ToInt32(p_objGrp.MeasureString("  孕周:", m_fontBody).Width);
                m_rtg.X     = (int)m_objPrintSize.LeftX + m_intRowWidth + m_intWidth + 10;
                m_rtg.Width = m_intRowWidth - m_intWidth;
                m_objPrintContext.m_mthPrintText(m_objPrintMainInfo.m_objBaseInfo.m_strGESTATIONALPERIOD, m_objPrintMainInfo.m_objBaseInfo.m_strGESTATIONALPERIODXML, m_fontBody, Color.Black, m_rtg, p_objGrp);
            }
            m_intPosY += 2 * m_intRowHeight;
        }