


' Gambas class file

Public Sub Form_Open()
  Dim iCount As Integer
  Dim oObject As Object
  
  FMain.Center
  FMain.Resizable = False
  PictureBox1.Border = Border.None
  PictureBox1.Stretch = True
  PictureBox1.Picture = Picture["blume.jpg"]
  Label1.Text = "Bergblume Augentrost ( Allgäu 2013 )"
  
  mnu23PreView.Toggle = True ' sonst muss man den Schalter über Anweisungen ein- oder ausschalten
  mnu23PreView.Checked = True ' Bildvorschau ist Standard-Einstellung
' mnu23PreView.Picture = ... ist unsinnig, weil man dann das Checked-Symbol nicht sieht!

 
  
  mnu15Print.Action = "PrintImage"
  toolbPrintImage.Action = "PrintImage" ' ---> diese Anweisungen werden gegenwärtig in der Action.List ignoriert - alles andere funktioniert
  
  ' For Each oObject In Action["PrintImage"].Controls
  '     Debug oObject.Name
  ' Next ' iCount
  
  Action["PrintImage"].Picture = Picture["icon:/16/print"]
  Action["PrintImage"].Visible = True
  Action["PrintImage"].Enabled = False
  Action["PrintImage"].Shortcut = "CTRL+P" ' ---> O.K.
' Action["PrintImage"].ToolTip = "Bild-Datei drucken" 
' ERROR! ---> Unbekanntes Symbol 'ToolTip' in Klasse 'Menu' in FMain:31; Eigenschaft existiert nicht in der Klasse Menu
  
'**********************************************************************************************************************

' ERROR! ---> Unbekanntes Symbol 'ToolTip' in Klasse 'Menu' in FMain:31
' Action["PrintImage"].ToolTip = "Bild-Datei drucken"  ' ---> ergibt eine Fehlermeldung!
  
'**********************************************************************************************************************

' Action["PrintImage"].Text = "Druck mich fix...!" ' ---> O.K. macht nur Sinn, wenn man Icon UND Text sehen will
' Action["PrintImage"].Value = True  ' ---> was wird hier ausgelöst als Ereignis?

' Anzeige aller mit Komponenten verknüpften Aktionen
' Gilt aber nur für in der IDE definierte Controls und deren Aktionen!

' For iCount = 0 To Action.List.Max
'   Print Action.List[iCount]
' Next

End ' Form_Open()

Public Sub Action_Activate(sKey As String) As Boolean
  Select Case sKey
    Case "FormClose"
         FHelp.Close
         FMain.Close
    Case "HelpMe"
         FHelp.Show
    Case "ImageOpen"
         ImageOpen()
    Case "PrintImage"
       ' Prozedur für das Ausdrucken des angezeigten Bildes           
         Message.Info("Jetzt wird wie wild gedruckt das Bild ...")
  End Select ' sKey
End ' Action_Activate(..)

Public Sub ImageOpen()

  Dialog.Title = "Importieren Sie eine Bild-Datei!"
  Dialog.Filter = ["*.png", "Bild-Dateien"]

  If Dialog.OpenFile(False) = True Then ' Multiselect=False (Standard)
     Message.Info("Das Öffnen der Bild-Datei wurde abgebrochen!")
     Return ' Cancel-Button gedrückt
  Else
    Try PictureBox1.Picture = Picture.Load(Dialog.Path)
    If Error Then
       Message.Error("Fehler beim Öffnen der Bild-Datei")
       Return
    Else
       'Label1.Alignment = Align.Left
       Label1.Text = " Datei: " & File.Name(Dialog.Path)       
       Action["PrintImage"].Enabled = True       
    Endif ' ERROR?
  Endif ' Dialog.OpenFile

End ' ImageOpen()

Public Sub mnu23PreView_Click()
  If mnu23PreView.Checked = True Then
     Message.Info("Zukünftig Vorschaubild anzeigen oder" & gb.NewLine & "Vorschaubild generieren oder...")
  Endif ' Checked = True
End ' mnu23PreView_Click()

Public Sub toolbNewImage_Click()
  Action["PrintImage"].Enabled = False
' Prozedur zur Generation eines Bildes
' Nur zur Kontrolle des Aus/Ein-Effekts: Wait 2
  Action["PrintImage"].Enabled = True
End ' toolbNewImage

Public Sub mnu32Information_Click()
  Desktop.Open("http://www.gambas-buch.de/dw/doku.php?id=k13:start")
End ' mnu32Information_Click()

Public Sub Form_Close()
  FHelp.Close
  FMain.Close
End ' Form_Close()

Public Sub mnu33Configuration_Click()
  Action.Configure
End ' mnu33Configuration_Click()


Zusatz:

' Synchronisation von Menüpunkt "OpenImage" und ToolButton "tbOpen",
' wenn die Eigenschaft Action NICHT gesetzt ist.
' -------------------------------------------------------------------
' Public Sub mnu11OpenImage_Click()
'   ImageOpen()
'   mnu13PrintImage.Enabled = True
'   tbPrint.Enabled = True
' End ' mnu11Open_Click()
'
' Public Sub tbOpen_Click()
'   ImageOpen()
'   mnu13Print.Enabled = True
'   tbPrint.Enabled = True
' End ' tbOpen_Click()
' -----------------------------------------------------------


Zusatz 2:

  ' aElements.Clear
  ' For Each sElement In Action.List
  '   If sElement Like "[A-Z]*" Then aElements.Add(sElement)
  ' Next ' sElement