1.创建控件
void ThkabcDlg::CreateCtrl()
{
if (m_Layout.GetSafeHwnd())
{
return;
}
m_Layout.Create(this, 0);
ThkCtrlCrtHelper helper;
helper.SetParent(this);
helper.Create(m_staWeldMdlName, THKWELD_IDC_MDLNAME, "abc");
helper.Create(m_edWeldMdlName, THKWELD_IDC_ED_NAME);
helper.Create(m_btnSelWeldMdl, THKWELD_IDC_MAP_SEL, "abc");
m_btnSelWeldMdl.SetType(ThkScBmpBtn::BMP_SEL);
helper.Create(m_staWeldTpl, THKWELD_IDC_TPL,"abc");
helper.Create(m_edWeldTpl,THKWELD_IDC_ED_TPL);
helper.Create(m_btnOpenWeldTpl,THKWELD_IDC_MAP_OPEN,"abc");
m_btnOpenWeldTpl.SetType(ThkScBmpBtn::BMP_OPEN);
helper.Create(m_staRules,THKWELD_IDC_RULES,"abc");
helper.Create(m_edRules,THKWELD_IDC_ED_RULES);
helper.Create(m_btnRules,THKWELD_IDC_MAP_RELES,"abc");
unsigned int s = m_btnRules.GetButtonStyle();
s = s | BS_OWNERDRAW;
m_btnRules.SetButtonStyle(s, false);
m_btnRules.LoadBitmaps(IDB_BITMAP_QUESTIONMASK);
helper.Create(m_WeldList,THKWELD_IDC_LIST);
ThkToolTipEx* pToolTip = new ThkToolTipEx;
m_ToolBar.SetToolbarTip(pToolTip);
m_ToolBar.SetImage(IDB_BITMAP_TOOLBAR, 20, 20, RGB(255, 255, 255));
m_ToolBar.Create(CPoint(0, 0), &m_Layout);
m_ToolBar.SetEdge(0);
InitToolBar();
}
2.界面布局
void ThkabcDlg::AdjustLayout()
{
//水平
ThkWndCtScale* pTop1 = new ThkWndCtScale;
pTop1->SetType(THKWNDCT::CT_HORIZ);
pTop1->AddBlank(3);
pTop1->AddLabel(&m_staWeldMdlName, 70, true);
pTop1->AddBlank(1);
pTop1->AddWnd(&m_edWeldMdlName, 200,true);
pTop1->AddBlank(2);
pTop1->AddWnd(&m_btnSelWeldMdl, 27, true);
pTop1->AddBlank(10);
pTop1->AddLabel(&m_staWeldTpl, 70, true);
pTop1->AddBlank(1);
pTop1->AddWnd(&m_edWeldTpl, 200);
pTop1->AddBlank(2);
pTop1->AddWnd(&m_btnOpenWeldTpl, 27, true);
pTop1->AddBlank(10);
ThkWndCtScale* pTop2 = new ThkWndCtScale;
pTop2->SetType(THKWNDCT::CT_HORIZ);
pTop2->AddBlank(3);
pTop2->AddLabel(&m_staRules, 70, true);
pTop2->AddBlank(1);
pTop2->AddWnd(&m_edRules, 200,true);
pTop2->AddBlank(2);
pTop2->AddWnd(&m_btnRules, 27, true);
pTop2->AddBlank(70,false);
ThkWndCtScale* pTop3 = new ThkWndCtScale;
pTop3->SetType(THKWNDCT::CT_HORIZ);
pTop3->AddBlank(3);
pTop3->AddWnd(&m_WeldList, 200);
pTop3->AddBlank(3);
pTop3->AddContainer(new ThkWndContainer(&m_ToolBar, 0, 20, 0, 0), 30, true);
pTop3->AddBlank(1);
//垂直
ThkWndCtScale* pMain = new ThkWndCtScale;
pMain->SetType(THKWNDCT::CT_VERT);
pMain->AddBlank(2);
pMain->AddContainer(pTop1, 27, true);
pMain->AddBlank(3);
pMain->AddContainer(pTop2,27,true);
pMain->AddBlank(3);
pMain->AddContainer(pTop3, 300);
m_Layout.SetContainer(pMain);
m_Layout.AdjustLayout();
}
3.ToolBar
3.1(定义)
void ThkabcDlg::InitToolBar()
{
int nToolBarId[] = {
CMD_ASSEMBLE,
-1,
CMD_APPOINT,
-1,
CMD_REVERSE,
-1,
CMD_DELETE,
-1,
CMD_REFRESH,
};
const int nNum = ARRAYSIZE(nToolBarId);
int nImgId[] = {
iMg_ASSEMBLE ,
-1,
iMg_APPOINT,
-1,
iMg_REVERSE,
-1,
iMg_DELETE,
-1,
iMg_REFRESH,
};
CString strDepict[nNum] = {
_T("装配"),
NULL,
_T("指定"),
NULL,
_T("反向"),
NULL,
_T("删除"),
NULL,
_T("刷新"),
};
CString strDetail[nNum] = {
_T("abc"),
NULL,
_T("abc"),
NULL,
_T("abc"),
NULL,
_T("abc"),
NULL,
_T("abc"),
};
m_ToolBar.AddButtons(nToolBarId, nImgId, nNum, strDepict, strDetail);
m_ToolBar.AdjustLayout();
}
3.2(声明)
enum eCtrlID
{
THKWELD_IDC_LIST=200,
THKWELD_IDC_MDLNAME,
THKWELD_IDC_TPL,
THKWELD_IDC_RULES,
THKWELD_IDC_ED_NAME,
THKWELD_IDC_ED_TPL,
THKWELD_IDC_ED_RULES,
THKWELD_IDC_MAP_RELES,
THKWELD_IDC_MAP_SEL,
THKWELD_IDC_MAP_OPEN,
};
enum eCMDID {
CMD_ASSEMBLE=100,
CMD_APPOINT,
CMD_REVERSE,
CMD_DELETE,
CMD_REFRESH,
};
enum eiMageID {
iMg_ASSEMBLE = 0,
iMg_APPOINT,
iMg_REVERSE,
iMg_DELETE,
iMg_REFRESH,
};
4.设计按钮类型(图片类型)
ThkScBmpBtn m_btnSelWeldMdl;
m_btnSelWeldMdl.SetType(ThkScBmpBtn::BMP_SEL);
5.按钮设置图片
CBitmapButton m_btnRules;
unsigned int s = m_btnRules.GetButtonStyle();
s = s | BS_OWNERDRAW;
m_btnRules.SetButtonStyle(s, false);
m_btnRules.LoadBitmaps(IDB_BITMAP_QUESTIONMASK);
6.Toolbar设置图片
ThkToolTipEx* pToolTip = new ThkToolTipEx;
m_ToolBar.SetToolbarTip(pToolTip);
m_ToolBar.SetImage(IDB_BITMAP_TOOLBAR, 20, 20, RGB(255, 255, 255));
m_ToolBar.Create(CPoint(0, 0), &m_Layout);
m_ToolBar.SetEdge(0);
void ThkabcDlg::InitToolBar()
{
int nToolBarId[] = {
CMD_ASSEMBLE,
-1,
CMD_APPOINT,
-1,
CMD_REVERSE,
-1,
CMD_DELETE,
-1,
CMD_REFRESH,
};
const int nNum = ARRAYSIZE(nToolBarId);
int nImgId[] = {
iMg_ASSEMBLE ,
-1,
iMg_APPOINT,
-1,
iMg_REVERSE,
-1,
iMg_DELETE,
-1,
iMg_REFRESH,
};
CString strDepict[nNum] = {
_T("装配"),
NULL,
_T("指定"),
NULL,
_T("反向"),
NULL,
_T("删除"),
NULL,
_T("刷新"),
};
CString strDetail[nNum] = {
_T("根据坐标系进行装配"),
NULL,
_T("模型快速完成界面中的定位"),
NULL,
_T("焊缝模型反向,起终点反向"),
NULL,
_T("将模型进行删除"),
NULL,
_T("焊缝模型名称编号刷新和参数写入"),
};
m_ToolBar.AddButtons(nToolBarId, nImgId, nNum, strDepict, strDetail);
m_ToolBar.AdjustLayout();
}