如何在不使用變數的情況下從紅色小三角選單中引用大綱框這是腳本索引中的一個修改後的範例:
Names Default To Here( 1 );
ob = Outline Box( "Picker",
{"Copy picture", ob << Copy Picture()},
H List Box( Text Box( "Label:" ), teb = Text Edit Box( Char( 213 ) ) )
);
New Window( "Example",
ob
);
它在紅色小三角選單中新增了一個選單項,該選單項目會將該框的圖片複製到緩衝區。
腳本運行得很好。
我的問題是:如果我動態建立大綱框,並且沒有為其分配變量,該怎麼辦?
如何在沒有變數的情況下引用此大綱框?使用關鍵字“this”或“self”的東西。
第二個盒子上有這樣的東西:
Names Default To Here( 1 );
vb = V List Box(
ob = Outline Box( "Picker",
{"Copy picture", ob << Copy Picture()},
H List Box( Text Box( "Label:" ), teb = Text Edit Box( Char( 213 ) ) )
),
Outline Box( "Picker",
{"Copy picture", this << Copy Picture()},
H List Box( Text Box( "Label number 2:" ), teb = Text Edit Box( Char( 213 ) ) )
);
);
New Window( "Example",
vb
);
關於顯示框數量的設定函數的腳本索引中有很好的範例:
Names Default To Here( 1 );
New Window( "Example",
Button Box( "press me", <<SETFUNCTION></SETFUNCTION>
But in this case we're not setting function, we're setting script, and this syntaxis doesn't work.
So, how do I accomplish this?
<LINGO-LABS id="lingo-labs-825339" slang="en-US" mode="CREATE"><LINGO-LABEL>自動化和腳本編寫</LINGO-LABEL></LINGO-LABS>回覆:如何在不使用變數的情況下從紅色小三角選單中引用大綱框我認為您沒有像大綱框選單腳本那樣的功能,因此您必須使用其他東西。我想到了三個不錯的選擇:
Names Default To Here(1);
context_example = Context Box(
box:ob1 = Outline Box("Picker",
{"Copy picture1", box:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(213))
)
)
);
eval_example = Outline Box("Picker",
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(612))
)
);
Eval(EvalExpr(
eval_example << Set Menu Script(
{"Copy Picture3", Expr(eval_example) << Copy Picture()}
);
));
nw = New Window("Example",
context_example,
window:ob1 = Outline Box("Picker",
{"Copy picture2", window:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(451))
)
),
eval_example
);回覆:如何在不使用變數的情況下從紅色小三角選單中引用大綱框看起來 Eval 和 Context box 方式在我的情況下有效,而 Window - 則不然。
這是我用來檢查的,它模仿動態創建大綱框:
Names Default To Here(1);
vb = V List Box();
context_example = Context Box(
box:ob1 = Outline Box("Context1",
{"Copy picture1", box:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(213))
)
)
);
vb << Append (context_example);
context_example = Context Box(
box:ob1 = Outline Box("Context2",
{"Copy picture1", box:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(213))
)
)
);
vb << Append (context_example);
eval_example = Outline Box("Eval1",
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(612))
)
);
Eval(EvalExpr(
eval_example << Set Menu Script(
{"Copy Picture3", Expr(eval_example) << Copy Picture()}
);
));
vb << Append (eval_example);
eval_example = Outline Box("Eval2",
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(612))
)
);
Eval(EvalExpr(
eval_example << Set Menu Script(
{"Copy Picture3", Expr(eval_example) << Copy Picture()}
);
));
vb << Append (eval_example);
nw = New Window("Example",
window:ob1 = Outline Box("Window1",
{"Copy picture2", window:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(451))
)
),
window:ob1 = Outline Box("Window2",
{"Copy picture2", window:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box(Char(451))
)
),
vb
);對於窗口,在 Window1 和 Window2 的情況下,它都會複製 Window2 框的圖片。
回覆:如何在不使用變數的情況下從紅色小三角選單中引用大綱框您可以在腳本中多次使用一個變數來指派不同的值。最後,變數將包含最後一個值。這適用於
x=5;
x=7;
show(x);
和:ob1 。
此解決方案使用 2 個不同的變數來定義 2 個不同物件的參考:
nw = New Window("Example",
window:ob1 = Outline Box("Window1",
{"Copy picture", window:ob1 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box("#1")
)
),
window:ob2 = Outline Box("Window2",
{"Copy picture", window:ob2 << Copy Picture()},
H List Box(
Text Box("Label:"),
teb = Text Edit Box("#2")
)
)
);
回覆:如何在不使用變數的情況下從紅色小三角選單中引用大綱框您正在覆寫視窗範例中的參考(例如使用 window:ob1 和 window:ob2)。這不會發生在上下文框中,因為 box: 似乎記住它屬於哪個上下文框。根據您的“真實”用例和應用程序,評估方法通常是最穩健的,但所有這些方法都有其優點和缺點(就像僅使用直接引用一樣)。
回覆:如何在不使用變數的情況下從紅色小三角選單中引用大綱框很難找到更多詳細資訊 - 即使對於法學碩士:
