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

📄 icadentproptabs.cpp

📁 mtext,编辑器,支持潜入对象
💻 CPP
📖 第 1 页 / 共 5 页
字号:
                } else { //Retrieving data from the dialog
                    DDX_CBIndex(pDX,ATTD_JUSTIFY,iTxtCurSel);
                    ent_SelChange();
                    if(ent_DlgItems[i].DXFCode==72) {
                        ent_DlgItems[i].CheckBit=iJust72;
                    }else if(ent_DlgItems[i].DXFCode==74) {
                        ent_DlgItems[i].CheckBit=iJust74;
                    }
                }
        }
    }

}

ent_ATTDEF_TAB::ent_ATTDEF_TAB():CDialog(ENT_ATTDEF_TAB) {
    ent_Pick1=ent_Pick2=0;
}


//////////////////////////////////////////////////////////////////////////////
// ATTRIB     ****************************************************************
//////////////////////////////////////////////////////////////////////////////

BEGIN_MESSAGE_MAP(ent_ATTRIB_TAB,CDialog)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_SPX,OnSpinAttrSpx)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_SPY,OnSpinAttrSpy)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_SPZ,OnSpinAttrSpz)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_APX,OnSpinAttrApx)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_APY,OnSpinAttrApy)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_APZ,OnSpinAttrApz)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_HEIGHT,OnSpinAttrHth)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_ROTATE,OnSpinAttrRot)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_THICK,OnSpinAttrTck)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_SCALE,OnSpinAttrScl)
    ON_NOTIFY(UDN_DELTAPOS,UPDN_ATTR_OBLIQUE,OnSpinAttrObl)
    ON_BN_CLICKED(ATTR_PICK1,ent_OnPick1)
    ON_BN_CLICKED(ATTR_PICK2,ent_OnPick2)
    ON_CBN_SELCHANGE(ATTR_JUSTIFY,OnSelChange)
    ON_CBN_SELCHANGE(ATTR_STYLE,OnStyleChange)
	ON_WM_HELPINFO()
END_MESSAGE_MAP()

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

void ent_ATTRIB_TAB::OnOK(){
    HWND hParentWnd;

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

void ent_ATTRIB_TAB::OnCancel(){
    HWND hParentWnd;

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


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

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

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

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

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

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

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

void ent_ATTRIB_TAB::OnSpinAttrRot(NMHDR *pNotifyStruct,LRESULT *result) {
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterAngle(::GetDlgItem(m_hWnd,ATTR_ROTATE),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

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

void ent_ATTRIB_TAB::OnSpinAttrScl(NMHDR *pNotifyStruct,LRESULT *result) {
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
	//Modified Cybage SBD	04/03/2002 DD/MM/YYYY
	//Reason : Fix for Bug No. 77983 from Bugzilla
    //ent_SpinMasterReal(::GetDlgItem(m_hWnd,ATTR_SCALE),pNMUpDown->iDelta);
	ent_SpinMasterReal(::GetDlgItem(m_hWnd,ATTR_SCALE),pNMUpDown->iDelta,2);
    UpdateData(TRUE);
    *result=0;
}

void ent_ATTRIB_TAB::OnSpinAttrObl(NMHDR *pNotifyStruct,LRESULT *result) {
    NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNotifyStruct;
    ent_SpinMasterAngle(::GetDlgItem(m_hWnd,ATTR_OBLIQUE),pNMUpDown->iDelta);
    UpdateData(TRUE);
    *result=0;
}

BOOL ent_ATTRIB_TAB::OnInitDialog() {
	FillCombo();
    ent_StyleChoice();
    CDialog::OnInitDialog();
	// Bugzilla No. 76186; 11/11/2002 [
	//Current selection is  "Varies"...So add into ComboBox now
	if ( iTxtCurSel == 15)
	{
		CComboBox *pCombo = NULL;
		if (NULL != (pCombo = (CComboBox *) GetDlgItem(ATTR_JUSTIFY)))
		{
			int index = pCombo->AddString(ResourceString(IDC_ICADENTPROP_VARIES_18, "Varies" ));
			pCombo->SetCurSel(index); 

		}
	}
	// Bugzilla No. 76186; 11/11/2002 ]
    OnSelChange();
    return(TRUE);
}

void ent_ATTRIB_TAB::FillCombo()
{
	CComboBox *pCombo = NULL;

	if (NULL == (pCombo = (CComboBox *) GetDlgItem(ATTR_JUSTIFY)))
		return;

	pCombo->ResetContent();
	CString	comboOption;
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_1);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_2);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_3);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_4);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_5);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_6);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_7);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_8);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_9);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_10);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_11);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_12);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_13);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_14);
	pCombo->AddString(comboOption);
	comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_15);
	pCombo->AddString(comboOption);
	// Bugzilla No. 76186; 11/11/2002 
	// Add "Varies only if necessary"
	//comboOption.LoadString(IDC_COMBO_ATTD_JUSTIFY_16);
	//pCombo->AddString(comboOption);
}

