CRect rect;
GetDlgItem(IDC_AreaTree)->GetClientRect(&rect);
ClientToScreen(&rect);
CRect rect1;
GetClientRect(&rect1);
::SetWindowPos(GetDlgItem(IDC_AreaTree)->m_hWnd,HWND_TOPMOST,rect.right,
rect.bottom,rect1.right-rect1.left,
rect1.bottom-rect1.top,NULL);
GetDlgItem(IDC_AreaTree)->ShowWindow(SW_SHOW);
rect.bottom,rect1.right-rect1.left,
rect1.bottom-rect1.top,SWP_FRAMECHANGED);
rect.bottom,rect1.right-rect1.left,
rect1.bottom-rect1.top,SWP_SHOWWINDOW);
GetDlgItem(IDC_AreaTree)->GetClientRect(&rect);
ClientToScreen(&rect);
CRect rect1;
GetClientRect(&rect1);
::SetWindowPos(GetDlgItem(IDC_AreaTree)->m_hWnd,HWND_TOPMOST,rect.right,
rect.bottom,rect1.right-rect1.left,
rect1.bottom-rect1.top,SWP_SHOWWINDOW);GetDlgItem(IDC_AreaTree)->ShowWindow(SW_SHOW);
GetDlgItem(编辑框控件ID)->GetClientRect(&rect);
GetDlgItem(编辑框控件ID)->ClientToScreen(&rect);
ScreenToClient(&rect);
::SetWindowPos(GetDlgItem(IDC_AreaTree)->m_hWnd,HWND_TOPMOST,rect.left, rect.bottom,0,0,SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOZORDER);
移动到的坐标是(rect.left, rect.bottom)这个不刚好是Edit的左下角么?
参数SWP_NOSIZE根本不会改变tree的大小阿。
你真的试过么?
类型:[_______]
名称:[_______]
单位:[_______]
在类型的下边显示那个类型tree,结果点击tree时,点空白处时光标却跟到了名称CEdit里去了
名称:[_______]//这个框框大小的区域出来.就你点像,在这个Tree之上了一样
任选其一:
1、打开对话框资源的对话框界面,Ctrl+D,先选中tree,使得其编号为1,保留SWP_NOZORDER参数。
2、编辑.rc文件,把tree控件提到最前面去,保留SWP_NOZORDER参数。
3、::SetWindowPos(GetDlgItem(IDC_AreaTree)->m_hWnd,NULL,rect.left, rect.bottom,0,0,SWP_SHOWWINDOW|SWP_NOSIZE);去掉SWP_NOZORDER参数,前面第二个参数为NULL。
=================================================
CRect rect;
GetDlgItem(IDC_Area)->GetClientRect(&rect);
GetDlgItem(IDC_Area)->ClientToScreen(&rect);
ScreenToClient(&rect);
::SetWindowPos(GetDlgItem(IDC_AreaTree)->m_hWnd,NULL,rect.left,rect.bottom,0,0,SWP_SHOWWINDOW|SWP_NOSIZE);
==========================================
void CConsumerAdd::OnPaint()
{
CPaintDC dc(this);
GetDlgItem(IDC_AreaTree)->Invalidate();
===================================================
如果是这样的话?
前面我说的照做,然后在Edit的点击函数SetWindowPos之后,再加上GetDlgItem(IDC_AreaTree)->Invalidate();试一下?
GetDlgItem(IDC_Area)->GetClientRect(&rect);
GetDlgItem(IDC_Area)->ClientToScreen(&rect);
ScreenToClient(&rect);
GetDlgItem(IDC_AreaTree)->Invalidate();
::SetWindowPos(GetDlgItem(IDC_AreaTree)->m_hWnd,NULL,rect.left,rect.bottom,0,0,SWP_SHOWWINDOW|SWP_NOSIZE);
============================
在一个单击按钮函数当中的
====================================
Ctrl+D 设置那个Tree 为1 现在是这样一个情况那些CEdit好像遮住了Tree某些区域
GetDlgItem(IDC_AreaTree)->Invalidate();加错位置了,,谢谢w_anthony() ...唉,就是不认识你,如果认得到,今天晚上一定请你K饭....这个问题已经是捆饶了近一个月,今天最终在w_anthony() 帮助下解决了.再新严重感谢!!