2011-12-25 51 views
0


我有一個CWnd類名mywindow的成員
我想添加一個滾動條。
我該怎麼辦呢?MFC將滾動條添加到CWnd成員

我已經嘗試做:

mywindow.EnableScrollBarCtrl(SB_BOTH,TRUE); 

它顯示水平和垂直滾動條,
但我不能按動按鈕或移動滾動條。
我也嘗試的第一個命令後:

mywindow.EnableScrollBar(SB_BOTH,ESB_ENABLE_BOTH); 

,它改變什麼。

有人可以告訴我一個簡單的例子如何添加滾動條到這個成員?

非常感謝,
塔爾

回答

1

啓用滾動條是不夠的。您必須對窗口消息WM_HSCROLLWM_VSCROLL作出反應。使用GetScrollInfo方法獲得滾動條的位置(值),然後根據此位置繪製窗口內容。

+0

我怎麼接受這種按摩?我如何添加我的功能說:ON_WM_HSCROLL()和ON_WM_VSCROLL(),將在按摩通話時調用。 thx爲您的幫助 – Tal 2012-01-01 07:40:34

+0

如果您不知道如何捕捉窗口消息,您將很難!無論如何,我認爲這是一個很好的起點:http://msdn.microsoft.com/de-de/library/0x0cx6b1.aspx – dwo 2012-01-01 13:44:20

0

必須有一些「溢出」之前滾動條變得活躍起來。

在視圖中寫入一些「足夠長」的數據,並且滾動條將變爲活動狀態(至少,這是我以前的經歷)。

通常滾動條可以從MFC組件(如文本編輯器或表單視圖)自動處理。即在需要的時候也會變得可見而且沒有明確的調用EnableScrollBarCtrl ...

+0

當我加載到這個窗口的圖像,窗口越大,窗口變得越大,它不會自動顯示滾動條。 所以我需要了解如何做到這一點。 – Tal 2011-12-26 08:14:19