• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            隨筆 - 25, 文章 - 0, 評論 - 6, 引用 - 0
            數(shù)據(jù)加載中……

            筆記 文本走馬燈特效

            SizeF stringSize, strSize(1000,1000);

                if (m_bStatic)
                {
                    /// <靜止,居中>
                    fmt.SetAlignment(StringAlignmentCenter);
                    fmt.SetLineAlignment(StringAlignmentCenter);
                
                    graph.MeasureString(m_wstrText.c_str(), m_wstrText.length(), &font, strSize, &fmt, &stringSize);
                    
                    RectF rectf(m_rect.GetLeft(), m_rect.GetTop(), m_rect.Width, min(m_rect.Height, stringSize.Height));
                    DrawString(graph, m_wstrText, font, solidBrush, rectf, fmt);
                }
                else
                {
                    /// <左移,左對齊>
                    fmt.SetAlignment(StringAlignmentNear);
                    fmt.SetLineAlignment(StringAlignmentNear);

                    /// <測量輸出字符串所需要的矩形空間>
                    std::wstring wstr = m_wstrText;        
                    graph.MeasureString(wstr.c_str(), wstr.length(), &font, strSize, &fmt, &stringSize);

                    double fProgress = m_timeInfo.GetProgress();
                    //REAL fOffsetX = max(m_rect.Width, stringSize.Width) * fProgress;
                    REAL fOffsetX = (stringSize.Width + m_rect.Width) * fProgress;
                    REAL fDiffx = fOffsetX - m_rect.Width;
                    
                    if (fDiffx > 0.000001)
                    {
                        int nLength = 1;
                        std::wstring wstrTmp = L"";
                        do
                        {
                            wstrTmp = wstr.substr(0, nLength++);
                            graph.MeasureString(wstrTmp.c_str(), wstrTmp.length(), &font, strSize, &fmt, &stringSize);
                        }while(stringSize.Width < abs(fDiffx));

                        --nLength;
                        wstr = wstr.substr(nLength, wstr.length() - nLength);
                    }

                    graph.MeasureString(L"1", 2, &font, strSize, &fmt, &stringSize);

                    fOffsetX = max(m_rect.GetLeft(), m_rect.GetRight() - fOffsetX);
                    RectF rect(fOffsetX, m_rect.GetTop(), min(m_rect.Width, max(1, m_rect.GetRight() - fOffsetX)), min(m_rect.Height, stringSize.Height));
                    DrawString(graph, wstr, font, solidBrush, rect, fmt);
                }

            posted on 2014-09-01 11:49 chenjt3533 閱讀(385) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            四虎影视久久久免费| 精品伊人久久大线蕉色首页| 99久久这里只精品国产免费| 国产成人精品久久综合 | 亚洲国产精品久久66| 久久国产精品77777| 国产精品欧美久久久天天影视| 欧美一区二区三区久久综| 久久久久久久97| 久久精品一区二区国产| 国产成人无码精品久久久免费| 久久久精品日本一区二区三区| 久久综合久久鬼色| 亚洲国产一成久久精品国产成人综合| 久久久久女教师免费一区| 亚洲国产精品嫩草影院久久| 中文无码久久精品| 久久99精品综合国产首页| 久久996热精品xxxx| 久久久久久久波多野结衣高潮| 亚洲av成人无码久久精品| 99久久精品费精品国产一区二区| 国产精品激情综合久久 | 久久精品一区二区三区AV| 久久国产精品99精品国产| 精品久久久无码中文字幕天天| 2020久久精品亚洲热综合一本| 久久久久久久亚洲Av无码| 青青热久久国产久精品| 久久丫精品国产亚洲av不卡| 国产精品日韩深夜福利久久 | 亚洲AV无码久久精品成人| 天天久久狠狠色综合| 99久久国产宗和精品1上映| 久久se精品一区精品二区| 久久亚洲精品国产亚洲老地址 | 精品国产乱码久久久久久1区2区 | 99精品久久精品| 久久亚洲精品无码VA大香大香| 久久九九亚洲精品| 亚洲人成伊人成综合网久久久|