qt空间句柄的父子关系

来源:互联网 发布:JavaScript 下拉 move 编辑:程序博客网 时间:2024/04/29 03:18

编程过程中,不可避免要操作外部窗口,MFC中操作窗口用的都是CWND::fromHandle();

qt中操作外部窗口与CWND对应的是QWindow类。

    HWND hwndLogin=FindWindow(NULL,L"登录");
    QWidget* widgetLogin=QWidget::find((WId)hwndLogin);
    QWindow* windowLogin=QWindow::fromWinId((WId)hwndLogin);
    windowLogin->showFullScreen();

用上面的语句即可将相应句柄对应的窗口最大化显示。当然有不足的地方,比如调用title显示不了窗口的标题的,调用show方法,有时候不能把窗口提到顶层,取决于窗口状态,如果窗口是最小化的,show会将窗口提到最前面,否则没有变化的。。。。我还一度以为方法不好使。。。还是有坑啊。

另外,如果单纯想实现某些窗口的最大化、最小化、放在最前面,可以用API函数,原生态的,既快捷又安全。

    ::SetForegroundWindow(hwndSilver);

可以将窗口提到最上面。

原创粉丝点击