?? icadentproptabs.cpp
字號:
void ent_ATTDEF_TAB::ent_No10(){
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_SPX),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_SPY),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_SPZ),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_SPX),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_SPY),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_SPZ),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_PICK1),FALSE);
}
void ent_ATTDEF_TAB::ent_Yes11(){
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_APX),TRUE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_APY),TRUE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_APZ),TRUE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_APX),TRUE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_APY),TRUE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_APZ),TRUE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_PICK2),TRUE);
}
void ent_ATTDEF_TAB::ent_No11(){
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_APX),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_APY),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_APZ),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_APX),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_APY),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_APZ),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_PICK2),FALSE);
}
void ent_ATTDEF_TAB::ent_Yes40(){
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_HEIGHT),TRUE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_HEIGHT),TRUE);
}
void ent_ATTDEF_TAB::ent_No40(){
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_HEIGHT),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_HEIGHT),FALSE);
}
void ent_ATTDEF_TAB::ent_Yes50(){
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_ROTATE),TRUE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_ROTATE),TRUE);
}
void ent_ATTDEF_TAB::ent_No50(){
::EnableWindow(::GetDlgItem(m_hWnd,ATTD_ROTATE),FALSE);
::EnableWindow(::GetDlgItem(m_hWnd,UPDN_ATTD_ROTATE),FALSE);
}
//Grey out the correct field.
void ent_ATTDEF_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_ATTDEF_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:
iTxtCurSel=15;
break;
}
}
//Fill members from the index of the combo box
void ent_ATTDEF_TAB::ent_SelChange() {
switch(iTxtCurSel) {
case 0:
iJust72=1;
iJust74=1;
break;
case 1:
iJust72=1;
iJust74=2;
break;
case 2:
iJust72=1;
iJust74=4;
break;
case 3:
iJust72=1;
iJust74=8;
break;
case 4:
iJust72=2;
iJust74=1;
break;
case 5:
iJust72=2;
iJust74=2;
break;
case 6:
iJust72=2;
iJust74=4;
break;
case 7:
iJust72=2;
iJust74=8;
break;
case 8:
iJust72=4;
iJust74=1;
break;
case 9:
iJust72=4;
iJust74=2;
break;
case 10:
iJust72=4;
iJust74=4;
break;
case 11:
iJust72=4;
iJust74=8;
break;
case 12:
iJust72=8;
iJust74=1;
break;
case 13:
iJust72=16;
iJust74=1;
break;
case 14:
iJust72=32;
iJust74=1;
break;
case 15:
iJust72=63;
iJust74=15;
break;
}
}
//This will read in the styles
//into the drop down list.
void ent_ATTDEF_TAB::ent_StyleChoice() {
int i;
CString csTmp;
::SendMessage(::GetDlgItem(m_hWnd,ATTD_STYLE),CB_RESETCONTENT,0,0);
// Changed by Vitaly Spirin SDS_StartTblRead(ResourceString(IDC_ICADENTPROP_STYLE_21, "STYLE" ));
SDS_StartTblRead("STYLE");
while(SDS_TblReadHasMore()) {
csTmp=SDS_TblReadString();
if(csTmp.GetLength() == 0) continue; // EBATECH(CNBR) 2002/4/24 STYPE for SHAPE has null NAME.
if(csTmp.Find('|')>0) continue;
::SendMessage(::GetDlgItem(m_hWnd,ATTD_STYLE),CB_ADDSTRING,0,(LPARAM)(LPCTSTR)csTmp);
}
for(i=0;ent_DlgItems[i].ID!=ATTD_STYLE;i++);
if(ent_DlgItems[i].DspValue!=NULL && strisame(ent_DlgItems[i].DspValue,ResourceString(IDC_ICADENTPROP_VARIES_18, "Varies" )))
::SendMessage(::GetDlgItem(m_hWnd,ATTD_STYLE),CB_ADDSTRING,0,(LPARAM)ResourceString(IDC_ICADENTPROP_VARIES_18, "Varies" ));
}
void ent_ATTDEF_TAB::OnStyleChange() {
char szTmp[IC_ACADBUF];
struct resbuf *pRb,*pRbb=NULL;
::GetWindowText(::GetDlgItem(m_hWnd,ATTD_STYLE),szTmp,sizeof(szTmp)-1);
if((pRbb=sds_tblsearch("STYLE"/*DNT*/,szTmp,0))==NULL) return;
for(pRb=pRbb;pRb!=NULL;pRb=pRb->rbnext){
switch(pRb->restype){
case 40:
if(!icadRealEqual(pRb->resval.rreal,0.0)){
sds_rtos(pRb->resval.rreal,-1,-1,szTmp);
::SetWindowText(::GetDlgItem(m_hWnd,ATTD_HEIGHT),szTmp);
}
break;
case 41:
sds_rtos(pRb->resval.rreal,-1,-1,szTmp);
::SetWindowText(::GetDlgItem(m_hWnd,ATTD_SCALE),szTmp);
break;
case 50:
sds_angtos(pRb->resval.rreal,-1,-1,szTmp);
::SetWindowText(::GetDlgItem(m_hWnd,ATTD_OBLIQUE),szTmp);
break;
case 71:
if(pRb->resval.rint & IC_TEXT_GEN_BACKWARD) {
::SendMessage(::GetDlgItem(m_hWnd,ATTD_BACKWARD),BM_SETCHECK,BST_CHECKED,0);
}else{
::SendMessage(::GetDlgItem(m_hWnd,ATTD_BACKWARD),BM_SETCHECK,BST_UNCHECKED,0);
}
if(pRb->resval.rint & IC_TEXT_GEN_UPSIDEDOWN) {
::SendMessage(::GetDlgItem(m_hWnd,ATTD_UPSIDEDOWN),BM_SETCHECK,BST_CHECKED,0);
}else{
::SendMessage(::GetDlgItem(m_hWnd,ATTD_UPSIDEDOWN),BM_SETCHECK,BST_UNCHECKED,0);
}
break;
}
}
IC_RELRB(pRbb);
UpdateData(true);
}
void ent_ATTDEF_TAB::DoDataExchange(CDataExchange *pDX) {
int index,iLen,start,end,i;
for(start=0;(ent_DlgItems[start].EntTyp!=DB_ATTDEF) && (start<ent_num_of_vars);start++);
start+=5; //Skip the layer,linetype,linetypescale,thickness and color
for(end=start;(ent_DlgItems[end+1].EntTyp==DB_ATTDEF) && (end<ent_num_of_vars);end++);
for(i=start;i<=end;i++){
switch(ent_DlgItems[i].ResType){
case RTREAL:
case RT3DPOINT:
if(!pDX->m_bSaveAndValidate){ //Moving data to the dialog
csTmp=ent_DlgItems[i].DspValue;
DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
} else { //Retrieving data from the dialog
DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
DDV_MaxChars(pDX,csTmp,511);
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 { //Retrieving data from the dialog
DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
DDV_MaxChars(pDX,csTmp,511);
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 RTSHORT:
case RTSTR:
if(!pDX->m_bSaveAndValidate){ //Moving data to the dialog
if(ent_DlgItems[i].ID==ATTD_STYLE) {
index=::SendMessage(::GetDlgItem(m_hWnd,ATTD_STYLE),CB_FINDSTRINGEXACT,(WPARAM)-1,(LPARAM)ent_DlgItems[i].DspValue);
DDX_CBIndex(pDX,ATTD_STYLE,index);
}else{
csTmp=ent_DlgItems[i].DspValue;
DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
}
} else { //Retrieving data from the dialog
if(ent_DlgItems[i].ID==ATTD_STYLE) {
DDX_CBIndex(pDX,ATTD_STYLE,index);
iLen=::SendMessage(::GetDlgItem(m_hWnd,ATTD_STYLE),CB_GETLBTEXTLEN,(WPARAM)index,0);
ent_DlgItems[i].DspValue=(char *)realloc(ent_DlgItems[i].DspValue,iLen+1);
::SendMessage(::GetDlgItem(m_hWnd,ATTD_STYLE),CB_GETLBTEXT,(WPARAM)index,(LPARAM)ent_DlgItems[i].DspValue);
}else{
DDX_Text(pDX,ent_DlgItems[i].ID,csTmp);
DDV_MaxChars(pDX,csTmp,511);
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 { //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;
case ENT_JUSTI:
if(!pDX->m_bSaveAndValidate){ //Moving data to the dialog
if(ent_DlgItems[i].DXFCode==72) {
iJust72=ent_DlgItems[i].CheckBit;
}else if(ent_DlgItems[i].DXFCode==74) {
iJust74=ent_DlgItems[i].CheckBit;
ent_SetSel();
DDX_CBIndex(pDX,ATTD_JUSTIFY,iTxtCurSel);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -