代码之家  ›  专栏  ›  技术社区  ›  Ken Paul

鞋子问题:剪贴板和滚动条

  •  2
  • Ken Paul  · 技术社区  · 17 年前

    下面的代码(至少)有两个问题: Copy 按钮不会更新剪贴板,并且 edit_box 当垂直滚动条应该显示时,不显示垂直滚动条。

    Shoes.app (:title => "Test", :width => 1000, :height => 600) do
      background "#DFA"
      stack :margin => 30 do
        flow do
          button "Paste" do
            @sql.text = clipboard
          end
          button "Copy", :margin_left => 15 do
            clipboard = @sql.text
            alert(@sql.text.length.to_s + " characters copied to clipboard.")
          end
        end
        stack :margin_top => 10, :width => "100%", :height => 500, :scroll => true do
          @sql = edit_box :width => "100%", :height => "100%"
        end
      end
    end
    

    这个 Paste . 如果进行了更改,请单击 这个 alert 消息显示正确的字符数。如果你点击 粘贴

    此外,如果生成的线超过了适合的长度 编辑框 ,无论是编辑还是粘贴,都不会显示滚动条。

    在这两个问题上的任何帮助都将不胜感激。如果有帮助的话,我的环境是Windows XP。

    clipboard 两者都有 app. self. 在这两种情况下都能正常工作 复制 按钮。

    在深入研究滚动条问题之后,我想我明白了 编辑框 stack flow ),而不是单个元素,如 编辑框 编辑框 堆栈 堆栈 永远不需要滚动条。这让我找到了一个不理想的工作环境,但对我的申请来说是可以接受的。只需更改 编辑框 "10000px" 此时会出现滚动条。不幸的是,不管需要与否,它都存在,但总比没有滚动条好。我确信一些额外的修补可以动态地改变 高度,以便仅在需要时显示滚动条。

    1 回复  |  直到 17 年前
        1
  •  1
  •   Pesto    17 年前

    首先,简单的一点是:将复制按钮中的行更改为 app.clipboard = @sql.text .

    其次,就滚动条而言,这是一个 known issue 在Windows XP上。我没有在github的bug报告中看到它,但是最新版本(r1229)仍然没有滚动条。

    推荐文章