2013-03-27 52 views
1

鑑於從QMainWindow的繼承一個窗口單獨-接壤,如何讓它單獨-鑲上在Windows?
我檢索其窗口句柄的想法,但我不知道該怎麼做。無論如何,如果有方法天然Qt的一個(的組合),將理解的。
在此先感謝。
編輯:
我已經試過代碼QT做一個窗口在Windows

HWND hWnd = (HWND)this->winId(); // the handle 
unsigned old_styles = WS_OVERLAPPEDWINDOW & (~WS_THICKFRAME) | WS_VISIBLE; 
SetWindowLongPtr(hWnd, GCL_STYLE, old_styles); 
SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE 
| SWP_NOZORDER | SWP_FRAMECHANGED); 
UpdateWindow(hWnd); 

,它不會盡管窗口句柄的工作是正確的。

+0

什麼是「單-接壤」呢? – cmannett85 2013-03-27 14:14:32

回答

1

設置一個Qt :: WA_NativeWindow每個屬性窗口小部件要訪問或調用將返回你的手柄的QWidget的:: winId()方法(和在這之前創建它)。

HWND hWidget = (HWND)pWidget->winId(); 

得到句柄,你可以改變/設置任何標誌到這個窗口,不是嗎? 至於我記得,WS_BORDER標誌是一個負責的:

WS_BORDER 0x00800000L The window has a thin-line border. 
+0

winId()是真的很有幫助。謝謝。 – alexdelphi 2013-03-27 14:28:47