我正在使用Windows 7和10rakudo-star-2019.03-x86_64(JIT)
。我想知道如何在Perl6中创建一个弹出窗口来向用户提供信息?类似Linux的发送通知或Windows Pro msg(没有网络)
非常感谢,-T
我把你的例子变成了一个模块。非常感谢。
# unit module WinMsg;
# WinMsg.pm6
#`{
Reference: https://stackoverflow.com/questions/59105696/how-can-i-create-pop-up-windows-for-perl6-in-windows
}
use NativeCall;
sub WinMsg( Str $TitleStr, Str $MessageStr ) is export( :WinMsg ) {
constant WCHAR = uint16;
constant INT = int32;
constant UINT = uint32;
constant HANDLE = Pointer[void];
constant LPWCTSTR = CArray[WCHAR];
constant MB_ICONEXCLAMATION = 0x00000030;
# Note: the following two subs have to be embedded
sub MessageBoxW( HANDLE, LPWCTSTR, LPWCTSTR, UINT ) is native('user32') returns INT { * };
sub to-c-str( Str $str ) returns CArray[WCHAR] {
my @str := CArray[WCHAR].new;
for ( $str.comb ).kv -> $i, $char { @str[$i] = $char.ord; }
@str[ $str.chars ] = 0;
@str;
}
# MessageBoxW( my $handle, to-c-str("๘❤ Raku is awesome ❤๖"), to-c-str("Hellö Wαrld"), MB_ICONEXCLAMATION );
MessageBoxW( my $handle, to-c-str( $MessageStr ), to-c-str( $TitleStr ), MB_ICONEXCLAMATION );
}
试车线:
>perl6 -e "use lib '.'; use WinMsg :WinMsg; WinMsg( 'Super Duper Title', 'What? You were expecting something witty?' );"
一个简单的Messagebox足够好吗?然后
use NativeCall;
constant WCHAR = uint16;
constant INT = int32;
constant UINT = uint32;
constant HANDLE = Pointer[void];
constant LPWCTSTR = CArray[WCHAR];
constant MB_ICONEXCLAMATION = 0x00000030;
sub MessageBoxW( HANDLE, LPWCTSTR, LPWCTSTR, UINT ) is native('user32') returns INT { * };
MessageBoxW( my $handle, to-c-str("๘❤ Raku is awesome ❤๖"), to-c-str("Hellö Wαrld"), MB_ICONEXCLAMATION );
sub to-c-str( Str $str ) returns CArray[WCHAR]
{
my @str := CArray[WCHAR].new;
for ( $str.comb ).kv -> $i, $char { @str[$i] = $char.ord; }
@str[ $str.chars ] = 0;
@str;
}
对于任何更复杂的东西,我认为GUI目前唯一可用的选项是Tk绑定。
我想在JavaFX应用程序中创建一个弹出窗口。给我一些想法。 当我点击检查按钮时,它会打开弹出窗口。怎么做?
E/AndroidRuntime:致命异常:main process:com.luteraa.luteraaesports,pid:6355 java.lang.nullpointerException:试图在com.luteraa.luteraaesports.bgmicategoryAdapter.OpenDialog(bgmicategoryAdapter.java.access$000(b
我想帮助某人。我想创建一个当我单击按钮时会弹出的JGroup,它必须出现在单击按钮的地方,并且不得影响其他组件。这方面的一个例子是JDateChooser,当您单击该按钮时,一个日历就会出现在那里,但当您单击其他任何地方时,该面板就会消失。我想要的是在弹出时将名称列表放在该面板中。它类似于JPopup菜单,只是当您单击其他任何地方时它必须消失。
问题内容: 我有一个主Frame(称为)和一个弹出式Toplevel(称为)。如何确保用户在“处于活动状态”时无法单击任何内容? 问题答案: 如果您不想隐藏根目录,而只是确保用户只能与弹出窗口进行交互,则可以使用和。 或者 ,您可以使它不可见的根源: 将保留根,但仅可见。 如果您需要它,可以做
我刚开始使用android studio,ive用一个我试图构建的应用程序进入了这个领域。 这是我到目前为止的编码:
完成表单并点击注册按钮后,我得到一个弹出的信息消息(模态),消息中有close(X)和OK按钮和标题:在ABC Project下,显示了以下内容&通知用户注册成功的文本。 我尝试了几种方法来点击这个弹出窗口中的OK按钮,但都没有成功: 附加提示: null 我很感激你给我的提示和支持谢谢