SDC C-Project CF Review 프로그램
LYW
2021-06-23 598cef9de915e5554fc2f7572b24f15d8a4acf41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include "StdAfx.h"
#include "akStaticTextCtrl.h"
#include "akStaticText.h"
 
CakStaticTextCtrl::CakStaticTextCtrl(void)
{
 
}
 
CakStaticTextCtrl::~CakStaticTextCtrl(void)
{
    clear();
}
 
 
void CakStaticTextCtrl::clear()
{
    std::map<int,void*>::iterator itor;
    for(itor = m_mapControls.begin(); itor!=m_mapControls.end(); itor++)
    {
        CakStaticText* pControl = (CakStaticText*)itor->second;
        pControl->DestroyWindow();
        delete pControl;
    }
 
    m_mapControls.clear();
}
 
void CakStaticTextCtrl::addControl( int nIDCtl, CWnd* pParent )
{
    _StaticTextCtrlOption* pOption = &m_CtrlOption;
    
    if(pOption->nStyle == 0)
    {
        
    }
    else if(pOption->nStyle == 1)
    {
        CakStaticText* pControl;
 
        std::map<int,void*>::iterator itor = m_mapControls.find(nIDCtl);
        if(itor != m_mapControls.end())
        {
            pControl = (CakStaticText*)m_mapControls[nIDCtl];
        }
        else
        {
            pControl = new CakStaticText;
            pControl->SubclassDlgItem(nIDCtl, pParent);
        }
 
 
        char *pFontName = NULL;
        if(pOption->strFontName.IsEmpty() == FALSE) pFontName = (char*)pOption->strFontName.GetBuffer();
        if(pFontName) pControl->setFont(pFontName);
        pControl->setFontSize(pOption->nFontSize);
        
        pControl->SetFastMode();
        pControl->setColor(pOption->clrTitle,pOption->clrBack);
 
        pControl->SetAlign(pOption->nTextAlign);
 
        pControl->setOutLine(pOption->nDrawOutlineType, pOption->clrOutline);
        m_mapControls[nIDCtl] = (void*)pControl;
        //m_mapControls.push_back((void*)pControl);
    }
    
}
 
void CakStaticTextCtrl::setCtrlOption( _StaticTextCtrlOption GroupCtrlOption )
{
//     if(m_CtrlOption.strFontName != GroupCtrlOption.strFontName
//         || m_CtrlOption.nFontSize != GroupCtrlOption.nFontSize)
//     {
//         _StaticTextCtrlOption* pOption = &m_CtrlOption;
//         if(pOption->nStyle == 0)
//         {
//             char *pFontName = NULL;
//             if(GroupCtrlOption.strFontName.IsEmpty() == FALSE) pFontName = GroupCtrlOption.strFontName.GetBuffer();
// 
//             std::map<int,void*>::iterator itor;
//             for(itor = m_mapControls.begin(); itor!=m_mapControls.end(); itor++)
//             {
//                 CakStaticText* pControl = (CakStaticText*)itor->second;
//                 pControl->setFont(pFontName, GroupCtrlOption.nFontSize);
//             }
//             
// 
//         }
//         
//     }
 
    m_CtrlOption=GroupCtrlOption;
}
 
CStatic* CakStaticTextCtrl::GetDlgItem( int nIDCtl )
{
    return (CStatic*)m_mapControls[nIDCtl];
}