www.pudn.com > 1.rar > i2elec.cpp
#include "stdafx.h" #include "resource.h" #include "iaspwb.h" #define INITGUID #include//electronic set ID // {2AF2B6EA-DBC4-4662-B04A-7F4DB1AD95B2} DEFINE_GUID(CSID_Elec, 0x2af2b6ea, 0xdbc4, 0x4662, 0xb0, 0x4a, 0x7f, 0x4d, 0xb1, 0xad, 0x95, 0xb2); INT g_direction; CI2WBElec::CI2WBElec(INT cid,VOID* pwb) { m_cid=cid; m_csid=CSID_Elec; m_state=0; m_wb=(CI2WBBaseWB *)pwb; //m_wb->get_LineWidth(&cinfo.m_linewidth); cinfo.m_linewidth=1; //m_wb->get_LineStyle(&cinfo.m_linestyle); cinfo.m_linestyle=0; m_wb->get_Color(&cinfo.m_color); m_wb->get_BKColor(&cinfo.m_bkcolor); m_wb->get_Font(&cinfo.m_font,WB_FONT_ALL); m_property=0; switch(cid) { case 0: m_type=dtBattery; break; case 1: m_type=dtLamp; break; case 2: m_type=dtRes; break; case 3: m_type=dtKey; break; case 4: m_type=dtCap; break; case 5: m_type=dtInd; break; } m_name[0]='\0'; m_grpname[0]='\0'; m_direction=0; } CI2WBElec::~CI2WBElec() { } void CI2WBElec::OnLButtonDown(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend) { } BOOL CI2WBElec::OnLButtonUp(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend) { HDC hdc=GetDC(hwnd); switch(m_type) { case dtBattery: paintBattery(hdc,x,y-10); SetRect(&cinfo.m_rect,x,y-10,x+20,y+20-10); *fend=1; break; case dtLamp: paintLamp(hdc,x,y-10); SetRect(&cinfo.m_rect,x,y-10,x+30,y+20-10); *fend=1; break; case dtRes: paintRes(hdc,x,y-10); SetRect(&cinfo.m_rect,x,y-10,x+30,y+20-10); *fend=1; break; case dtKey: paintKey(hdc,x,y-10); SetRect(&cinfo.m_rect,x,y-10,x+30,y+20-10); *fend=1; break; case dtCap: paintCap(hdc,x,y-10); SetRect(&cinfo.m_rect,x,y-10,x+20,y+20-10); *fend=1; break; case dtInd: paintInd(hdc,x,y-10); SetRect(&cinfo.m_rect,x,y-10,x+30,y+20-10); *fend=1; break; default: throw new I2BaseException(I2E_NOTSUPPORT); break; } ReleaseDC(hwnd,hdc); return 0; } void CI2WBElec::OnMouseMove(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend) { } void CI2WBElec::OnRButtonDown(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend) { } void CI2WBElec::OnRButtonUp(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd,INT* fend) { } BOOL CI2WBElec::OnLButtonDBLCLK(DWORD fwKeys,SHORT x,SHORT y,HWND hwnd) { m_wb->m_dlgexist=1; CElecProp* dlg; I2Rect r1,r2; _g_i2hresinst=GetModuleHandle("iaspwb.dll"); g_direction=m_direction; dlg=new CElecProp(this); m_wb->m_propdlg=dlg; dlg->showModal(IDD_ELEC_PROP,hwnd); if(dlg->m_pressok==1) { getControlRect(r1); m_direction=g_direction; switch(m_type) { case dtBattery: case dtCap: break; case dtLamp: case dtRes: case dtKey: case dtInd: switch(m_direction) { case 0: case 2: SetRect(&cinfo.m_rect,cinfo.m_rect.left,cinfo.m_rect.top, cinfo.m_rect.left+30,cinfo.m_rect.top+20); break; case 1: case 3: SetRect(&cinfo.m_rect,cinfo.m_rect.left,cinfo.m_rect.top, cinfo.m_rect.left+20,cinfo.m_rect.top+30); break; } } getControlRect(r2); InvalidateRect(hwnd,&r1,TRUE); InvalidateRect(hwnd,&r2,TRUE); m_wb->m_dlgexist=0; m_wb->m_propdlg=NULL; delete dlg; return 0; } delete dlg; return -1; } VOID CI2WBElec::moveTo(INT xoffset,INT yoffset) { cinfo.m_rect.left+=xoffset; cinfo.m_rect.top+=yoffset; cinfo.m_rect.right+=xoffset; cinfo.m_rect.bottom+=yoffset; } VOID CI2WBElec::OnInplaceEditorNeedText(LPWB32FONT pfont,LPSTR* ptext) { } VOID CI2WBElec::OnInplaceEditorReturnText(POINT pos,LPSTR text) { } BOOL CI2WBElec::OnDragFile(LPSTR filename,POINT p,CHAR* ptr,HWND hwnd) { return TRUE; } VOID CI2WBElec::OnChangeData(RECT& rect) { } VOID CI2WBElec::set_Font(WB32FONT* pfont,INT mask) { } VOID CI2WBElec::getControlRect(I2Rect& Value) { Value=cinfo.m_rect; } VOID CI2WBElec::paintControl(HDC hdc) { switch(m_type) { case dtBattery: paintBattery(hdc,cinfo.m_rect.left,cinfo.m_rect.top); break; case dtLamp: paintLamp(hdc,cinfo.m_rect.left,cinfo.m_rect.top); break; case dtRes: paintRes(hdc,cinfo.m_rect.left,cinfo.m_rect.top); break; case dtKey: paintKey(hdc,cinfo.m_rect.left,cinfo.m_rect.top); break; case dtCap: paintCap(hdc,cinfo.m_rect.left,cinfo.m_rect.top); break; case dtInd: paintInd(hdc,cinfo.m_rect.left,cinfo.m_rect.top); break; default: throw new I2BaseException(I2E_NOTSUPPORT); break; } } VOID CI2WBElec::writeToStream(I2MemoryFileStream *stm,BOOL fdata) { WB32CONTROLDATA wcd; wcd.cid=m_cid; wcd.csid=m_csid; wcd.len=sizeof(WB32CONTROLATTRIB)+sizeof(INT); lstrcpy(wcd.idname,m_name); lstrcpy(wcd.idgrpname,m_grpname); getControlRect(wcd.rect); stm->writeFile((CHAR*)&wcd,sizeof(WB32CONTROLDATA)); if(fdata) { stm->writeFile((CHAR*)&cinfo,sizeof(WB32CONTROLATTRIB)); stm->writeFile((CHAR*)&m_direction,sizeof(INT)); }//end if(fdata) } VOID CI2WBElec::readFromStream(I2MemoryFileStream *stm,INT len,const I2Rect& r) { if(len) { stm->readFile((CHAR*)&cinfo,sizeof(WB32CONTROLATTRIB)); stm->readFile((CHAR*)&m_direction,sizeof(INT)); } } VOID CI2WBElec::OnAttribChange(INT type,INT mask,BOOL flocal) { if(flocal) { if(type == WBAT_COLOR) m_wb->get_Color(&cinfo.m_color); if(type == WBAT_BKCOLOR) m_wb->get_BKColor(&cinfo.m_bkcolor); if(type == WBAT_FONT) m_wb->get_Font(&cinfo.m_font,mask); } } VOID CI2WBElec::paintBattery(HDC hdc,INT cx,INT cy) { HPEN holdpen,hpen; hpen=CreatePen(0,1,cinfo.m_color); holdpen=(HPEN)SelectObject(hdc,hpen); SHORT x,y; switch(m_direction) { case 0: x=cx+8; y=cy+5; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+8,cy+15); x=cx+12; y=cy+2; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+12,cy+18); x=cx+0; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+8,cy+10); x=cx+12; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+20,cy+10); break; case 1: x=cx+5; y=cy+8; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+15,cy+8); x=cx+2; y=cy+12; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+18,cy+12); x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+8); x=cx+10; y=cy+12; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+20); break; case 2: x=cx+8; y=cy+2; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+8,cy+18); x=cx+12; y=cy+5; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+12,cy+15); x=cx+0; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+8,cy+10); x=cx+12; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+20,cy+10); break; case 3: x=cx+5; y=cy+12; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+15,cy+12); x=cx+2; y=cy+8; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+18,cy+8); x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+8); x=cx+10; y=cy+12; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+20); break; } SelectObject(hdc,holdpen); DeleteObject(hpen); } VOID CI2WBElec::paintLamp(HDC hdc,INT cx,INT cy) { HPEN holdpen,hpen; hpen=CreatePen(0,1,cinfo.m_color); holdpen=(HPEN)SelectObject(hdc,hpen); SHORT x,y; switch(m_direction) { case 0: case 2: Arc(hdc, cx+7,cy+2,cx+23,cy+18,cx+7,8,cx+7,8); x=cx+11; y=cy+6; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+20,cy+15); x=cx+11; y=cy+14; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+20,cy+5); x=cx+0; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+7,cy+10); x=cx+23; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+30,cy+10); break; case 1: case 3: Arc(hdc, cx+2,cy+7,cx+18,cy+23,cx+2,8,cx+2,8); x=cx+6; y=cy+11; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+15,cy+20); x=cx+14; y=cy+11; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+5,cy+20); x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+7); x=cx+10; y=cy+23; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+30); break; } SelectObject(hdc,holdpen); DeleteObject(hpen); } VOID CI2WBElec::paintRes(HDC hdc,INT cx,INT cy) { HPEN holdpen,hpen; hpen=CreatePen(0,1,cinfo.m_color); holdpen=(HPEN)SelectObject(hdc,hpen); SHORT x,y; switch(m_direction) { case 0: case 2: Rectangle(hdc, cx+6,cy+7,cx+24,cy+14); x=cx+0; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+6,cy+10); x=cx+24; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+30,cy+10); break; case 1: case 3: Rectangle(hdc, cx+7,cy+6,cx+14,cy+24); x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+6); x=cx+10; y=cy+24; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+30); break; } SelectObject(hdc,holdpen); DeleteObject(hpen); } VOID CI2WBElec::paintKey(HDC hdc,INT cx,INT cy) { HPEN holdpen,hpen; hpen=CreatePen(0,1,cinfo.m_color); holdpen=(HPEN)SelectObject(hdc,hpen); SHORT x,y; switch(m_direction) { case 0: case 2: Arc(hdc, cx+6,cy+8,cx+10,cy+12,cx+6,2,cx+6,2); Arc(hdc, cx+20,cy+8,cx+24,cy+12,cx+20,2,cx+20,2); x=cx+0; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+6,cy+10); x=cx+24; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+30,cy+10); x=cx+8; y=cy+8; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+15,cy+1); break; case 1: Arc(hdc, cx+8,cy+6,cx+12,cy+10,cx+8,2,cx+8,2); Arc(hdc, cx+8,cy+20,cx+12,cy+24,cx+8,2,cx+8,2); x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+6); x=cx+10; y=cy+24; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+30); x=cx+12; y=cy+8; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+19,cy+15); break; case 3: Arc(hdc, cx+8,cy+6,cx+12,cy+10,cx+8,2,cx+8,2); Arc(hdc, cx+8,cy+20,cx+12,cy+24,cx+8,2,cx+8,2); x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+6); x=cx+10; y=cy+24; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+30); x=cx+8; y=cy+18; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+1,cy+11); break; } SelectObject(hdc,holdpen); DeleteObject(hpen); } VOID CI2WBElec::paintCap(HDC hdc,INT cx,INT cy) { HPEN holdpen,hpen; hpen=CreatePen(0,1,cinfo.m_color); holdpen=(HPEN)SelectObject(hdc,hpen); SHORT x,y; switch(m_direction) { case 0: case 2: x=cx+8; y=cy+2; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+8,cy+18); x=cx+12; y=cy+2; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+12,cy+18); x=cx+0; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+8,cy+10); x=cx+12; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+20,cy+10); break; case 1: case 3: x=cx+2; y=cy+8; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+18,cy+8); x=cx+2; y=cy+12; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+18,cy+12); x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+8); x=cx+10; y=cy+12; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+20); break; } SelectObject(hdc,holdpen); DeleteObject(hpen); } VOID CI2WBElec::paintInd(HDC hdc,INT cx,INT cy) { HPEN holdpen,hpen; hpen=CreatePen(0,1,cinfo.m_color); holdpen=(HPEN)SelectObject(hdc,hpen); SHORT x,y; switch(m_direction) { case 0: case 2: x=cx+0; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+5,cy+10); Arc(hdc, cx+5,cy+5,cx+15,cy+15,cx+15,cy+10,cx+5,cy+11); Arc(hdc, cx+10,cy+5,cx+20,cy+15,cx+20,cy+10,cx+10,cy+11); Arc(hdc, cx+15,cy+5,cx+25,cy+15,cx+25,cy+10,cx+15,cy+11); x=cx+25; y=cy+10; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+30,cy+10); break; case 1: x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+5); Arc(hdc, cx+5,cy+5,cx+15,cy+15,cx+10,cy+15,cx+10,cy+5); Arc(hdc, cx+5,cy+10,cx+15,cy+20,cx+10,cy+20,cx+10,cy+10); Arc(hdc, cx+5,cy+15,cx+15,cy+25,cx+10,cy+25,cx+10,cy+15); x=cx+10; y=cy+25; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+30); break; case 3: x=cx+10; y=cy+0; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+5); Arc(hdc, cx+5,cy+5,cx+15,cy+15,cx+10,cy+5,cx+11,cy+15); Arc(hdc, cx+5,cy+10,cx+15,cy+20,cx+10,cy+10,cx+11,cy+20); Arc(hdc, cx+5,cy+15,cx+15,cy+25,cx+10,cy+15,cx+11,cy+25); x=cx+10; y=cy+25; MoveToEx(hdc,x,y,NULL); LineTo(hdc,cx+10,cy+30); break; } SelectObject(hdc,holdpen); DeleteObject(hpen); } //CI2WBCurveSet extern HINSTANCE g_hinstance; CI2WBElecSet::CI2WBElecSet() { } CI2WBElecSet::~CI2WBElecSet() { } VOID CI2WBElecSet::enumControlInfo(I2List & m_infolist) { if(!g_hinstance) g_hinstance=GetModuleHandle("iaspwb.dll"); WB32CONTROLINFO wbci; wbci.cid=0; wbci.hicon=LoadIcon(g_hinstance,MAKEINTRESOURCE(IDI_C_BATTERY)); wbci.hcursor=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_PEN)); LoadString(g_hinstance,IDS_NAME_PEN,wbci.name,MAX_CONTROLNAME); LoadString(g_hinstance,IDS_DESC_PEN,wbci.description,MAX_CONTROLNAME); wbci.type=0; m_infolist.append(wbci); wbci.cid=1; wbci.hicon=LoadIcon(g_hinstance,MAKEINTRESOURCE(IDI_C_LAMP)); wbci.hcursor=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_LINE)); LoadString(g_hinstance,IDS_NAME_PEN,wbci.name,MAX_CONTROLNAME); LoadString(g_hinstance,IDS_DESC_PEN,wbci.description,MAX_CONTROLNAME); wbci.type=0; m_infolist.append(wbci); wbci.cid=2; wbci.hicon=LoadIcon(g_hinstance,MAKEINTRESOURCE(IDI_C_RES)); wbci.hcursor=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_RECT)); LoadString(g_hinstance,IDS_NAME_PEN,wbci.name,MAX_CONTROLNAME); LoadString(g_hinstance,IDS_DESC_PEN,wbci.description,MAX_CONTROLNAME); wbci.type=0; m_infolist.append(wbci); wbci.cid=3; wbci.hicon=LoadIcon(g_hinstance,MAKEINTRESOURCE(IDI_C_KEY)); wbci.hcursor=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_RECT)); LoadString(g_hinstance,IDS_NAME_PEN,wbci.name,MAX_CONTROLNAME); LoadString(g_hinstance,IDS_DESC_PEN,wbci.description,MAX_CONTROLNAME); wbci.type=0; m_infolist.append(wbci); wbci.cid=4; wbci.hicon=LoadIcon(g_hinstance,MAKEINTRESOURCE(IDI_C_CAP)); wbci.hcursor=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_CIRC)); LoadString(g_hinstance,IDS_NAME_PEN,wbci.name,MAX_CONTROLNAME); LoadString(g_hinstance,IDS_DESC_PEN,wbci.description,MAX_CONTROLNAME); wbci.type=0; m_infolist.append(wbci); wbci.cid=5; wbci.hicon=LoadIcon(g_hinstance,MAKEINTRESOURCE(IDI_C_IND)); wbci.hcursor=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_CIRC)); LoadString(g_hinstance,IDS_NAME_PEN,wbci.name,MAX_CONTROLNAME); LoadString(g_hinstance,IDS_DESC_PEN,wbci.description,MAX_CONTROLNAME); wbci.type=0; m_infolist.append(wbci); m_infopos=0; } VOID CI2WBElecSet::createControl(INT cid,VOID* pwb,VOID** ppawc,HWND hwnd) { if(!pwb||!ppawc) throw new I2BaseException(I2E_INVALIDPARAMETER); *ppawc=(VOID*)new CI2WBElec(cid,pwb); if(!*ppawc) throw new I2BaseException(I2E_OUTOFMEMORY); } VOID CI2WBElecSet::getControlSetID(GUID* Value) { *Value=CSID_Elec; } VOID CI2WBElecSet::getControlCursor(INT cid,HCURSOR* pcur) { *pcur=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_CTRL)); /*switch(cid) { case 0: *pcur=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_PEN)); break; case 1: *pcur=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_LINE)); break; case 2: *pcur=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_RECT)); break; case 3: *pcur=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_PEN)); break; case 4: *pcur=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_LINE)); break; case 5: *pcur=LoadCursor(g_hinstance,MAKEINTRESOURCE(IDC_C_RECT)); break; default: throw new I2BaseException(I2E_INVALIDPARAMETER); break; }*/ } //electric control property dialog void CElecProp::onCommand(const I2Dialog& dlg,WORD wID,WORD wNotifyCode) { if(wID==IDCANCEL) { destroy(); } else if(wID==IDOK) { m_pressok=1; g_direction=itemMessage(IDC_DIERCTION,CB_GETCURSEL,0,0); destroy(); } } CElecProp::CElecProp(CI2WBBaseCtrl* pawc) { m_pawc=pawc; m_pressok=0; } void CElecProp::onInitliaze(const I2Dialog& dlg) { char buf[10],buf1[32]; INT color; itoa(m_pawc->cinfo.m_linestyle,buf,10); itemMessage(IDC_P_LINESTYLE,WM_SETTEXT,0, (LPARAM)buf); itoa(m_pawc->cinfo.m_linewidth,buf,10); itemMessage(IDC_P_LINEWIDTH,WM_SETTEXT,0, (LPARAM)buf); color=GetRValue(m_pawc->cinfo.m_color); itoa(color,buf,10); lstrcpy(buf1,buf); lstrcat(buf1," "); color=GetGValue(m_pawc->cinfo.m_color); itoa(color,buf,10); lstrcat(buf1,buf); lstrcat(buf1," "); color=GetBValue(m_pawc->cinfo.m_color); itoa(color,buf,10); lstrcat(buf1,buf); itemMessage(IDC_P_COLOR,WM_SETTEXT,0, (LPARAM)buf1); color=GetRValue(m_pawc->cinfo.m_bkcolor); itoa(color,buf,10); lstrcpy(buf1,buf); lstrcat(buf1," "); color=GetGValue(m_pawc->cinfo.m_bkcolor); itoa(color,buf,10); lstrcat(buf1,buf); lstrcat(buf1," "); color=GetBValue(m_pawc->cinfo.m_bkcolor); itoa(color,buf,10); lstrcat(buf1,buf); itemMessage(IDC_P_BCOLOR,WM_SETTEXT,0, (LPARAM)buf1); itemMessage(IDC_P_FONT,WM_SETTEXT,0, (LPARAM)m_pawc->cinfo.m_font.name); itoa(m_pawc->cinfo.m_font.size,buf,10); itemMessage(IDC_P_FONTSIZE,WM_SETTEXT,0, (LPARAM)buf); lstrcpy(buf,"0ΆΘ"); itemMessage(IDC_DIERCTION,CB_ADDSTRING,0, (LPARAM)buf); lstrcpy(buf,"90ΆΘ"); itemMessage(IDC_DIERCTION,CB_ADDSTRING,0, (LPARAM)buf); lstrcpy(buf,"180ΆΘ"); itemMessage(IDC_DIERCTION,CB_ADDSTRING,0, (LPARAM)buf); lstrcpy(buf,"270ΆΘ"); itemMessage(IDC_DIERCTION,CB_ADDSTRING,0, (LPARAM)buf); itemMessage(IDC_DIERCTION,CB_SETCURSEL,g_direction, (LPARAM)0); }