回复:如何将子窗口提到最前端?

Sense

  • 帖子

    61
  • 精华

    0
  • 被关注

    2

论坛等级:游民

注册时间:2006-06-23

普通 普通 如何晋级?

发布于 2007-12-28 15:54:30

0楼

谢谢班长,我觉得趋势控件的窗口句柄就是它属性里的Object Name,比如我有个叫“Water_Level”。但我用SetForegroundWindow("Water_Level")不能把这个子窗口提到最前;用您说的FindWindow(NULL,"Water_Level")得到的句柄为空,查MSDN得知对于子窗口要用FindWindowEx(),试了还是不行,这个API要用到主窗口的类,用GetClassName居然得到的为空,我就蒙了!
程序如下:
#pragma code("user32.dll")
HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow);
BOOL SetForegroundWindow(HWND hWnd);
int GetClassName(HWND hWnd,LPTSTR lpClassName,int nMaxCount);
#pragma code()
HWND hwnd;
char *clsname;
SetVisible("Trend.Pdl","Water_Level",1);//显示子窗口
GetClassName(("Trend.Pdl",clsname,255);查询主窗口的类
hwnd=FindWindowEx("Trend.Pdl",NULL,clsname,"Water_Level");
SetForegroundWindow(hwnd);
运行发现clsname为空,SetForegroundWindow返回0,说明没成功。
直接SetForegroundWindow("Water_Level")也不成功。

服你了……
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32566条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。