' WINFBE FORM
' WINFBE VERSION 2.1.7
' LOCKCONTROLS=False
' SNAPLINES=True
' WINFBE FORM_START
' 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=750
'     PROP_NAME=Height
'     PROP_VALUE=420
'     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.None
'     PROP_NAME=MinimizeBox
'     PROP_VALUE=True
'     PROP_NAME=MaximizeBox
'     PROP_VALUE=True
'     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=True
'     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=MouseMove
'     EVENT_NAME=MouseDown
'     EVENT_NAME=MouseUp
'   EVENTS_END
' WINFBE CONTROL_END
' WINFBE CONTROL_START Button
'   PROPERTIES_START
'     PROP_NAME=Name
'     PROP_VALUE=btn
'     PROP_NAME=Left
'     PROP_VALUE=710
'     PROP_NAME=Top
'     PROP_VALUE=13
'     PROP_NAME=Width
'     PROP_VALUE=23
'     PROP_NAME=Height
'     PROP_VALUE=23
'     PROP_NAME=AllowDrop
'     PROP_VALUE=False
'     PROP_NAME=BackColor
'     PROP_VALUE=SYSTEM|Control
'     PROP_NAME=BackColorDown
'     PROP_VALUE=SYSTEM|Control
'     PROP_NAME=BackColorHot
'     PROP_VALUE=SYSTEM|Control
'     PROP_NAME=Font
'     PROP_VALUE=Segoe UI,9,400,0,0,0,1
'     PROP_NAME=TextForeColor
'     PROP_VALUE=SYSTEM|ControlText
'     PROP_NAME=TextBackColor
'     PROP_VALUE=SYSTEM|Control
'     PROP_NAME=TextForeColorDown
'     PROP_VALUE=SYSTEM|ControlText
'     PROP_NAME=TextBackColorDown
'     PROP_VALUE=SYSTEM|Control
'     PROP_NAME=Image
'     PROP_VALUE=
'     PROP_NAME=ImageWidth
'     PROP_VALUE=16
'     PROP_NAME=ImageHeight
'     PROP_VALUE=16
'     PROP_NAME=ImageMargin
'     PROP_VALUE=4
'     PROP_NAME=ImageHighDPI
'     PROP_VALUE=True
'     PROP_NAME=Text
'     PROP_VALUE=X
'     PROP_NAME=TextAlign
'     PROP_VALUE=ButtonAlignment.MiddleCenter
'     PROP_NAME=TextMargin
'     PROP_VALUE=4
'     PROP_NAME=UseMnemonic
'     PROP_VALUE=True
'     PROP_NAME=ThemeSupport
'     PROP_VALUE=True
'     PROP_NAME=ToggleMode
'     PROP_VALUE=False
'     PROP_NAME=Enabled
'     PROP_VALUE=True
'     PROP_NAME=TabIndex
'     PROP_VALUE=1
'     PROP_NAME=TabStop
'     PROP_VALUE=True
'     PROP_NAME=Locked
'     PROP_VALUE=False
'     PROP_NAME=Tag
'     PROP_VALUE=
'     PROP_NAME=ToolTip
'     PROP_VALUE=
'     PROP_NAME=ToolTipBalloon
'     PROP_VALUE=False
'     PROP_NAME=Visible
'     PROP_VALUE=True
'   PROPERTIES_END
'   EVENTS_START
'     EVENT_NAME=Click
'   EVENTS_END
' WINFBE CONTROL_END
' WINFBE CONTROL_START TextBox
'   PROPERTIES_START
'     PROP_NAME=Name
'     PROP_VALUE=mnt
'     PROP_NAME=Left
'     PROP_VALUE=710
'     PROP_NAME=Top
'     PROP_VALUE=44
'     PROP_NAME=Width
'     PROP_VALUE=21
'     PROP_NAME=Height
'     PROP_VALUE=19
'     PROP_NAME=AcceptsReturn
'     PROP_VALUE=False
'     PROP_NAME=AcceptsTab
'     PROP_VALUE=False
'     PROP_NAME=AllowDrop
'     PROP_VALUE=False
'     PROP_NAME=BackColor
'     PROP_VALUE=SYSTEM|Window
'     PROP_NAME=BorderStyle
'     PROP_VALUE=ControlBorderStyle.Fixed3D
'     PROP_NAME=CharacterCasing
'     PROP_VALUE=CharacterCase.Normal
'     PROP_NAME=CueBannerText
'     PROP_VALUE=
'     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=HideSelection
'     PROP_VALUE=True
'     PROP_NAME=Locked
'     PROP_VALUE=False
'     PROP_NAME=Multiline
'     PROP_VALUE=False
'     PROP_NAME=PasswordChar
'     PROP_VALUE=
'     PROP_NAME=ReadOnly
'     PROP_VALUE=False
'     PROP_NAME=TextScrollBars
'     PROP_VALUE=ScrollBars.None
'     PROP_NAME=TabIndex
'     PROP_VALUE=2
'     PROP_NAME=TabStop
'     PROP_VALUE=True
'     PROP_NAME=Tag
'     PROP_VALUE=
'     PROP_NAME=ToolTip
'     PROP_VALUE=
'     PROP_NAME=ToolTipBalloon
'     PROP_VALUE=False
'     PROP_NAME=Text
'     PROP_VALUE=0
'     PROP_NAME=TextAlign
'     PROP_VALUE=TextAlignment.Center
'     PROP_NAME=Visible
'     PROP_VALUE=False
'     PROP_NAME=WordWrap
'     PROP_VALUE=False
'   PROPERTIES_END
'   EVENTS_START
'   EVENTS_END
' WINFBE CONTROL_END
' WINFBE FORM_END
' WINFBE_CODEGEN_START
#if 0
Declare Function Form1_MouseMove( ByRef sender As wfxForm, ByRef e As EventArgs ) As LRESULT
Declare Function Form1_MouseDown( ByRef sender As wfxForm, ByRef e As EventArgs ) As LRESULT
Declare Function Form1_MouseUp( ByRef sender As wfxForm, ByRef e As EventArgs ) As LRESULT
Declare Function Form1_btn_Click( ByRef sender As wfxButton, 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
        btn As wfxButton
        mnt As wfxTextBox
end type


function Form1Type.FormInitializeComponent( byval pForm as Form1Type ptr ) as LRESULT
    dim as long nClientOffset

    pForm->Name = "Form1"
    pForm->Text = "Form1"
    pForm->StartPosition = FormStartPosition.CenterScreen
    pForm->BorderStyle = FormBorderStyle.None
    pForm->KeyPreview = True
    pForm->SetBounds(10,10,750,420)
    pForm->OnMouseMove = @Form1_MouseMove
    pForm->OnMouseDown = @Form1_MouseDown
    pForm->OnMouseUp = @Form1_MouseUp
    pForm->btn.Parent = pForm
    pForm->btn.Name = "btn"
    pForm->btn.Text = "X"
    pForm->btn.SetBounds(710,13-nClientOffset,23,23)
    pForm->btn.OnClick = @Form1_btn_Click
    pForm->mnt.Parent = pForm
    pForm->mnt.Name = "mnt"
    pForm->mnt.Text = "0"
    pForm->mnt.TextAlign = TextAlignment.Center
    pForm->mnt.Visible = False
    pForm->mnt.SetBounds(710,44-nClientOffset,21,19)
    pForm->Controls.Add(ControlType.Button, @(pForm->btn))
    pForm->Controls.Add(ControlType.TextBox, @(pForm->mnt))
    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)