void ent_ATTRIB_TAB::ent_OnPick1() {
    HWND hWnd;

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

void ent_ATTRIB_TAB::ent_OnPick2() {
    HWND hWnd;

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

void ent_ATTRIB_TAB::ent_Yes10(){
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_SPX),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_SPY),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_SPZ),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_SPX),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_SPY),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_SPZ),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_PICK1),TRUE);
}

void ent_ATTRIB_TAB::ent_No10(){
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_SPX),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_SPY),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_SPZ),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_SPX),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_SPY),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_SPZ),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_PICK1),FALSE);
}

void ent_ATTRIB_TAB::ent_Yes11(){
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_APX),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_APY),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_APZ),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_APX),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_APY),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_APZ),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_PICK2),TRUE);
}

void ent_ATTRIB_TAB::ent_No11(){
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_APX),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_APY),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_APZ),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_APX),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_APY),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_APZ),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_PICK2),FALSE);
}

void ent_ATTRIB_TAB::ent_Yes40(){
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_HEIGHT),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_HEIGHT),TRUE);
}

void ent_ATTRIB_TAB::ent_No40(){
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_HEIGHT),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_HEIGHT),FALSE);
}

void ent_ATTRIB_TAB::ent_Yes50(){
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_ROTATE),TRUE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_ROTATE),TRUE);
}

void ent_ATTRIB_TAB::ent_No50(){
    ::EnableWindow(::GetDlgItem(m_hWnd,ATTR_ROTATE),FALSE);
    ::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTR_ROTATE),FALSE);
}

//Grey out the correct field.
void ent_ATTRIB_TAB::OnSelChange() {
    UpdateData(TRUE);
    if((iJust72&1 && iJust74&1) || iJust72&8 || iJust72&32){
        ent_Yes10();
    }else{
        ent_No10();
    }
    if(iJust72&1 && iJust74&1){
        ent_No11();
    }else{
        ent_Yes11();
    }
    if(iJust72&8){
        ent_No40();
    }else{
        ent_Yes40();
    }
    if(iJust72&8 || iJust72&32){
        ent_No50();
    }else{
        ent_Yes50();
    }
}

//Set current selection
void ent_ATTRIB_TAB::ent_SetSel() {
    switch(iJust72) {
        case 1:
            switch(iJust74) {
                case 1:
                    iTxtCurSel=0;
                    break;
                case 2:
                    iTxtCurSel=1;
                    break;
                case 4:
                    iTxtCurSel=2;
                    break;
                case 8:
                    iTxtCurSel=3;
                    break;
                default:
                    iTxtCurSel=15;
                    break;
            }
            break;
        case 2:
            switch(iJust74) {
                case 1:
                    iTxtCurSel=4;
                    break;
                case 2:
                    iTxtCurSel=5;
                    break;
                case 4:
                    iTxtCurSel=6;
                    break;
                case 8:
                    iTxtCurSel=7;
                    break;
                default:
                    iTxtCurSel=15;
                    break;
            }
            break;
        case 4:
            switch(iJust74) {
                case 1:
                    iTxtCurSel=8;
                    break;
                case 2:
                    iTxtCurSel=9;
                    break;
                case 4:
                    iTxtCurSel=10;
                    break;
                case 8:
                    iTxtCurSel=11;
                    break;
                default:
                    iTxtCurSel=15;
                    break;
            }
            break;
        case 8:
            iTxtCurSel=12;
            break;
        case 16:
            iTxtCurSel=13;
            break;
        case 32:
            iTxtCurSel=14;
            break;
        default:

⌨️ 快捷键说明

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