怎样改变窗体上控件的Z-order呢? 怎样改变窗体上控件的Z-order呢?我想把一个Picture控件放在所有其他控件的最上层,望指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在窗体设计时按下 Ctrl + D 重新设置顺序即可 我试了几种方法:CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_SHOWWINDOW);CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_SHOWWINDOW);CBut1.BringWindowToTop();好象都不行是不是VC中控件的上下和VB中的概念是不同,还希望大家指教 我想重载OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)函数用pWnd->SetWindowPos()函数应该可以,你可以试一试! BOOL SetWindowPos( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); 试啦,好象没什么用CButton CBut1;CButton CBut2;CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_SHOWWINDOW);CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_SHOWWINDOW);没作用 那就最先创建这一个Picture控件或者最后创建这一个Picture控件试试 OnPaint(){ ... ... GetDlgItem(ID_PICTURE)->RedrawWindow();}试试,也不一定行 获不获得焦点对窗体上控件的Z-order没有影响 why not use the api function SetWindowPos(), it is powerful for this series problems, the detail in the msdn. “获不获得焦点对窗体上控件的Z-order没有影响”可是获得焦点的控件会压住另一个控件啊 CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_SHOWWINDOW);CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_SHOWWINDOW);这种方法,为什么看不出什么效果呢? 试试CButton CBut1;CButton CBut2;CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_NOACTIVATE);CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_NOACTIVATE); 试 了,点Cbut1,盖住CBut2点Cbut2,盖住CBut1主要是不明白CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_SHOWWINDOW);CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_SHOWWINDOW);为什么看不出变化 点Cbut1,盖住CBut2点Cbut2,盖住CBut1那就肯定是代码生效了为什么看不出变化, 是因为你的窗体没有刷新。InvalidateRect(NULL); 其实是有效的,只是改变了之后触发WM_PAINT,Dialog刷新,于是又复原了。 其实只要创建控件的时候在Dialog上面其他的控件创建之后,而且Create的时候指定WS_EX_TOPMOST 风格,就能在最上面显示了 告诉楼主一个秘密:wndTop是处于最下面,而wndBottom是最上面! GetDlgItem(IDC_EDIT1)->SetWindowPos(&wndBottom,100,100,100,100,SWP_SHOWWINDOW); InvalidateRect(NULL); GetDlgItem(IDC_EDIT2)->SetWindowPos(&wndBottom,120,120,100,100,SWP_SHOWWINDOW); InvalidateRect(NULL); 请问MDI主窗体和无模式DIALOG之间怎样互相转换层次?还是有其它方法(两个窗体之间层次转换)。急。请帮忙,不能发帖,只能跟在后面。 我目前也在做控件,楼主创建的按钮的属性要注意,试试只保留visible属性看看 回复人: hellojl() ( ) 信誉:94 2004-08-31 10:26:00 得分: 0 我目前也在做控件,楼主创建的按钮的属性要注意,试试只保留visible属性看看 不太明白,能清楚些吗? 楼主的button是Create出来的吗,如果是,按钮style试着只用WS_VISIBLE看看 使按钮不可用问题 发送下载请求,返回结果:Bad Request (Invalid Hostname) Ado编程,请问如何将内存中的一块数据(如hGlobal)放入一个_variant_t中呢,谢谢 combo box 的问题 VC+SQL的一个问题 有人使用过CSerialPort这个串口通信类吗?交流一下。 MFC DLL中显示对话框的两个问题 怎么在工具栏上添加控件?比如添加一个组合框,一个按钮 如何在VC下实现用符号填充直线的功能 高手来帮忙~!(新春过年来送分) IMessageFilter的问题 困惑中,无法添加消息映射,急
CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_SHOWWINDOW);
CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_SHOWWINDOW);
CBut1.BringWindowToTop();
好象都不行
是不是VC中控件的上下和VB中的概念是不同,
还希望大家指教
用pWnd->SetWindowPos()函数应该可以,
你可以试一试!
HWND hWndInsertAfter,
int X,
int Y,
int cx,
int cy,
UINT uFlags
);
CButton CBut1;
CButton CBut2;
CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_SHOWWINDOW);
CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_SHOWWINDOW);
没作用
{
... ...
GetDlgItem(ID_PICTURE)->RedrawWindow();
}试试,也不一定行
CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_SHOWWINDOW);
这种方法,为什么看不出什么效果呢?
CButton CBut2;
CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_NOACTIVATE);
CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_NOACTIVATE);
点Cbut2,盖住CBut1
主要是不明白
CBut1.SetWindowPos(&wndTop,100,100,100,100,SWP_SHOWWINDOW);
CBut2.SetWindowPos(&wndBottom,150,100,100,100,SWP_SHOWWINDOW);
为什么看不出变化
点Cbut2,盖住CBut1
那就肯定是代码生效了为什么看不出变化, 是因为你的窗体没有刷新。
InvalidateRect(NULL);
wndTop是处于最下面,而wndBottom是最上面!
GetDlgItem(IDC_EDIT1)->SetWindowPos(&wndBottom,100,100,100,100,SWP_SHOWWINDOW);
InvalidateRect(NULL);
GetDlgItem(IDC_EDIT2)->SetWindowPos(&wndBottom,120,120,100,100,SWP_SHOWWINDOW);
InvalidateRect(NULL);
我目前也在做控件,楼主创建的按钮的属性要注意,试试只保留visible属性看看
不太明白,能清楚些吗?