qt空間ハンドルの親子関係
1558 ワード
プログラミングの過程で、外部ウィンドウを操作することは避けられない.MFCの操作ウィンドウはすべてCWND::fromHandle();
qtで動作する外部ウィンドウはCWNDに対応するQWindowクラスである.
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);
ウィンドウを一番上に上げることができます.