![](/img/trans.png)
[英]wxWidgets EVT_BUTTON function parameter depending on where event came from?
[英]How do I pass additional arguments in wxperl EVT_BUTTON
我試圖將參數傳遞給處理wxPerl EVT_BUTTON事件的perl子例程。 我明白,當我使用時:
EVT_BUTTON($frame, $button, \&onClick);
我將在onClick
訪問$ frame和$按鈕及其功能。 但是,我試圖讓子例程讀取其他參數,主要是各種其他Wx::CheckBox
值的值/狀態。
我看到這個工作的唯一方法是使用全局變量並使用onClick
來讀取它們,但我想在其他地方重用onClick
,並且使用全局變量是我最不喜歡的選項。
我嘗試了各種各樣的事情,例如:
EVT_BUTTON($frame, $button, \&onClick(arg1,arg2));
我認為解決方案在於理解Perl引用的工作原理,因為我們正在使用前面的\\&
指示符傳遞\\&onClick
。 但我對Perl的這方面缺乏了解......
任何幫助表示贊賞
試試這個,
EVT_BUTTON($frame, $button, sub{ onClick($arg1,$arg2) });
它引用了anon子例程,然后調用onClick
sub,它相當於:
my $subref = sub{ onClick($arg1,$arg2) };
EVT_BUTTON($frame, $button, $subref);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.