StickyNotes: code
- We houden op formulierniveau bij welk bestand er geopend is, en of er een wijziging is
gebeurd.De formulieren worden gekloond, maar elk formulier houdt zijn eigen set van deze
variabelen.
Dim gewijzigd As Boolean
Dim bestandsnaam As String
- Bij het opstarten moeten we in het menu 'valse' functietoetsen zetten. Alt+F4 kan je
neit selecteren als functietoets, en de klembordfuncties werken zo al. Als je daar zelf de
functietoetsen aan toekent, gebeurt alles twee keer.
Private Sub Form_Load()
mnuFileQuit.Caption = mnuFileQuit.Caption & Chr(9) & "Alt+F4"
mnuEditCopy.Caption = mnuEditCopy.Caption & Chr(9) & "Ctrl+C"
mnuEditPaste.Caption = mnuEditPaste.Caption & Chr(9) & "Ctrl+V"
mnuEditCut.Caption = mnuEditCut.Caption & Chr(9) & "Ctrl+X"
End Sub
- Bovendien willen we het tekstvak het hele scherm laten bezetten.
Private Sub Form_Resize()
If Me.WindowState = vbMinimized Then Exit Sub
With rtf
.Top = 0
.Left = 0
.Height = Me.Height
.Width = Me.Width
End With
End Sub
- Als er een formulier wordt afgesloten, gaan we na dat alles is afgesloten:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As
Integer)
If gewijzigd = False Then Exit Sub
Select Case MsgBox("Document is gewijzigd. Opslaan?", vbYesNoCancel)
Case vbYes
mnuFileSaveas_Click
Case vbNo
Case vbCancel
Cancel = True
End Select
End Sub
- Daarvoor zetten we gewijzigd op True als er iets verandert
Private Sub rtf_Change()
gewijzigd = True
End Sub
- En we zetten het af als er is opgeslagen. Opslaan doen we met een Common Dialog als er
geen bestandsnaam gekend is:
Private Sub mnuFileSave_Click()
If bestandsnaam = "" Then mnuFileSaveas_Click
rtf.SaveFile bestandsnaam
gewijzigd = False
End Sub
Private Sub mnuFileSaveas_Click()
On Error GoTo errsaveas
cdl.DefaultExt = "rtf"
cdl.Filter = "RTF bestanden (*.rtf)|*.rtf|Alle bestanden (*.*)|*.*"
cdl.ShowSave
If Not bestandsnaam = "" Then
mnuFileSave_Click
End If
Exit Sub
errsaveas:
Select Case MsgBox("Fout. " & Err.Description, vbAbortRetryIgnore)
Case vbAbort
Resume 0
Case vbRetry
Resume
Case vbIgnore
Resume Next
End Select
End Sub
- Om een nieuw formulier te maken
Private Sub mnuFileNew_Click()
Dim frm As New Form1
Load frm
frm.Show
End Sub
- Om een formulier af te sluiten:
Private Sub mnuFileClose_Click()
Unload Me
End Sub
- Om alles af te sluiten:
Private Sub mnuFileQuit_Click()
Dim n As Integer
For n = 1 To Forms.Count
Unload Forms(0)
Next n
End Sub
- De klembordbewerkingen zien er zo uit:
Private Sub mnuEditCopy_Click()
Clipboard.Clear
Clipboard.SetText rtf.SelText
End Sub
Private Sub mnuEditCut_Click()
Clipboard.SetText rtf.SelText
rtf.SelRTF = ""
End Sub
- Voor de opmaak gebruiken we de Common Dialog, en de wisselopties voor vet, cursief en
onderlijd.
Private Sub mnuFormatFont_Click()
cdl.Flags = cdlCFScreenFonts
cdl.ShowFont
With cdl
rtf.SelBold = .FontBold
rtf.SelColor = .Color
rtf.SelFontName = .FontName
rtf.SelFontSize = .FontSize
rtf.SelItalic = .FontItalic
rtf.SelStrikeThru = .FontStrikethru
rtf.SelUnderline = .FontUnderline
End With
End Sub
Private Sub mnuFormatBold_Click()
rtf.SelBold = Not rtf.SelBold
End Sub
Private Sub mnuFormatItalic_Click()
rtf.SelItalic = Not rtf.SelItalic
End Sub
Private Sub mnuFormatUnderline_Click()
rtf.SelUnderline = Not rtf.SelUnderline
End Sub
[VB Web] - [hlrnet] - [copyright]