2011-02-22 18 views
0

在Win32 API中有一種方法將垂直滾動條的位置設置到窗口的左邊界(也許是本地的)。一種將win32窗口滾動條設置在左側的方法?

我已經看過WS定義,並且只有WS_EX_LEFTSCROLLBAR,但它的右對左文本。

預先感謝您。

+0

您確定WS_EX_LEFTSCROLLBAR不起作用嗎?文檔說它應該「在該客戶區的左側放置一個垂直滾動條。」 – 2011-02-22 20:18:01

+0

是的,我發現我只適用於阿拉伯文本,如果文本不是阿拉伯,那麼它忽略它。 – ilcredo 2011-02-22 20:18:51

回答

1

有趣。看起來文檔根據你看的地方而不同。如果您查看「擴展窗口樣式」,它會顯示:

WS_EX_LEFTSCROLLBAR將垂直滾動條放置在客戶端區域的左側。

但如果你看看CreateWindowEx下,它說:

WS_EX_LEFTSCROLLBAR 如果shell語言是希伯來語,阿拉伯語,或支持的閱讀順序排列另一種語言,垂直滾動條(如果存在)位於客戶區的左側。對於其他語言,該樣式將被忽略。

所以我不知道官方的答案是什麼。我在我的機器上試過(Windows 7 Professional),滾動條出現在左側。

CreateWindowEx(WS_EX_LEFTSCROLLBAR, 
       (LPCTSTR)classAtom, 
       _T("Test Window"), 
       WS_VISIBLE | WS_VSCROLL | WS_OVERLAPPEDWINDOW, 
       CW_USEDEFAULT, 
       CW_USEDEFAULT, 
       CW_USEDEFAULT, 
       CW_USEDEFAULT, 
       NULL, 
       NULL, 
       hInstance, 
       NULL);