类似资源管理器的树型菜单中,当点中一个节点修改它的值时,输入数据,随着输入数据的多少,则编程框的长度自动增长,这是怎么实现的?
解决方案 »
- 初始化问题
- 一个弱智的串口问题
- return (void**)((BYTE*)p + m_nNextOffset); 问题
- 如何在一个对话框中使用另一个对话框中的变量?
- 我操作系统重装后数据库就连不上了,怎么回事啊?
- [新手]一个简单问题:怎样在图片上写字?
- 怎样把项目release?我是新手,请详解!
- 如何编程向EXCEL中写入数据?代码越详细越好,分不够可以再加。
- 怎样取得菜单窗口的 hwnd?
- vs 中mfc的入口是什么?
- ?哪位知道WlxGetStatusMessage(PVOID pWlxContext,DWORD *pdwOptions,PWSTR pMessage,DWORD dwBufferSize)
- 有没有那位给点关于VC中各种坐标的单位的文章或资源。(在先等待)
得到CEdit的DC,假设是CDC *pDC,用pDC->GetTextExtent()得到Edit中字符的长度,再加上一点固定的附加值作为长度,用SetWindowPos()或MoveWindow()来重新设置Edit的大小即可
这是我自定义的一个编辑框。应该在哪个事件里写呢?我有一个
BOOL CMyTreeCtrl::PreTranslateMessage(MSG* pMsg) 在这里写行吗?
CString Text; GetWindowText (Text);
CWindowDC DC (this);
CFont *pFont = GetParent()->GetFont();
CFont *pFontDC = DC.SelectObject (pFont);
CSize Size = DC.GetTextExtent (Text);
Size.cx += 5; // add some extra buffer // Get client rect
CRect Rect, ParentRect;
GetClientRect (&Rect);
GetParent()->GetClientRect (&ParentRect); // Transform rect to parent coordinates
ClientToScreen (&Rect);
GetParent()->ScreenToClient (&Rect); // Check whether control needs to be resized and whether there is space to grow
if (Size.cx > Rect.Width())
{
if (Size.cx + Rect.left < ParentRect.right )
Rect.right = Rect.left + Size.cx;
else
Rect.right = ParentRect.right;
MoveWindow (&Rect);
}