' WINFBE FORM
' WINFBE VERSION 2.1.6
' LOCKCONTROLS=False
' SNAPLINES=True
' WINFBE FORM_START
' WINFBE MAINMENU_START
'   MAINMENU_DISPLAY=1
'   MENUITEM_START
'     NAME=mnuRun
'     CAPTION=Run
'     INDENT=0
'     ALT=0
'     SHIFT=0
'     CTRL=0
'     SHORTCUT=
'     CHECKED=0
'     GRAYED=0
'   MENUITEM_END
'   MENUITEM_START
'     NAME=
'     CAPTION=
'     INDENT=0
'     ALT=0
'     SHIFT=0
'     CTRL=0
'     SHORTCUT=
'     CHECKED=0
'     GRAYED=0
'   MENUITEM_END
' WINFBE MAINMENU_END
' WINFBE CONTROL_START Form
'   PROPERTIES_START
'     PROP_NAME=Name
'     PROP_VALUE=Form1
'     PROP_NAME=Left
'     PROP_VALUE=10
'     PROP_NAME=Top
'     PROP_VALUE=10
'     PROP_NAME=Width
'     PROP_VALUE=576
'     PROP_NAME=Height
'     PROP_VALUE=346
'     PROP_NAME=ChildForm
'     PROP_VALUE=False
'     PROP_NAME=Text
'     PROP_VALUE=Form1
'     PROP_NAME=WindowState
'     PROP_VALUE=FormWindowState.Normal
'     PROP_NAME=StartPosition
'     PROP_VALUE=FormStartPosition.CenterScreen
'     PROP_NAME=BorderStyle
'     PROP_VALUE=FormBorderStyle.FixedSingle
'     PROP_NAME=MinimizeBox
'     PROP_VALUE=True
'     PROP_NAME=MaximizeBox
'     PROP_VALUE=False
'     PROP_NAME=ControlBox
'     PROP_VALUE=True
'     PROP_NAME=Enabled
'     PROP_VALUE=True
'     PROP_NAME=Visible
'     PROP_VALUE=True
'     PROP_NAME=BackColor
'     PROP_VALUE=SYSTEM|Control
'     PROP_NAME=AcceptButton
'     PROP_VALUE=
'     PROP_NAME=AllowDrop
'     PROP_VALUE=False
'     PROP_NAME=KeyPreview
'     PROP_VALUE=False
'     PROP_NAME=CancelButton
'     PROP_VALUE=
'     PROP_NAME=Icon
'     PROP_VALUE=
'     PROP_NAME=Locked
'     PROP_VALUE=False
'     PROP_NAME=MaximumHeight
'     PROP_VALUE=0
'     PROP_NAME=MaximumWidth
'     PROP_VALUE=0
'     PROP_NAME=MinimumHeight
'     PROP_VALUE=0
'     PROP_NAME=MinimumWidth
'     PROP_VALUE=0
'     PROP_NAME=Tag
'     PROP_VALUE=
'   PROPERTIES_END
'   EVENTS_START
'     EVENT_NAME=AllEvents
'   EVENTS_END
' WINFBE CONTROL_END
' WINFBE CONTROL_START ListBox
'   PROPERTIES_START
'     PROP_NAME=Name
'     PROP_VALUE=List1
'     PROP_NAME=Left
'     PROP_VALUE=42
'     PROP_NAME=Top
'     PROP_VALUE=41
'     PROP_NAME=Width
'     PROP_VALUE=318
'     PROP_NAME=Height
'     PROP_VALUE=157
'     PROP_NAME=AllowDrop
'     PROP_VALUE=False
'     PROP_NAME=BackColor
'     PROP_VALUE=SYSTEM|Window
'     PROP_NAME=BackColorHot
'     PROP_VALUE=SYSTEM|Window
'     PROP_NAME=BackColorSelected
'     PROP_VALUE=SYSTEM|Highlight
'     PROP_NAME=BorderStyle
'     PROP_VALUE=ControlBorderStyle.Fixed3D
'     PROP_NAME=ColumnWidth
'     PROP_VALUE=0
'     PROP_NAME=Enabled
'     PROP_VALUE=True
'     PROP_NAME=Font
'     PROP_VALUE=Segoe UI,9,400,0,0,0,1
'     PROP_NAME=ForeColor
'     PROP_VALUE=SYSTEM|WindowText
'     PROP_NAME=ForeColorHot
'     PROP_VALUE=SYSTEM|WindowText
'     PROP_NAME=ForeColorSelected
'     PROP_VALUE=SYSTEM|HighlightText
'     PROP_NAME=HorizontalExtent
'     PROP_VALUE=0
'     PROP_NAME=IntegralHeight
'     PROP_VALUE=False
'     PROP_NAME=ItemHeight
'     PROP_VALUE=16
'     PROP_NAME=Locked
'     PROP_VALUE=False
'     PROP_NAME=MultiColumn
'     PROP_VALUE=False
'     PROP_NAME=ScrollAlwaysVisible
'     PROP_VALUE=False
'     PROP_NAME=SelectionMode
'     PROP_VALUE=ListSelectionMode.One
'     PROP_NAME=Sorted
'     PROP_VALUE=False
'     PROP_NAME=TabIndex
'     PROP_VALUE=1
'     PROP_NAME=TabStop
'     PROP_VALUE=True
'     PROP_NAME=Tag
'     PROP_VALUE=
'     PROP_NAME=ToolTip
'     PROP_VALUE=
'     PROP_NAME=ToolTipBalloon
'     PROP_VALUE=False
'     PROP_NAME=TextAlign
'     PROP_VALUE=LabelAlignment.MiddleLeft
'     PROP_NAME=UseTabStops
'     PROP_VALUE=True
'     PROP_NAME=Visible
'     PROP_VALUE=True
'   PROPERTIES_END
'   EVENTS_START
'   EVENTS_END
' WINFBE CONTROL_END
' WINFBE CONTROL_START ProgressBar
'   PROPERTIES_START
'     PROP_NAME=Name
'     PROP_VALUE=Progress1
'     PROP_NAME=Left
'     PROP_VALUE=42
'     PROP_NAME=Top
'     PROP_VALUE=215
'     PROP_NAME=Width
'     PROP_VALUE=318
'     PROP_NAME=Height
'     PROP_VALUE=27
'     PROP_NAME=AllowDrop
'     PROP_VALUE=False
'     PROP_NAME=Maximum
'     PROP_VALUE=3000
'     PROP_NAME=Minimum
'     PROP_VALUE=1
'     PROP_NAME=StepValue
'     PROP_VALUE=1
'     PROP_NAME=Value
'     PROP_VALUE=0
'     PROP_NAME=Enabled
'     PROP_VALUE=True
'     PROP_NAME=Tag
'     PROP_VALUE=
'     PROP_NAME=ToolTip
'     PROP_VALUE=
'     PROP_NAME=ToolTipBalloon
'     PROP_VALUE=False
'     PROP_NAME=Locked
'     PROP_VALUE=False
'     PROP_NAME=Marquee
'     PROP_VALUE=False
'     PROP_NAME=MarqueeAnimationSpeed
'     PROP_VALUE=30
'     PROP_NAME=Vertical
'     PROP_VALUE=False
'     PROP_NAME=Visible
'     PROP_VALUE=True
'   PROPERTIES_END
'   EVENTS_START
'   EVENTS_END
' WINFBE CONTROL_END
' WINFBE CONTROL_START Label
'   PROPERTIES_START
'     PROP_NAME=Name
'     PROP_VALUE=Label1
'     PROP_NAME=Left
'     PROP_VALUE=42
'     PROP_NAME=Top
'     PROP_VALUE=265
'     PROP_NAME=Width
'     PROP_VALUE=318
'     PROP_NAME=Height
'     PROP_VALUE=34
'     PROP_NAME=Text
'     PROP_VALUE=Label1
'     PROP_NAME=AllowDrop
'     PROP_VALUE=False
'     PROP_NAME=BackColor
'     PROP_VALUE=SYSTEM|Control
'     PROP_NAME=BackColorHot
'     PROP_VALUE=SYSTEM|Control
'     PROP_NAME=ForeColor
'     PROP_VALUE=SYSTEM|ControlText
'     PROP_NAME=ForeColorHot
'     PROP_VALUE=SYSTEM|ControlText
'     PROP_NAME=BorderStyle
'     PROP_VALUE=ControlBorderStyle.None
'     PROP_NAME=TextAlign
'     PROP_VALUE=LabelAlignment.TopLeft
'     PROP_NAME=Font
'     PROP_VALUE=Segoe UI,9,400,0,0,0,1
'     PROP_NAME=Enabled
'     PROP_VALUE=True
'     PROP_NAME=Tag
'     PROP_VALUE=
'     PROP_NAME=ToolTip
'     PROP_VALUE=
'     PROP_NAME=ToolTipBalloon
'     PROP_VALUE=False
'     PROP_NAME=Locked
'     PROP_VALUE=False
'     PROP_NAME=UseMnemonic
'     PROP_VALUE=True
'     PROP_NAME=Visible
'     PROP_VALUE=True
'   PROPERTIES_END
'   EVENTS_START
'   EVENTS_END
' WINFBE CONTROL_END
' WINFBE FORM_END
' WINFBE_CODEGEN_START
#if 0
Declare Function Form1_MainMenu_Click( ByRef sender As wfxMenuItem, ByRef e As EventArgs ) As LRESULT
Declare Function Form1_MainMenu_Popup( ByRef sender As wfxMenuItem, ByRef e As EventArgs ) As LRESULT
Declare Function Form1_AllEvents( ByRef sender As wfxForm, ByRef e As EventArgs ) As LRESULT

