⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icadentproptabs.cpp

📁 mtext,编辑器,支持潜入对象
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// File  : <DevDir>\source\prj\icad\icadEntPropTabs.cpp


//Modified Cybage MM 24-09-2001 DD-MM-YYYY [
//Reason : Bug No.- 77847 from Bugzilla
#include "configure.h"
//Modified Cybage MM 24-09-2001 DD-MM-YYYY ]
#include "icadEntPropTabs.h"
//EBATECH(CNBR) 2002/4/24 for SHAPE
#include "styletabrec.h"

//Globals
extern double*			entprop_plextru;
extern cmd_elistll*	pVert;
extern int  num_of_splines;
extern int  num_of_leaders;
extern bool ent_bHitEnter;
extern bool bPlineIsMesh;
extern bool bPlineIs3D;
extern ent_DlgItem	ent_DlgItems[];
extern short ent_num_of_vars;

//////////////////////////////////////////////////////////////////////////////
// 3DFACE     ****************************************************************
//////////////////////////////////////////////////////////////////////////////

BEGIN_MESSAGE_MAP(ent_3DFACE_TAB,CDialog)
    ON_BN_CLICKED(FACE_PICK1,ent_OnPick1)
    ON_BN_CLICKED(FACE_PICK2,ent_OnPick2)
    ON_BN_CLICKED(FACE_PICK3,ent_OnPick3)
    ON_BN_CLICKED(FACE_PICK4,ent_OnPick4)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P1X,OnSpinPt1x)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P1Y,OnSpinPt1y)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P1Z,OnSpinPt1z)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P2X,OnSpinPt2x)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P2Y,OnSpinPt2y)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P2Z,OnSpinPt2z)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P3X,OnSpinPt3x)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P3Y,OnSpinPt3y)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P3Z,OnSpinPt3z)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P4X,OnSpinPt4x)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P4Y,OnSpinPt4y)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_FACE_P4Z,OnSpinPt4z)
	ON_WM_HELPINFO()
END_MESSAGE_MAP()

BOOL
ent_3DFACE_TAB::OnHelpInfo
(
 HELPINFO*	pHel
)
{
	CommandRefHelp( m_hWnd, HLP_ENTPROP);
	return(true);
}

void
ent_3DFACE_TAB::OnOK()
{
    HWND hParentWnd;

    ent_bHitEnter=true;
    hParentWnd=::GetParent(m_hWnd);
    ::SendMessage(hParentWnd,WM_CLOSE,0,0);
}

void
ent_3DFACE_TAB::OnCancel()
{
    HWND hParentWnd;

    ent_bHitEnter=false;
    hParentWnd=::GetParent(m_hWnd);
    ::SendMessage(hParentWnd,WM_CLOSE,0,0);
}

void
ent_3DFACE_TAB::OnSpinPt1x
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P1X),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt1y
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P1Y),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt1z
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P1Z),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt2x
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P2X),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt2y
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P2Y),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt2z
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P2Z),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt3x
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P3X),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt3y
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P3Y),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt3z
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P3Z),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt4x
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P4X),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt4y
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P4Y),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

