簡體   English   中英

如何在Smalltalk中創建一個窗口

[英]How to create a window in smalltalk

我試圖顯示一個窗口,但我不斷收到一條消息,消息無法理解。 片段:

Window new
  label: 'Hello';
  open

您可以使用此:

ScheduledWindow new
    label: 'Hello';
    open

或打開更大:

ScheduledWindow new
    label: 'Hello';
    openIn: (20@20 extent: 300@300)

但是,我懷疑這不是您真正想要做的,因為使用這種方式構建的窗口很難使用。 您能否進一步說明您想做什么?

好的,對於這樣的游戲,您想要使用自定義控件。 首先,為游戲創建View的子類,然后重寫displayOn:方法以顯示視圖。 您可以使用ViewHolder將視圖添加到UIPainter畫布。 將View:屬性設置為返回您的自定義視圖的方法的名稱。

要攔截鼠標單擊,您需要為視圖使用自定義控制器。 您將繼承Controller或其子類之一以創建Controller。 視圖中稱為defaultControllerClass的方法返回控制器類的名稱。 在控制器中,您可以攔截鼠標事件。

我建議您加載一個示例游戲以入門。 打開包裹管理器,然后從列表中選擇玩具。 您應該在那里看到SpiderSolitaire。 這是為VisualWorks編寫的游戲,它顯示一個自定義視圖,在該視圖上做一些簡單的動畫,並攔截鼠標事件。 那應該是一個很好的例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM