[[Ruby]]

#contents

*はじめに [#k15c63be]

WindowsのRubyで、メッセージボックスというか、メッセージダイアログを出したい時。


*WSHを使う方法 [#z3822ea6]

WSHを使うのが多分、一番簡単な方法です。

#geshi(ruby){{
require 'win32ole'

def show(msg, title)
  wsh = WIN32OLE.new('WScript.Shell')
  wsh.Popup(msg, 0, title, 0 + 64 + 0x40000)
end

show("Hello World!", "message")
}}
簡単ポン

[[こちら:http://www.geocities.co.jp/Technopolis/9587/rubyillustrator/memo.html#label-14]]のページも参考にして下さい。

**WConstの値 [#ac88e1b1]

上記サイトから、重要な定数を引用しておきますので、参考にすべし。

#pre{{
WConstの値と返り値
MB_OK                   = 0 # OK->1
MB_OKCANCEL             = 1 # OK->1, CANCEL->2
MB_ABORTRETRYIGNORE     = 2 # ABORT->3, RETRY->4, IGNORE->5
MB_YESNOCANCEL          = 3 # YES->6, NO->7, CANCEL->2
MB_YESNO                = 4 # YES->6, NO->7
MB_RETRYCANCEL          = 5 # RETRY->4, CANCEL->2
}}

例えば、4(つまり、MB_YESNO) を指定すると
YES->6, NO->7ってのは、つまり、6が返ってきたらYES、7が返ってきたらNOが押されたということ。

**アイコンと規定値 [#y7b7659c]
アイコン
#pre{{
MB_ICONERROR            = 16   # 丸く赤い所に白抜き×
MB_ICONSTOP             = 16   #      同上
MB_ICONHAND             = 16   #      同上
MB_ICONQUESTION         = 32   # 白い吹出しの中に青い ?
MB_ICONEXCLAMATION      = 48   # 黄色い三角の中に !
MB_ICONWARNING          = 0x30 #      同上
MB_ICONINFORMATION      = 64   # 白い吹出しの中に青く i の字
MB_ICONASTERISK         = 64   #      同上
MB_USERICON             = 128  # (ユーザアイコンの指定法不明)
}}

デフォルト選択
#pre{{
MB_DEFBUTTON1           = 0
MB_DEFBUTTON2           = 256
MB_DEFBUTTON3           = 512
MB_DEFBUTTON4           = 0x300 # 768
}}

MB_TOPMOST
#pre{{
MB_TOPMOST              = 0x40000 # 262144
}}
**例外を補足するには [#vf8b3e7d]
例外をポップアップしたいときは、以下のような感じで、

#geshi(ruby){{
require 'win32ole'

def show(msg, title)
  wsh = WIN32OLE.new('WScript.Shell')
  wsh.Popup(msg, 0, title, 0 + 64 + 0x40000)
end

begin
  raise "exception"
rescue => e
  show(e.to_s, "error")
end
}}

*参考リンク [#b1aff365]
-[[ActiveScriptRubyでIllustrator10:http://www.geocities.co.jp/Technopolis/9587/rubyillustrator/memo.html#label-14]]

----
- ああ --  &new{2017-02-09 (Thu) 14:53:46};
- ああs -- [[さ]] &new{2017-09-24 (Sun) 17:34:05};

#comment

TIME:"2017-09-24 (Sun) 17:34:05" REFERER:"http://tobysoft.net/wiki/index.php?Ruby%2F%A5%E1%A5%C3%A5%BB%A1%BC%A5%B8%A5%DC%A5%C3%A5%AF%A5%B9%A4%F2%BD%D0%A4%B7%A4%BF%A4%A4" USER_AGENT:"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)"
Front page   Edit Diff Backup Upload Copy Rename Reload   New Pages Search Recent changes   Help   RSS of recent changes