type Form1Type extends wfxForm
  private:
    temp as byte
  public:
    declare static function FormInitializeComponent( byval pForm as Form1Type ptr ) as LRESULT
    declare constructor
    ' Controls
    List1 As wfxListBox
    Progress1 As wfxProgressBar
    Label1 As wfxLabel
end type


function Form1Type.FormInitializeComponent( byval pForm as Form1Type ptr ) as LRESULT
  dim as long nClientOffset

  dim ncm As NONCLIENTMETRICS
  ncm.cbSize = SizeOf(ncm)
  SystemParametersInfo(SPI_GETNONCLIENTMETRICS, SizeOf(ncm), @ncm, 0)
  nClientOffset = AfxUnScaleY(ncm.iMenuHeight)  ' holds the height of the mainmenu

  pForm->MainMenu.MenuItems.Clear
  pForm->MainMenu.Parent = pForm
  dim mnuRun as wfxMenuItem = wfxMenuItem("Run", "mnuRun", "", 0, 0)
  pForm->MainMenu.MenuItems.Add(mnuRun)

  pForm->MainMenu.OnPopup = @Form1_MainMenu_Popup
  pForm->MainMenu.OnClick = @Form1_MainMenu_Click
  pForm->Controls.Add(ControlType.MainMenu, @(pForm->MainMenu))

  pForm->Name = "Form1"
  pForm->Text = "Form1"
  pForm->StartPosition = FormStartPosition.CenterScreen
  pForm->BorderStyle = FormBorderStyle.FixedSingle
  pForm->MaximizeBox = False
  pForm->SetBounds(10,10,576,346)
  pForm->OnAllEvents = @Form1_AllEvents
  pForm->List1.Parent = pForm
  pForm->List1.Name = "List1"
  pForm->List1.ItemHeight = 16
  pForm->List1.SetBounds(42,41-nClientOffset,318,157)
  pForm->Progress1.Parent = pForm
  pForm->Progress1.Name = "Progress1"
  pForm->Progress1.Maximum = 3000
  pForm->Progress1.Minimum = 1
  pForm->Progress1.SetBounds(42,215-nClientOffset,318,27)
  pForm->Label1.Parent = pForm
  pForm->Label1.Name = "Label1"
  pForm->Label1.Text = "Label1"
  pForm->Label1.SetBounds(42,265-nClientOffset,318,34)
  pForm->Controls.Add(ControlType.ListBox, @(pForm->List1))
  pForm->Controls.Add(ControlType.ProgressBar, @(pForm->Progress1))
  pForm->Controls.Add(ControlType.Label, @(pForm->Label1))
  Application.Forms.Add(ControlType.Form, pForm)
  function = 0
