RTF Mini Editor geht nicht in BETA
Verfasst: 31.03.2013 15:18
Hallo Leute,
habe mir gerade das neue PureBasic 5.11(x64) Beta installiert und meinen mini rtf Editor probiert, funkt aber nicht! Kann mir da jemand helfen,
* Codec geändert
Gruss Velindos
habe mir gerade das neue PureBasic 5.11(x64) Beta installiert und meinen mini rtf Editor probiert, funkt aber nicht! Kann mir da jemand helfen,
* Codec geändert
Code: Alles auswählen
EnableExplicit
;- CONSTANTEN
Enumeration
#Editor_Window
#S_TextZoom_Notiz
#Editor_StyleF
#Editor_StyleY
#Editor_StyleB
#Editor_StyleI
#Editor_StyleU
#Editor_StyleFC
#Editor_StyleBC
#Editor_Number
#Editor_Print
#Editor_AlignR
#Editor_AlignC
#Editor_AlignL
#Editor_Menu
#Editor_MenuNew
#Editor_MenuOpen
#Editor_MenuSave
#Editor_MenuQuit
#Editor_ImageFC
#Editor_ImageBC
#Editor_StyleS ;Neue Funktionen
#ButtonSuchen
#StringSuchen
#ButtonWordPad
#ButtonCalculator
#Font_Suchfeld
#S_PopUp_TextZoom ;CreatePopupMenu
#S_PopUp_TextZoom_Rueckgangig
#S_PopUp_TextZoom_Ausschneiden
#S_PopUp_TextZoom_Kopieren
#S_PopUp_TextZoom_Einfuegen
#S_PopUp_TextZoom_Loeschen
#S_PopUp_TextZoom_Markieren
#S_PopUp_TextZoom_Write
#S_PopUp_TextZoom_Sonderzeichen
#S_PopUp_TextZoom_Datum
#S_PopUp_TextZoom_Trennlinie
#S_PopUp_TextZoom_Punkt
;-Gadget Notizzom
#B_TextZoom_Neu
#B_TextZoom_Minus
#I_TextZoom_Logo
#S_TextZoom_Stichwort
#Font_TextZoom_Stichwort
#B_TextZoom_Plus
#B_TextZoom_INS
#B_TextZoom_HTML
#Font_TextZoom_Notiz
#Ordner_Button
#Ordner_Pfad
#Font_Ordner_Pfad
#NotizOrdnerExtern_Button
EndEnumeration
;- GLOBAL
Global VelindosDatabaseOpenBild
Global MyRingbutton
Global VelindosDatabaseSaveBild
Global ButtonVelindos25
Global MyDropLogo
Global RoteDiskette
Global myButtonHTML
Global EditorFettBild
Global EditorKursivBild
Global EditorUnterstrichenBild
Global EditorDurchgestichenBild
Global ButtonSearch16
Global EditorLinksPositionBild
Global EditorMittePositionBild
Global EditorRechtsPositionBild
Global EditorAbsatzPositionBild
Global TextZoomGadget
Global ButtonOrdner
Global OrdnerExtern23
Global SearchText$
Global Range.CHARRANGE
Global Updown
Global findtext.FINDTEXTEX
Global GrosseLinie$ = "-------------------------------------------------------------------------------------------"
Global NOTIZ$
Global AktuellesDatum$
#CFM_BACKCOLOR = $4000000
#SF_USECODEPAGE = $20
#CP_UTF8 = 65001
Global Editor_FileName$ = ""
Global Editor_Pattern$ = "RTF (*.rtf)|*.rtf|Text (*.txt)|*.txt|Unicode (*.txt)|*.txt|UTF8 (*.utf8)|*.utf8"
Global *pcb.Long
Global MyEditorResult.s
Procedure Editor_EnumFontProc(*lpelfe.LOGFONT , *lpntme.TEXTMETRIC , fontType , lParam)
AddGadgetItem(#Editor_StyleF , -1 , PeekS(@*lpelfe\lfFaceName))
ProcedureReturn 1
EndProcedure
Procedure Editor_StreamOutCallback(dwCookie , *pbBuff , cb , *pcb.Long)
*pcb = WriteData(dwCookie , *pbBuff , cb)
ProcedureReturn Bool(Not *pcb)
EndProcedure
Procedure Editor_StreamInCallback(dwCookie , *pbBuff , cb , *pcb.Long)
*pcb\l = ReadData(dwCookie , *pbBuff , cb)
ProcedureReturn Bool(Not *pcb)
EndProcedure
Procedure Editor_UpdateGadgets(editor)
Protected cf.CHARFORMAT2
Protected pf.PARAFORMAT2
Protected fName$ , i
cf\cbSize = SizeOf(CHARFORMAT2)
SendMessage_(GadgetID(editor) , #EM_GETCHARFORMAT , #SCF_SELECTION , cf)
pf\cbSize = SizeOf(PARAFORMAT2)
SendMessage_(GadgetID(editor) , #EM_GETPARAFORMAT , 0 , pf)
If cf\dwMask & #CFM_SIZE
SetGadgetText(#Editor_StyleY , Str(cf\yHeight * 0.05))
EndIf
If cf\dwMask & #CFM_FACE
fName$ = PeekS(@cf\szFaceName , 32)
For i = 0 To CountGadgetItems(#Editor_StyleF) - 1
If GetGadgetItemText(#Editor_StyleF , i) = fName$
SetGadgetState(#Editor_StyleF , i)
Break
EndIf
Next
EndIf
If cf\dwEffects & #CFE_BOLD
SetGadgetState(#Editor_StyleB , 1)
Else
SetGadgetState(#Editor_StyleB , 0)
EndIf
If cf\dwEffects & #CFE_ITALIC
SetGadgetState(#Editor_StyleI , 1)
Else
SetGadgetState(#Editor_StyleI , 0)
EndIf
If cf\dwEffects & #CFE_UNDERLINE
SetGadgetState(#Editor_StyleU , 1)
Else
SetGadgetState(#Editor_StyleU , 0)
EndIf
If cf\crTextColor <> -1
StartDrawing(ImageOutput(#Editor_ImageFC))
Box(0,0,ImageWidth(#Editor_ImageFC),ImageHeight(#Editor_ImageFC), cf\crTextColor)
StopDrawing()
SetGadgetAttribute(#Editor_StyleFC , #PB_Button_Image , ImageID(#Editor_ImageFC))
EndIf
If cf\crBackColor <> -1
StartDrawing(ImageOutput(#Editor_ImageBC))
Box(0,0,ImageWidth(#Editor_ImageBC),ImageHeight(#Editor_ImageBC), cf\crBackColor)
StopDrawing()
SetGadgetAttribute(#Editor_StyleBC , #PB_Button_Image , ImageID(#Editor_ImageBC))
EndIf
If pf\dwMask & #PFM_ALIGNMENT
SetGadgetState(#Editor_AlignR , 0)
SetGadgetState(#Editor_AlignC , 0)
SetGadgetState(#Editor_AlignL , 0)
Select pf\wAlignment
Case #PFA_LEFT : SetGadgetState(#Editor_AlignL , 1)
Case #PFA_CENTER : SetGadgetState(#Editor_AlignC , 1)
Case #PFA_RIGHT : SetGadgetState(#Editor_AlignR , 1)
EndSelect
EndIf
If pf\dwMask & #PFM_NUMBERING
Select pf\wNumbering
Case 0 : SetGadgetState(#Editor_Number , 0)
Default : SetGadgetState(#Editor_Number , 1)
EndSelect
EndIf
SetActiveGadget(editor)
EndProcedure
Procedure Editor_SetFontName(editor , fontName$)
Protected cf.CHARFORMAT2
If fontName$ <> ""
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = #CFM_FACE
PokeS(@cf\szFaceName , fontName$ , 32)
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndIf
EndProcedure
Procedure Editor_SetFontHeight(editor , fontSize)
Protected cf.CHARFORMAT2
If fontSize > 0
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = #CFM_SIZE
cf\yHeight = fontSize * 20.0
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndIf
EndProcedure
Procedure Editor_SetFontColor(editor , fontColor)
Protected cf.CHARFORMAT2
If fontColor <> -1
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = #CFM_COLOR
cf\crTextColor = fontColor
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndIf
EndProcedure
Procedure Editor_SetBackColor(editor , backColor)
Protected cf.CHARFORMAT2
If backColor <> -1
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = #CFM_BACKCOLOR
cf\crBackColor = backColor
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndIf
EndProcedure
Procedure Editor_SetFontStyle(editor , mask)
Protected cf.CHARFORMAT2
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = mask
cf\dwEffects = 0
If GetGadgetState(#Editor_StyleB)
cf\dwEffects | #CFE_BOLD
EndIf
If GetGadgetState(#Editor_StyleI)
cf\dwEffects | #CFE_ITALIC
EndIf
If GetGadgetState(#Editor_StyleU)
cf\dwEffects | #CFE_UNDERLINE
EndIf
If GetGadgetState(#Editor_StyleS)
cf\dwEffects | #CFE_STRIKEOUT
EndIf
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndProcedure
Procedure Editor_SetAlignment(editor , alignment)
Protected pf.PARAFORMAT2
pf\cbSize = SizeOf(PARAFORMAT2)
pf\dwMask = #PFM_ALIGNMENT
pf\wAlignment = alignment
SendMessage_(GadgetID(editor) , #EM_SETPARAFORMAT , 0 , pf)
Editor_UpdateGadgets(editor)
EndProcedure
Procedure Editor_SetNumbering(editor , format)
Protected pf.PARAFORMAT2
pf\cbSize = SizeOf(PARAFORMAT2)
pf\dwMask = #PFM_NUMBERING | #PFM_NUMBERINGTAB
pf\wNumbering = format
pf\wNumberingTab = 500
SendMessage_(GadgetID(editor) , #EM_SETPARAFORMAT , 0 , pf)
Editor_UpdateGadgets(editor)
EndProcedure
Procedure Editor_Quit()
End
EndProcedure
Procedure Editor_Callback(hwnd , msg , wparam , lparam)
Protected *nmhdr.NMHDR
If msg = #WM_NOTIFY
*nmhdr = lparam
If *nmhdr\code = #EN_SELCHANGE
Editor_UpdateGadgets(*nmhdr\idFrom)
EndIf
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure Editor_Initialize(editor , fontName$ = "Arial" , fontHeight = 10 , fontStyle = 0 , fontColor = #Black , backColor = #White)
Protected lf.LOGFONT , y
ClearGadgetItems(editor)
ClearGadgetItems(#Editor_StyleF)
ClearGadgetItems(#Editor_StyleY)
EnumFontFamiliesEx_(GetDC_(GadgetID(editor)) , lf , @Editor_EnumFontProc() , 0 , 0)
For y = 1 To 100
AddGadgetItem(#Editor_StyleY , -1 , Str(y))
Next
If fontStyle & #CFM_BOLD
SetGadgetState(#Editor_StyleB , 1)
Else
SetGadgetState(#Editor_StyleB , 0)
EndIf
If fontStyle & #CFM_ITALIC
SetGadgetState(#Editor_StyleI , 1)
Else
SetGadgetState(#Editor_StyleI , 0)
EndIf
If fontStyle & #CFM_UNDERLINE
SetGadgetState(#Editor_StyleU , 1)
Else
SetGadgetState(#Editor_StyleU , 0)
EndIf
Editor_SetFontStyle (editor , fontStyle)
Editor_SetFontName (editor , fontName$)
Editor_SetFontHeight(editor , fontHeight)
Editor_SetFontColor (editor , fontColor)
Editor_SetBackColor (editor , backColor)
SendMessage_(GadgetID(editor) , #EM_SETEVENTMASK , 0 , #ENM_SELCHANGE)
SetWindowCallback(@Editor_Callback())
EndProcedure
Procedure.s Editor_GetCursorChar(Gadget_ID, opt.b=0)
; opt = 0 -> Character left from the cursor
; opt = 1 -> Character right from the cursor
Protected ttr.TEXTRANGE
Protected Buffer.s = Space(1)
ttr\lpstrText = @Buffer
SendMessage_(GadgetID(Gadget_ID),#EM_EXGETSEL,0,ttr\chrg)
If opt
ttr\chrg\cpMax + 1
Else
ttr\chrg\cpMin - 1
EndIf
SendMessage_(GadgetID(Gadget_ID),#EM_GETTEXTRANGE,0,ttr\chrg)
ProcedureReturn Buffer
EndProcedure
Procedure Editor_Insert_Text(Gadget_ID, text$)
; Insert text with spaces (if needed) in EditorGadget
text$ = Trim(text$)
If Editor_GetCursorChar(Gadget_ID, 0) <> " "
text$ = " " + text$
EndIf
If Editor_GetCursorChar(Gadget_ID, 1) <> " "
text$ + " "
EndIf
SendMessage_(GadgetID(Gadget_ID), #EM_REPLACESEL, 0, text$)
EndProcedure
Procedure Editor_Open(editor , fileName$)
Protected es.EDITSTREAM , file
file = ReadFile(#PB_Any , fileName$)
If IsFile(file)
Editor_Initialize(editor)
es\pfnCallback = @Editor_StreamInCallback()
es\dwCookie = file
Select SelectedFilePattern()
Case 0 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_RTF , es)
Case 1 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_TEXT , es)
Case 2 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_UNICODE | #SF_TEXT , es)
Case 3 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , (#CP_UTF8 << 16) | #SF_USECODEPAGE | #SF_TEXT , es)
EndSelect
CloseFile(file)
Editor_FileName$ = fileName$
EndIf
EndProcedure
Procedure Editor_Save(editor , fileName$)
Protected es.EDITSTREAM , file
file = CreateFile(#PB_Any , fileName$)
If IsFile(file)
es\pfnCallback = @Editor_StreamOutCallback()
es\dwCookie = file
Select SelectedFilePattern()
Case 0 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_RTF , es)
Case 1 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_TEXT , es)
Case 2 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_UNICODE | #SF_TEXT , es)
Case 3 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , (#CP_UTF8 << 16) | #SF_USECODEPAGE | #SF_TEXT , es)
EndSelect
CloseFile(file)
Editor_FileName$ = fileName$
EndIf
EndProcedure
Procedure Editor_ColumnClick_Callback(hwnd, uMsg, wParam, lParam)
Protected result = #PB_ProcessPureBasicEvents , *msg.NMHDR, *pnmv.NM_LISTVIEW,msg,*nmhdr.NMHDR
result = #PB_ProcessPureBasicEvents
Select uMsg
Case #WM_CONTEXTMENU
If GadgetID(#S_TextZoom_Notiz) = wParam
DisplayPopupMenu(#S_PopUp_TextZoom, WindowID(#Editor_Window))
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndSelect
ProcedureReturn result
EndProcedure
;-Images
CreateImage(#Editor_ImageFC,12,12)
CreateImage(#Editor_ImageBC,12,12)
;-[xx] WiNdows TextZoom
OpenWindow(#Editor_Window,0, 0, 667, 706,"Mini_Word_Editor" , #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
If CreatePopupMenu(#S_PopUp_TextZoom)
MenuItem(#S_PopUp_TextZoom_Markieren, "Alles markieren")
MenuBar()
MenuItem(#S_PopUp_TextZoom_Ausschneiden, "Ausschneiden")
MenuItem(#S_PopUp_TextZoom_Kopieren, "Kopieren")
MenuItem(#S_PopUp_TextZoom_Einfuegen, "Einfügen")
MenuItem(#S_PopUp_TextZoom_Loeschen, "Löschen")
MenuBar()
MenuItem(#S_PopUp_TextZoom_Rueckgangig, "Rückgängig")
MenuBar()
MenuItem(#S_PopUp_TextZoom_Write, "Wordpad")
MenuItem(#S_PopUp_TextZoom_Sonderzeichen, "Sonderzeichen Einfügen")
MenuBar()
MenuItem(#S_PopUp_TextZoom_Datum, "Datum Einfügen")
MenuItem(#S_PopUp_TextZoom_Trennlinie, "- Trennlinie")
MenuItem(#S_PopUp_TextZoom_Punkt, "• Punktation")
EndIf
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_MenuOpen ,1, 0, 30, 30 , "OPEN")
GadgetToolTip(#Editor_MenuOpen, "Notiz von Datei")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_MenuQuit, 31, 0, 605, 30, "QUIT-END")
GadgetToolTip(#Editor_MenuQuit, "EditorPlus beenden!")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_MenuSave ,637, 0, 30, 30 , "SAVE" )
GadgetToolTip(#Editor_MenuSave, "Notiz in Datei")
; ==========================================================================================
ComboBoxGadget(#Editor_StyleF , 1, 62,145, 20) ; Combobox für FONT
GadgetToolTip(#Editor_StyleF, "Font")
; ----------------------------------------------------------------------------------------
ComboBoxGadget(#Editor_StyleY ,155, 62, 40, 20) ; Combobox für FONT-GRÖSSE
GadgetToolTip(#Editor_StyleY, "Size")
; ==========================================================================================
ButtonGadget(#Editor_StyleB ,200, 62, 20, 20 , "B" ,#PB_Button_Toggle)
GadgetToolTip(#Editor_StyleB, "Fett")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_StyleI, 221, 62, 20, 20, "I" ,#PB_Button_Toggle)
GadgetToolTip(#Editor_StyleI, "Kursiv")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_StyleU, 242, 62, 20, 20 , "U" ,#PB_Button_Toggle)
GadgetToolTip(#Editor_StyleU, "Unterstreichen")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_StyleS, 263, 62, 20, 20, "S" ,#PB_Button_Toggle)
GadgetToolTip(#Editor_StyleS, "Durchstreichen")
; ----------------------------------------------------------------------------------------
ButtonGadget(#ButtonSuchen,287, 62, 20, 20, "?");ButtonVelindos25
GadgetToolTip(#ButtonSuchen, "Suche nach Suchwort")
StringGadget(#StringSuchen,310, 62, 160, 20,"")
GadgetToolTip(#StringSuchen, "Suchwort")
SetGadgetFont(#StringSuchen, LoadFont(#Font_Suchfeld, "Calibri", 10, #PB_Font_HighQuality));#PB_Font_Bold|
ButtonGadget(#ButtonWordPad,471, 62, 20, 20, "W");ButtonVelindos25
GadgetToolTip(#ButtonWordPad, "Wordpad aufrufen")
ButtonGadget(#ButtonCalculator,492, 62, 20, 20, "R");ButtonVelindos25
GadgetToolTip(#ButtonCalculator, "Rechner aufrufen")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_AlignL ,515, 62, 20, 20 , "<" ,#PB_Button_Toggle)
GadgetToolTip(#Editor_AlignL, "Linksbündig")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_AlignC,535, 62, 20, 20 , "-" ,#PB_Button_Toggle)
GadgetToolTip(#Editor_AlignC, "Mitte")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_AlignR, 555, 62, 20, 20 , ">" ,#PB_Button_Toggle)
GadgetToolTip(#Editor_AlignR, "Rechtsbündig")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_Number ,581, 62, 20, 20 , "•" ,#PB_Button_Toggle)
GadgetToolTip(#Editor_Number, "Absatz")
; ----------------------------------------------------------------------------------------
ButtonImageGadget(#Editor_StyleFC ,602, 62, 20, 20 , ImageID(#Editor_ImageFC));603, 62, 20, 20
GadgetToolTip(#Editor_StyleFC, "Font Color")
; ----------------------------------------------------------------------------------------
ButtonImageGadget(#Editor_StyleBC ,622, 62, 20, 20 , ImageID(#Editor_ImageBC));630, 62, 20, 20
GadgetToolTip(#Editor_StyleBC, "Backround Color")
; ----------------------------------------------------------------------------------------
ButtonGadget(#Editor_Print ,642, 62, 20, 20 , "P" )
GadgetToolTip(#Editor_Print, "Drucken")
; ----------------------------------------------------------------------------------------
TextZoomGadget = EditorGadget(#S_TextZoom_Notiz,1, 85, 664, 534)
SetGadgetFont(#S_TextZoom_Notiz, LoadFont(#Font_TextZoom_Notiz, "Verdana", 12, #PB_Font_HighQuality));#PB_Font_Bold|
;-Init
Editor_Initialize(#S_TextZoom_Notiz) ; Font und SIZE initialisieren
SendMessage_(GadgetID(#S_TextZoom_Notiz), #EM_SETTARGETDEVICE, #Null, 0); Text Umbruch
SetWindowCallback(@Editor_ColumnClick_Callback())
;-Start
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Editor_Quit()
Case #PB_Event_SizeWindow
ResizeGadget(#S_TextZoom_Notiz , 2,#PB_Ignore , WindowWidth(#Editor_Window) - 5 , WindowHeight(#Editor_Window) - 120)
Case #PB_Event_Gadget
Select EventGadget()
Case #Editor_StyleF
Editor_SetFontName(#S_TextZoom_Notiz , GetGadgetText(#Editor_StyleF))
Case #Editor_StyleY
Editor_SetFontHeight(#S_TextZoom_Notiz , Val(GetGadgetText(#Editor_StyleY)))
Case #Editor_StyleB
Editor_SetFontStyle(#S_TextZoom_Notiz , #CFM_BOLD)
Case #Editor_StyleI
Editor_SetFontStyle(#S_TextZoom_Notiz , #CFM_ITALIC)
Case #Editor_StyleU
Editor_SetFontStyle(#S_TextZoom_Notiz , #CFM_UNDERLINE)
Case #Editor_StyleS
Editor_SetFontStyle(#S_TextZoom_Notiz , #CFM_STRIKEOUT)
Case #Editor_StyleFC
Editor_SetFontColor(#S_TextZoom_Notiz , ColorRequester())
Case #Editor_StyleBC
Editor_SetBackColor(#S_TextZoom_Notiz , ColorRequester())
Case #Editor_Number
Editor_SetNumbering(#S_TextZoom_Notiz , GetGadgetState(#Editor_Number))
Case #Editor_Print
Debug "Druckroutine"
Case #Editor_AlignL
Editor_SetAlignment(#S_TextZoom_Notiz , #PFA_LEFT)
Case #Editor_AlignC
Editor_SetAlignment(#S_TextZoom_Notiz , #PFA_CENTER)
Case #Editor_AlignR
Editor_SetAlignment(#S_TextZoom_Notiz , #PFA_RIGHT)
Case #Editor_MenuSave
Editor_Save(#S_TextZoom_Notiz , SaveFileRequester("" , Editor_FileName$ , Editor_Pattern$ , SelectedFilePattern()))
SetWindowTitle(#Editor_Window, Editor_FileName$)
Case #Editor_MenuOpen
Editor_Open(#S_TextZoom_Notiz , OpenFileRequester("" , Editor_FileName$ , Editor_Pattern$ , SelectedFilePattern()))
Case #Editor_MenuQuit
Editor_Quit()
Case #ButtonSuchen ;Suchroutine für NotizZoom Gadget über SUCHBUTTON
SearchText$=GetGadgetText(#StringSuchen)
If SearchText$="":SearchText$="Notiz":EndIf
SendMessage_(GadgetID(#S_TextZoom_Notiz),#EM_EXGETSEL,0,Range.CHARRANGE)
Updown = 1 & 2147483647
findtext.FINDTEXTEX
If Updown
findtext\chrg\cpMin = Range\cpMax
findtext\chrg\cpMax=-1
Else
findtext\chrg\cpMin = Range\cpMin
findtext\chrg\cpMax= 0
EndIf
findtext\lpstrText=@SearchText$
If SendMessage_(GadgetID(#S_TextZoom_Notiz),#EM_FINDTEXTEX,1,@findtext) <> -1
SendMessage_(GadgetID(#S_TextZoom_Notiz),#EM_EXSETSEL,0,@findtext\chrgText)
EndIf
Case #ButtonWordPad
RunProgram("Write.exe ")
Case #ButtonCalculator
RunProgram("C:\Windows\System32\Calc.exe ")
EndSelect
;-TEXT Menue
Case #PB_Event_Menu
Select EventMenu()
Case #Editor_MenuNew ; Löschen des Notiztextes, gibt es bis dato noch nicht
ClearGadgetItems(#S_TextZoom_Notiz)
Case #S_PopUp_TextZoom_Rueckgangig
SendMessage_(GadgetID(#S_TextZoom_Notiz), #WM_UNDO, 0, 0)
Case #S_PopUp_TextZoom_Ausschneiden
SendMessage_(GadgetID(#S_TextZoom_Notiz), #WM_CUT, 0, 0)
Case #S_PopUp_TextZoom_Kopieren
SendMessage_(GadgetID(#S_TextZoom_Notiz), #WM_COPY, 0, 0)
Case #S_PopUp_TextZoom_Einfuegen
SendMessage_(GadgetID(#S_TextZoom_Notiz), #WM_PASTE, 0, 0)
Case #S_PopUp_TextZoom_Loeschen
SendMessage_(GadgetID(#S_TextZoom_Notiz), #WM_CLEAR, 0, 0)
Case #S_PopUp_TextZoom_Markieren
SendMessage_(GadgetID(#S_TextZoom_Notiz),#EM_SETSEL,#SF_RTF,-1)
Case #S_PopUp_TextZoom_Write
RunProgram("Write.exe ")
Case #S_PopUp_TextZoom_Sonderzeichen
RunProgram("charmap.exe ")
Case #S_PopUp_TextZoom_Datum
AktuellesDatum$ = FormatDate("%dd.%mm.%yyyy", Date());+Chr(13)))
Editor_Insert_Text(#S_TextZoom_Notiz, AktuellesDatum$)
Case #S_PopUp_TextZoom_Trennlinie: SendMessage_(GadgetID(#S_TextZoom_Notiz),#EM_REPLACESEL,1, GrosseLinie$);#LF$+#CR$
;Editor_UpdateGadgets(#S_TextZoom_Notiz)
Case #S_PopUp_TextZoom_Punkt:: SendMessage_(GadgetID(#S_TextZoom_Notiz),#EM_REPLACESEL,1, "• ");#LF$+#CR$
EndSelect
;-TEXT Drag&Drop
Case #PB_Event_GadgetDrop
Select EventGadget()
Case #S_TextZoom_Notiz
If EventDropType() = #PB_Drop_Text
AddGadgetItem(#S_TextZoom_Notiz, -1, EventDropText())
EndIf
EndSelect
EndSelect
ForEver