xinxirong 发表于 2015-3-3 10:26:01

创建的CEdit控件怎样设置为最顶端

本帖最后由 xinxirong 于 2015-3-3 10:47 编辑

在cad2008上这段代码创建的MyCedit控件可以立即显示,但在2013 64位上,不能马上 显示,需要用鼠标点一下才能显示,而且绽放一下又不见了。

CView *dwgView=acedGetAcadDwgView();//adsw_acadMainWnd
//创建MyCEdit
if (m_edit==NULL)
{
m_edit=new MyCEdit;
if(!m_edit->Create(WS_CHILDWINDOW | WS_VISIBLE | ES_LEFT | ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN,rect,dwgView,1999))
{
acedAlert(_T("创建MyCEdit出错"));
return RTERROR;
}
//设置字体
HGDIOBJ hgdi=GetStockObject(DEFAULT_GUI_FONT);
LOGFONT logf;
GetObjectA(hgdi,60,&logf);
logf.lfHeight=-18;
CFont *pFont=new CFont;
pFont->CreateFontIndirect(&logf);
m_edit->SetFont(pFont);
}
m_edit->SetWindowText(str);SetWindowLong(m_edit->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(m_edit->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);rect.right=ptOut.x+13*len;
m_edit->MoveWindow(&rect,TRUE);
m_edit->ShowWindow(SW_SHOW);
页: [1]
查看完整版本: 创建的CEdit控件怎样设置为最顶端