2016-05-03 14 views
0

當我用鼠標的滾動輪滾動時,輪的一圈(滾動的最小步驟)在遊樂場中滾動文本約7-8行。這太多了;我希望滾動更連續。我該如何改變它?Pharo:如何更改Playground中每個滾動的行數?

+2

可能不是你想聽到的,但是你不需要在Smalltalk中進行多少滾動,因此對於大多數SmallTelkers來說這可能不是什麼大問題。把你的代碼放在方法而不是工作空間中,保持方法簡短和甜美,並且滾動成爲一個非問題... –

+0

在我只是試圖完成一個目標的情況下,將所有代碼放在小方法中真的很方便例如從社交網絡API獲取數據並使用這些數據回答特定問題),並且不打算重用任何中間代碼?把所有這些代碼放在一個地方(一個可滾動的頁面)似乎有幾個優點: 1)你可以在你的所有代碼中使用一組變量(而在方法中你必須在你的頭腦中維護參數名稱之間的對應關係當從外部發送消息時,作爲參數傳遞的方法和變量) –

+0

2)您可以按時間順序查看所有代碼,並且可以快速查看每段代碼的確切含​​義,同時知道其空間位置(排序在你面前的一個大的詳細地圖) - 雖然方法是按字母順序排列的,分散在瀏覽器中的各個類中,而當你想看看這種或那種方法究竟做什麼時,你必須不間斷地在點之間傳送,這對於保持空間中的定向更加困難(例如,當你通過地下列車在城市中的地點之間移動而沒有城市地圖時 - –

回答

2

這無非是一個黑客,而不是正確的方式做,但我學到了什麼是這樣的:

vSetScrollDelta 
    |pd| 
    pd := self vPageDelta. 
    self vScrollbar 
    scrollDelta: pd/50 "<- added/50" 
    pageDelta: pd; 
    interval: self vScrollbarInterval; 
    setValue: self vScrollbarValue 

編輯

我一直在想,這如果我告訴我如何找到上述方法,答案會更有用。這是很容易,而我花了一些幾分鐘(即使我不是一個菲羅用戶)

  1. 要開始我寫下的字scroll。這是一個明顯的選擇,因爲問題是關於滾動,對吧?

  2. 然後右鍵單擊以獲得菜單:

enter image description here

  • selectors containing it命令把我帶到這個名單
  • enter image description here

    1. 在該列表中,類GeneralScrollPane出現了很多次,所以我瀏覽了它。在那裏我找到了方法vScrollbarInterval,看起來很有希望。再次右鍵單擊以獲取其發件人,並彈出vSetScrollDelta,所以我試了一下。
    相關問題