Type wfxEventArgs Extends Object
   Private:
   Public:
      Message As UINT        ' Windows value of message being sent
      wParam as WPARAM       ' the wParam of the raw message
      lParam as LPARAM       ' the lParam of the raw message
      Handled as Boolean     ' indicates whether the event is handled by the user
      Cancel as boolean      ' set to True to cancel closing of Form
      Ctrl as Boolean        ' the CTRL key is pressed
      Alt as Boolean         ' the Alt key is pressed
      Shift as Boolean       ' the SHIFT key is pressed
      KeyChar as Long        ' stores the character corresponding to the key pressed
      KeyCode as Long        ' stores the keyboard code for the event
      LButton as Boolean     ' the left mouse button pressed
      MButton as Boolean     ' the middle mouse button pressed
      RButton as Boolean     ' the right mouse button pressed
      x as Long              ' the x-coordinate of the mouse click
      y as Long              ' the y-coordinate of the mouse click
      hDrop as HDROP         ' handle used for WM_DROPFILES message
End Type

''
''
Function Form1_btn_Click( ByRef sender As wfxButton, ByRef e As EventArgs ) As LRESULT
    end
    Function = 0
End Function
''
''
Function Form1_MouseDown( ByRef sender As wfxForm, ByRef e As EventArgs ) As LRESULT
   Form1.mnt.Text = "1"
   Function = 0
End Function

''
''
Function Form1_MouseUp( ByRef sender As wfxForm, ByRef e As EventArgs ) As LRESULT
    Form1.mnt.Text = "0"
    Function = 0
End Function
''
''
Function Form1_MouseMove( ByRef sender As wfxForm, ByRef e As EventArgs ) As LRESULT
   if Form1.mnt.text = "1" then
       Form1.left = e.x - 350
       Form1.top = e.y - 20
   end if
   if Form1.mnt.Text = "0" then
     end if
   
    Function = 0
End Function