end function

constructor Form1Type
  InitializeComponent = cast( any ptr, @FormInitializeComponent )
  this.FormInitializeComponent( @this )
end constructor

dim shared Form1 as Form1Type
#endif
' WINFBE_CODEGEN_END
' You should always include a resource file that references a valid manifest.xml
' file otherwise your application will not properly display Windows themed controls.
' Sample resource.rc and manifest.xml files can be found in the WinFBE \Settings folder.
' The following WinFBE directive includes the resource in your application. Simply
' uncomment the line.
' If you are using WinFBE's project management features then delete the following line
' because a resource file will be generated automatically.
' '#RESOURCE "resource.rc"


''
''  Remove the following Application.Run code if it used elsewhere in your application.
Application.Run(Form1)

''
''

''
''
Function Form1_MainMenu_Click( ByRef sender As wfxMenuItem, ByRef e As EventArgs ) As LRESULT
  Select Case UCase(sender.Name)
    Case "MNURUN"
      dim n as integer
      form1.List1.Items.Clear
      for n = 1 to 3000
        form1.List1.Items.Add("Listbox item #" & str(n))
        'form1.list1.TopIndex = n - 1
        'sleep 1
        form1.Progress1.Value = n
        form1.Label1.Text = str(n)
        if n = 1500 then sleep 1000
      next
    Case Else
  End Select
  Function = 0
End Function

''
''
Function Form1_MainMenu_Popup( ByRef sender As wfxMenuItem, ByRef e As EventArgs ) As LRESULT
  Select Case UCase(sender.Name)
    Case Else
  End Select
  Function = 0
End Function

''
''
Function Form1_AllEvents( ByRef sender As wfxForm, ByRef e As EventArgs ) As LRESULT
  Function = 0
End Function

''
''
Function Form1_List1_AllEvents( ByRef sender As wfxListBox, ByRef e As EventArgs ) As LRESULT
  Function = 0
End Function

