Module: Fzeet
- Defined in:
- lib/fzeet/windows.rb,
lib/fzeet/windows/libc.rb,
lib/fzeet/windows/user.rb,
lib/fzeet/windows/urlmon.rb,
lib/fzeet/windows/propsys.rb,
lib/fzeet/windows/shdocvw.rb,
lib/fzeet/windows/shlwapi.rb,
lib/fzeet/windows/gdi/Font.rb,
lib/fzeet/windows/uiribbon.rb,
lib/fzeet/windows/core/Rect.rb,
lib/fzeet/windows/core/Size.rb,
lib/fzeet/windows/scintilla.rb,
lib/fzeet/windows/user/Menu.rb,
lib/fzeet/windows/com/Common.rb,
lib/fzeet/windows/comctl/Tab.rb,
lib/fzeet/windows/core/Point.rb,
lib/fzeet/windows/gdi/Common.rb,
lib/fzeet/windows/ole/Common.rb,
lib/fzeet/windows/comctl/Edit.rb,
lib/fzeet/windows/core/Common.rb,
lib/fzeet/windows/oleaut/Bstr.rb,
lib/fzeet/windows/user/Common.rb,
lib/fzeet/windows/core/Version.rb,
lib/fzeet/windows/shell/Common.rb,
lib/fzeet/windows/user/Message.rb,
lib/fzeet/windows/comctl/Button.rb,
lib/fzeet/windows/comctl/Common.rb,
lib/fzeet/windows/comctl/Header.rb,
lib/fzeet/windows/comctl/UpDown.rb,
lib/fzeet/windows/comdlg/Common.rb,
lib/fzeet/windows/kernel/Common.rb,
lib/fzeet/windows/mshtml/Common.rb,
lib/fzeet/windows/oleaut/Common.rb,
lib/fzeet/windows/comctl/SysLink.rb,
lib/fzeet/windows/oleaut/Variant.rb,
lib/fzeet/windows/comctl/ComboBox.rb,
lib/fzeet/windows/core/SystemTime.rb,
lib/fzeet/windows/ole/PropVariant.rb,
lib/fzeet/windows/user/MessageBox.rb,
lib/fzeet/windows/user/Window/MDI.rb,
lib/fzeet/windows/oleaut/SafeArray.rb,
lib/fzeet/windows/shell/FileDialog.rb,
lib/fzeet/windows/user/Accelerator.rb,
lib/fzeet/windows/user/Window/View.rb,
lib/fzeet/windows/comctl/ComboBoxEx.rb,
lib/fzeet/windows/comdlg/FileDialog.rb,
lib/fzeet/windows/comdlg/FontDialog.rb,
lib/fzeet/windows/user/Control/Edit.rb,
lib/fzeet/windows/comctl/ProgressBar.rb,
lib/fzeet/windows/comdlg/ColorDialog.rb,
lib/fzeet/windows/comdlg/PrintDialog.rb,
lib/fzeet/windows/user/Window/Common.rb,
lib/fzeet/windows/user/Window/Dialog.rb,
lib/fzeet/windows/user/Window/Window.rb,
lib/fzeet/windows/user/Control/Button.rb,
lib/fzeet/windows/user/Control/Common.rb,
lib/fzeet/windows/user/Control/Static.rb,
lib/fzeet/windows/comctl/MonthCalendar.rb,
lib/fzeet/windows/comctl/PropertySheet.rb,
lib/fzeet/windows/user/Control/ListBox.rb,
lib/fzeet/windows/comctl/DateTimePicker.rb,
lib/fzeet/windows/shell/BrowseForFolder.rb,
lib/fzeet/windows/user/Control/ComboBox.rb,
lib/fzeet/windows/user/Window/Container.rb,
lib/fzeet/windows/comdlg/ShellFileDialog.rb,
lib/fzeet/windows/user/SystemParametersInfo.rb,
lib/fzeet/windows/user/Window/WindowMethods.rb
Overview
Fzeet::Windows.DetonateLastError(FFI::Pointer::NULL, :LoadLibrary, “#File.dirname(File.expand_path(__FILE__))/windows/libcef/libcef.dll” ).tap { |hdll| at_exit { Fzeet::Windows.FreeLibrary(hdll) } } if Fzeet::Windows::Version >= :xp
Defined Under Namespace
Modules: BitmapMethods, BrushMethods, ButtonMethods, ComboBoxExMethods, ComboBoxMethods, CursorMethods, DCMethods, DateTimePickerMethods, EditMethods, FontMethods, HeaderMethods, IconMethods, ListBoxMethods, MonthCalendarMethods, ProgressBarMethods, ScintillaMethods, ShellFileDialogMethods, StaticMethods, SysLinkMethods, TabMethods, Toggle, UpDownMethods, WindowMethods, Windows
Classes: AcceleratorTable, Application, BasicWindow, Button, ClientDC, ColorDialog, ComboBox, ComboBoxEx, Command, CommonDialog, Container, Control, DateTimePicker, Dialog, DialogResult, Edit, ExplorerBrowser, FileDialog, FileOpenDialog, FileSaveDialog, FolderDialog, FontDialog, Frame, Header, IndirectFont, ListBox, MDIChild, Menu, Message, MonthCalendar, PARGB32, PageSetupDialog, PopupMenu, PrintDialog, PrintDialogEx, ProgressBar, PropertyPage, PropertySheet, Scintilla, ScreenDC, ShellFileOpenDialog, ShellFileSaveDialog, ShellFolderDialog, Static, SysLink, SystemBrush, SystemCursor, SystemIcon, Tab, UIRibbon, UpDown, View, WebBrowser, Window, WindowClass
Constant Summary
collapse
- Rect =
Windows::RECT
- Size =
Windows::SIZE
- Point =
Windows::POINT
- Decimal =
Windows::DECIMAL
- Handle =
Windows::HANDLE
- Bstr =
Windows::BSTR
- Variant =
Windows::VARIANT
- SystemTime =
Windows::SYSTEMTIME
- PropVariant =
Windows::PROPVARIANT
- SafeArray =
Windows::SAFEARRAY
Class Method Summary
collapse
Class Method Details
.constant(c, *prefixes) ⇒ Object
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
# File 'lib/fzeet/windows/core/Common.rb', line 141
def constant(c, *prefixes)
return c if c.kind_of?(Integer) || c.kind_of?(FFI::Pointer)
c = c.upcase
prefixes.map! { |prefix|
prefix = prefix.upcase
"#{prefix}#{c}".tap { |name|
return Windows.const_get(name) if Windows.const_defined?(name)
}
}
raise "Constant not found: #{c} (tried: #{prefixes.join(', ')})."
end
|
.flags(flags, *prefixes) ⇒ Object
157
158
159
160
161
|
# File 'lib/fzeet/windows/core/Common.rb', line 157
def flags(flags, *prefixes)
return flags if flags.kind_of?(Integer)
[*flags].inject(0) { |flags, flag| flags |= constant(flag, *prefixes) }
end
|
.message(message, opts = {}) ⇒ Object
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# File 'lib/fzeet/windows/user/MessageBox.rb', line 73
def message(message, opts = {})
_opts = {
window: Application.window,
caption: Application.name,
buttons: [:ok],
icon: :information
}
badopts = opts.keys - _opts.keys; raise "Bad option(s): #{badopts.join(', ')}." unless badopts.empty?
_opts.merge!(opts)
defbutton = nil
defbutton = if [*_opts[:buttons]].find.with_index { |button, i| defbutton = i + 1; button =~ /^[A-Z]/ }
constant(defbutton.to_s, :mb_defbutton)
else
0
end
flags = constant([*_opts[:buttons]].join(''), :mb_) | defbutton | constant(_opts[:icon], :mb_icon)
DialogResult.new(
Windows.DetonateLastError(0, :MessageBox, _opts[:window] && _opts[:window].handle, message.to_s, _opts[:caption].to_s, flags)
)
end
|
.question(message, opts = {}) ⇒ Object
97
98
99
100
101
102
|
# File 'lib/fzeet/windows/user/MessageBox.rb', line 97
def question(message, opts = {})
opts[:buttons] ||= [:yes, :no]
opts[:icon] ||= :question
message(message, opts)
end
|
.shell(name, args = nil, dir = nil, verb = 'open') ⇒ Object
317
318
319
|
# File 'lib/fzeet/windows/shell/Common.rb', line 317
def shell(name, args = nil, dir = nil, verb = 'open')
raise 'ShellExecute failed.' unless Windows.ShellExecute(nil, verb, name, args, dir, Windows::SW_NORMAL).to_i > 32
end
|
.using(o, cleanup = :dispose) ⇒ Object
165
166
167
168
169
|
# File 'lib/fzeet/windows/core/Common.rb', line 165
def using(o, cleanup = :dispose)
yield o
ensure
o.send(cleanup)
end
|