void
ent_3DFACE_TAB::OnSpinPt4z
(
 NMHDR*		pNotifyStruct,
 LRESULT*	result
)
{
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterReal(::GetDlgItem(m_hWnd,FACE_P4Z),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

BOOL
ent_3DFACE_TAB::OnInitDialog()
{
    return(CDialog::OnInitDialog());
}

void
ent_3DFACE_TAB::ent_OnPick1()
{
    HWND hWnd;

    hWnd=::GetParent(m_hWnd);
    ent_Pick1=1;
    ::SendMessage(hWnd,WM_CLOSE,FACE_PICK1,0);
}

void
ent_3DFACE_TAB::ent_OnPick2()
{
    HWND hWnd;

    hWnd=::GetParent(m_hWnd);
    ent_Pick2=1;
    ::SendMessage(hWnd,WM_CLOSE,FACE_PICK2,0);
}

void
ent_3DFACE_TAB::ent_OnPick3()
{
    HWND hWnd;

    hWnd=::GetParent(m_hWnd);
    ent_Pick3=1;
    ::SendMessage(hWnd,WM_CLOSE,FACE_PICK3,0);
}

void
ent_3DFACE_TAB::ent_OnPick4()
{
    HWND hWnd;

    hWnd=::GetParent(m_hWnd);
    ent_Pick4=1;
    ::SendMessage(hWnd,WM_CLOSE,FACE_PICK4,0);
}

void
ent_3DFACE_TAB::DoDataExchange
(
 CDataExchange*	pDX
)
{
    int start,end,i;

    for(start=0;(ent_DlgItems[start].EntTyp!=DB_3DFACE) && (start<ent_num_of_vars);start++);
    start+=5; //Skip the layer,linetype,linetypescale,thickness and color
    for(end=start;(ent_DlgItems[end].EntTyp==DB_3DFACE) && (end<ent_num_of_vars);end++);
    end--;

    for(i=start;i<=end;i++){
        switch(ent_DlgItems[i].ResType){
            case RT3DPOINT:
            case RTREAL:
                if(!pDX->m_bSaveAndValidate){  //Moving data to the dialog
                    csTmp=ent_DlgItems[i].DspValue;
                    DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
                }else if(pDX->m_bSaveAndValidate){ //Retrieving data from the dialog
                    DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
                    if(csTmp.IsEmpty()) {
                        if(ent_DlgItems[i].DspValue!=NULL){
                            free(ent_DlgItems[i].DspValue);
                            ent_DlgItems[i].DspValue=NULL;
                        }
                    }else{
                        ent_DlgItems[i].DspValue=(char *)realloc(ent_DlgItems[i].DspValue,csTmp.GetLength()+1);
                        strcpy(ent_DlgItems[i].DspValue,(LPCTSTR)csTmp);
                    }
                }
                break;
            case RTANG:
                if(!pDX->m_bSaveAndValidate){  //Moving data to the dialog
                    csTmp=ent_DlgItems[i].DspValue;
                    DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
                }else if(pDX->m_bSaveAndValidate){ //Retrieving data from the dialog
                    DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
                    if(csTmp.IsEmpty()) {
                        if(ent_DlgItems[i].DspValue!=NULL){
                            free(ent_DlgItems[i].DspValue);
                            ent_DlgItems[i].DspValue=NULL;
                        }
                    }else{
                        ent_DlgItems[i].DspValue=(char *)realloc(ent_DlgItems[i].DspValue,csTmp.GetLength()+1);
                        strcpy(ent_DlgItems[i].DspValue,(LPCTSTR)csTmp);
                    }
                }
                break;
            case RTSTR:
            case RTSHORT:
                if(!pDX->m_bSaveAndValidate){  //Moving data to the dialog
                    csTmp=ent_DlgItems[i].DspValue;
                    DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
                }else if(pDX->m_bSaveAndValidate){ //Retrieving data from the dialog
                    DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
                    if(csTmp.IsEmpty()) {
                        if(ent_DlgItems[i].DspValue!=NULL){
                            free(ent_DlgItems[i].DspValue);
                            ent_DlgItems[i].DspValue=NULL;
                        }
                    }else{
                        ent_DlgItems[i].DspValue=(char *)realloc(ent_DlgItems[i].DspValue,csTmp.GetLength()+1);
                        strcpy(ent_DlgItems[i].DspValue,(LPCTSTR)csTmp);
                    }
                }
            break;
            case ENT_CHECK:
                if(!pDX->m_bSaveAndValidate){ //Moving data to the dialog
                    iTmp=ent_DlgItems[i].CheckBit;
                    DDX_Check(pDX,ent_DlgItems[i].ID,iTmp);
                }else if(pDX->m_bSaveAndValidate){ //Retrieving data from the dialog
                    DDX_Check(pDX,ent_DlgItems[i].ID,iTmp);
                    ent_DlgItems[i].CheckBit=iTmp;
                }
            break;
            case ENT_GREY:
                if(!pDX->m_bSaveAndValidate && ent_DlgItems[i].CheckBit){ //Moving data to the dialog
                    ::EnableWindow(::GetDlgItem(m_hWnd,ent_DlgItems[i].ID),TRUE);
                }
            break;
        }
    }
}

ent_3DFACE_TAB::ent_3DFACE_TAB() : CDialog(ENT_3DFACE_TAB)
{
    ent_Pick1=ent_Pick2=ent_Pick3=ent_Pick4=0;
}


//////////////////////////////////////////////////////////////////////////////
// ARC        ****************************************************************
//////////////////////////////////////////////////////////////////////////////

BEGIN_MESSAGE_MAP(ent_ARC_TAB,CDialog)
    ON_BN_CLICKED(ARC_PICK2,ent_OnPick)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ARCRAD,OnSpinArcRad)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ARCSANG,OnSpinArcSAng)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ARCEANG,OnSpinArcEAng)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ARC_CPX,OnSpinArcCpx)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ARC_CPY,OnSpinArcCpy)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -