• <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
            數據加載中……

            筆記 文本走馬燈特效

            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 閱讀(388) 評論(0)  編輯 收藏 引用

            久久午夜羞羞影院免费观看| 99国产欧美精品久久久蜜芽| 久久久久亚洲精品男人的天堂| 久久久精品人妻无码专区不卡 | 国产成人精品久久亚洲| 色综合久久综合网观看| 欧美激情一区二区久久久| 久久久精品人妻一区二区三区四 | 亚洲人成无码网站久久99热国产| 亚洲精品无码久久久影院相关影片| 婷婷综合久久狠狠色99h| 欧美伊人久久大香线蕉综合| 亚洲成人精品久久| 久久精品国产99久久无毒不卡| 久久久久久国产精品无码下载 | 99久久成人国产精品免费| 亚洲欧美一区二区三区久久| 99久久精品国产一区二区蜜芽| 久久99国产综合精品免费| 久久大香萑太香蕉av| 久久免费99精品国产自在现线| 精品久久一区二区| 国产美女久久精品香蕉69| 99久久做夜夜爱天天做精品| 欧美一级久久久久久久大| 精品国产91久久久久久久| 国产精品无码久久久久久| 久久国产精品一国产精品金尊| 日韩精品久久无码人妻中文字幕 | 精品久久久久久久无码| 久久国产精品99精品国产| 少妇内射兰兰久久| 久久精品www人人爽人人| 国产精品久久久亚洲| 91久久婷婷国产综合精品青草| 99国产精品久久久久久久成人热| 久久WWW免费人成一看片| 久久久久青草线蕉综合超碰| 久久久久亚洲精品日久生情| 色综合久久久久无码专区| jizzjizz国产精品久久|