Sha256: 026a8850d56afa7254376687d25a7d4e4489d3b06593e548084a23e5aa91cde1

Contents?: true

Size: 1.88 KB

Versions: 3

Compression:

Stored size: 1.88 KB

Contents

require 'win/library'
require 'win/gui/window'

module Win
  module GUI
    # Contains constants and Win32API functions related to dialog manipulation
    #
    module Dialog
      include Win::Library
      include Win::GUI::Window

      ##
      # The GetDlgItem function retrieves a handle to a control in the specified dialog box.
      #
      # [*Syntax*]  HWND GetDlgItem( HWND hDlg, int nIDDlgItem );
      #
      # hDlg:: [in] Handle to the dialog box that contains the control.
      # nIDDlgItem:: [in] Specifies the identifier of the control to be retrieved.
      # *Returns*:: If the function succeeds, the return value is the window handle of the specified control.
      #             If the function fails, the return value is NULL, indicating an invalid dialog box handle
      #             or a nonexistent control. To get extended error information, call GetLastError.
      # ---
      # *Remarks*:
      # You can use the GetDlgItem function with any parent-child window pair, not just with dialog boxes.
      # As long as the hDlg parameter specifies a parent window and the child window has a unique identifier
      # (as specified by the hMenu parameter in the CreateWindow or CreateWindowEx function that created the 
      # child window), GetDlgItem returns a valid handle to the child window.
      #
      # :call-seq:
      #   control_handle = [get_]dlg_item( dialog_handle, id )
      #
      function :GetDlgItem, [:ulong, :int], :ulong

      # Convenience methods:

      # finds top-level dialog window by title and yields found dialog window to block if given
#      def dialog(title, seconds=3)
#        d = begin
#          win = Window::Window.top_level(title, seconds)
#          yield(win) ? win : nil
#        rescue TimeoutError
#        end
#        d.wait_for_close if d
#        return d
#      end
    end
  end
end


Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
win-0.1.27 lib/win/gui/dialog.rb
win-0.1.26 lib/win/gui/dialog.rb
win-0.1.22 lib/win/gui/dialog.rb