Seite 1 von 1

Texteditor mit Umbrüchen usw.

Verfasst: 23.07.2006 18:32
von Eckhard.S
Alle bisherige Fragen für mein Übersetzungsprogramm sind beantwortet, (danke an Kaeru Gaman :allright: und Konne :allright: !

Nun mache ich hier eine neue Frage auf:

Mit PureBasic soll ein ganz einfaches Text-Editor-Fenster realisiert werden, wo man wie mit WordPad Text eingeben kann, der am Zeilenende umbricht. Wenn man Text an einer beliebigen Stelle einfügt oder löscht "rutscht" der Text entsprechend nach. Ebenso, wenn man das Fenster verkleinert

Unter
http://www.purearea.net/pb/german/userlibs.php
hat Andreas Miethe so etwas als AdvEditor realisiert (gleich der 2. Eintrag von oben) und als exe und pb gepostet. Ich habe seine Library in die UserLibraries einkopiert, aber leider läuft da RTFTestprogramm.pb nicht bei mir unter PB 4.0 (Demo)
Die Zeile 149

Code: Alles auswählen

If OpenWindow(#MainWindow, 0, 0, 0, 0, #PB_Window_Invisible|#PB_Window_SizeGadget|#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "ADVEditor-Testprogramm")
macht "Bad parameter type". Ich vermute es liegt an 4.0 anstelle 3.93.

Wer kann helfen? Ich brauche aus dem Code nur das Textfenster ohne die ganze Menüsteuerung usw.

Oder hat jemand etwas Passendes woanders?

Verfasst: 23.07.2006 19:05
von pankgraf
Unter PB 4.00 brauchst du nur den Fenstertitel an anderer Stelle einfügen (siehe Code], dann laufen sämtliche Flags und selbstverständlich auch die ganze Befehlszeile.
Die Flags, die du nicht möchtest, brauchst du doch nur löschen, wie ich es z. B, mit »#PB_Window_Invisible« gemacht habe.
Sie dir mit F1 »OpenWindow()« an, dann weißt du, was diese Flag´s bewirken.

Code: Alles auswählen

; #PB_Window_Invisible macht das Fenster unsichtbar
; daher von mir entfernt
hwnd = OpenWindow(#MainWindow, 0, 0,200,255, "ADVEditor-Testprogramm", #PB_Window_SizeGadget|#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)  
If hwnd And CreateGadgetList(hwnd)
Das Programm »AdvEditor« von Andreas Miethe läuft unter PB 3.93. Ob es unter 4.00 läuft, kannst du, wenn du Mut zum Risiko besitzt. selber ausprobieren. Einfach nach ...\PureBasic\PureLibraries\UserLibraries kopieren. Muß dann später wieder gelöscht werden. denn gerade mit Userlibs kann man sich viel Ärger einhandeln.

Verfasst: 23.07.2006 19:24
von Eckhard.S
Danke, Pankgraf, das scheint zu gehen. Sorry, dass ich als Anfänger die genauen Strukturen noch nicht durchblicke. Die Zeile klappt jetzt aber die Parameter stimmen auch in Zeile 173 nicht:
If CreateMenu(#MainMenu, WindowID())

und nicht in Zeile 207:
If CreateGadgetList(WindowID())

und nicht in Zeile 209:
StatusBar = CreateStatusBar(#StatusWindow, WindowID())
212:
SendMessage_(StatusBar,#SB_SETPARTS,2,@StatusParts(0))

usw.

Mir wäre sehr geholfen, wenn du aus dem Code alles herausschmeißt und für 4.0 anpasst, dass nur noch die Editor Funktion übrigbleibt. Also alle Menüs und Buttons weg.

Falls die Library gebraucht wird, die gibt es wie oben in der ursprünglichen Nachricht beim Link genannt
Ich hoffe der Code sprengt nicht den Rahmen hier:

Code: Alles auswählen

UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()

Declare MyMakeLong(value1.w,value2.w)
Declare MyFileExists(buffer.s)
Declare TB_InsertSwitch(TB1,CommandID,ImageID)
Declare TB_InsertGroupSwitch(TB1,CommandID,ImageID)
Declare DLGCallBack(hwnd,msg,wparam,lparam)
Declare WCB(hwnd,Message,wparam,lparam)
Declare About()

Dim StatusParts.l(254)
Global StatusBar.l,Toolbar.l,ComboBox.l,IL.l,IL1.l

#TB_SETIMAGELIST = 1072
#TB_SETHOTIMAGELIST = 1076

;Hintergrundfarbe Toolbar-Buttons
#CLR_BACKGROUND  = $BFBFBF
;Buttongröße
#TB_BUTTONHEIGHT = 16

;BitmapID
#ID_BITMAP1   ="#1000"
#ID_BITMAP2   ="#1001"

;ID's Dialog
#ID_DIALOG   ="#1001"
#ID_DIALOG1  ="#1002"
#ID_OK       = 1
#ID_CANCEL   = 2
#ID_COMBOBOX = 1000
#ID_SPIN1    = 1003
#ID_SPIN2    = 1005
#ID_SPIN3    = 1007
#ID_SPIN4    = 1009

;Updown Werte
#SPIN_MAX     = 100
#SPIN_MIN     = -100

;Ini-Files
#MYPREF       = "MyProg.ini"
#MYPREF1      = "MyPos.ini"
#MYMAINGROUP  = "MAIN"
#MYCOMBO      = "COMBO"
#MYSPIN1      = "SPIN1"
#MYSPIN2      = "SPIN2"
#MYSPIN3      = "SPIN3"
#MYSPIN4      = "SPIN4"
#MYPOSITIONS  = "POSITION"
#MYPOSX       = "POSX"
#MYPOSY       = "POXY"
#MYPOSW       = "POSW"
#MYPOSH       = "POSH"

Enumeration;Fenster
#MainWindow
#StatusWindow
#Toolbar
#FontSelect
#ADVEditor
#AboutWindow
#AboutOK
#AboutADVEditor
EndEnumeration

Enumeration;Toolbar-Bitmaps
#ID_CUT
#ID_COPY
#ID_INSERT
#ID_UNDO
#ID_REDO
#ID_DELETE
#ID_NEW
#ID_OPEN
#ID_SAVE
#ID_PAGESETUP
#ID_PROPERTIES
#ID_HELP
#ID_SEARCH
#ID_REPLACE
#ID_PRINT
#ID_BOLD
#ID_ITALIC
#ID_UNDERLINE
#ID_FONT
#ID_LEFT
#ID_CENTER
#ID_RIGHT
#ID_BULLET
#ID_PREFORMAT
#ID_LINESPACE
#ID_INDENT
#ID_END
EndEnumeration

Enumeration 100;Menüs
#MainMenu
#Contextmenu
EndEnumeration

Enumeration 200;Datei-Menü
#FileNew
#FileOpen
#FileSave
#FileSaveAs
#FilePageSetup
#FilePrint
#AppClose
EndEnumeration

Enumeration 300;Bearbeiten
#AppUndo
#AppCut
#AppCopy
#AppDelete
#AppInsert
#AppInsertOLE
#AppInsertAsFile
EndEnumeration

Enumeration 400;Formatierung
#AppLeft
#AppCenter
#AppRight
#AppBullet
#AppLinespace
#AppIndent
#AppPreFormat
#AppFont
#AppBold
#AppItalic
#AppUnderline
EndEnumeration

Enumeration 500;Hilfe
#AppHelp
#AppAbout
EndEnumeration

;Image
Enumeration 600
#Image
EndEnumeration

hwnd = OpenWindow(#MainWindow, 0, 0,200,255, "ADVEditor-Testprogramm", #PB_Window_SizeGadget|#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)  
If hwnd And CreateGadgetList(hwnd)
    About()
    If CreatePopupMenu(#Contextmenu)
        MenuItem(#FileNew,"Neu")
        MenuItem(#FileOpen,"Öffnen")
        MenuItem(#FileSave, "Speichern")
        MenuItem(#FileSaveAs, "Speichern als...")
        MenuBar()
        MenuItem(#AppUndo,"Undo")
        MenuBar()
        MenuItem(#AppCut,"Ausschneiden")
        MenuItem(#AppCopy,"Kopieren")
        OpenSubMenu("Einfügen")
        MenuItem(#AppInsertOLE,"OLE Objekt")
        MenuItem(#AppInsertAsFile,"Bitmap aus Datei")
        MenuBar()
        MenuItem(#AppInsert,"Clipboard")
        CloseSubMenu()
        MenuItem(#AppDelete,"Löschen")
        MenuBar()
        MenuItem(#AppPreFormat,"Formatierungs-Voreinstellungen")
    EndIf
    
   ; If CreateMenu(#MainMenu, WindowID())
        ;Datei-Menü
        MenuTitle("Datei")
        MenuItem(#FileNew,"Neu")
        MenuItem(#FileOpen,"Öffnen")
        MenuItem(#FileSave, "Speichern")
        MenuItem(#FileSaveAs, "Speichern als...")
        MenuBar()
        MenuItem(#FilePageSetup, "Seiten einrichten")
        MenuItem(#FilePrint, "Drucken")
        MenuBar()
        MenuItem(#AppClose, "Ende")
        ;  Bearbeiten-Menü
        MenuTitle("Bearbeiten")
        MenuItem(#AppUndo,"Undo")
        MenuBar()
        MenuItem(#AppCut,"Ausschneiden")
        MenuItem(#AppCopy,"Kopieren")
        OpenSubMenu("Einfügen")
        MenuItem(#AppInsertOLE,"OLE Objekt")
        MenuItem(#AppInsertAsFile,"Bitmap aus Datei")
        MenuBar()
        MenuItem(#AppInsert,"Clipboard")
        CloseSubMenu()
        MenuItem(#AppDelete,"Löschen")
        MenuBar()
        MenuItem(#AppPreFormat,"Formatierungs-Voreinstellungen")
        ;  Hilfe-Menü
        MenuTitle("Hilfe")
        MenuItem(#AppHelp,"Hilfe")
        MenuItem(#AppAbout,"Über...")
    EndIf
    
    
  ;  If CreateGadgetList(WindowID())
        ;Status-Bar
   ;     StatusBar = CreateStatusBar(#StatusWindow, WindowID())
        StatusParts(0) = 80
        StatusParts(1) = -1;der letzte Eintrag wird an die Breite angepasst
        SendMessage_(StatusBar,#SB_SETPARTS,2,@StatusParts(0))
        StatusBarText(#StatusWindow, 1, "neues Dokument")
        ;Toolbar
        ToolBar = CreateToolBar(#ToolBar, WindowID())
        SendMessage_(ToolBar,#TB_SETSTYLE,0,$50000B41)
        
        IL1 =  ImageList_Create_(16,16,#ILC_MASK,0,0)
        ImageList_Add_(IL1,CatchImage(0,?Toolimage1),CatchImage(1,?MaskImage))
        FreeImage(0)
        FreeImage(1)
        IL = ImageList_Create_(16,16,#ILC_MASK,0,0)
        ImageList_Add_(IL,CatchImage(0,?Toolimage2),CatchImage(1,?MaskImage))
        FreeImage(0)
        FreeImage(1)
        
        SendMessage_(Toolbar,#TB_SETIMAGELIST,0,IL1)
        SendMessage_(ToolBar,#TB_SETHOTIMAGELIST,0,IL)
        ToolBarStandardButton(#FileNew, #ID_NEW)
        ToolBarStandardButton(#FileOpen, #ID_OPEN)
        ToolBarStandardButton(#FileSave, #ID_SAVE)
        ToolBarSeparator()
        ToolBarStandardButton(#FilePageSetup, #ID_PROPERTIES)
        ToolBarStandardButton(#FilePrint, #ID_PRINT)
        ToolBarSeparator()
        ToolBarStandardButton(#AppClose,#ID_END)
        ToolBarSeparator()
        ToolBarStandardButton(#AppUndo, #ID_UNDO)
        ToolBarStandardButton(#AppCut, #ID_CUT)
        ToolBarStandardButton(#AppDelete, #ID_DELETE)
        ToolBarStandardButton(#AppCopy, #ID_COPY)
        ToolBarStandardButton(#AppInsert, #ID_INSERT)
        ToolBarSeparator()
        ToolBarStandardButton(#AppHelp, #PB_ToolBarIcon_Help)
        ToolBarToolTip(#FileNew,"Neue Datei")
        ToolBarToolTip(#FileOpen,"Datei öffnen")
        ToolBarToolTip(#FileSave,"Datei speichern")
        ToolBarToolTip(#FilePageSetup,"Seite einrichten")
        ToolBarToolTip(#FilePrint,"Drucken")
        ToolBarToolTip(#AppClose,"Programm beenden")
        ToolBarToolTip(#AppUndo,"letzte Aktion rückgängig")
        ToolBarToolTip(#AppCut,"ausschneiden")
        ToolBarToolTip(#AppDelete,"löschen")
        ToolBarToolTip(#AppCopy,"kopieren")
        ToolBarToolTip(#AppInsert,"einfügen")
        ToolBarToolTip(#AppHelp,"Hilfe")
        ToolBarSeparator()
        TB_InsertGroupSwitch(ToolBar,#AppLeft,#ID_LEFT)
        TB_InsertGroupSwitch(ToolBar,#AppCenter,#ID_CENTER)
        TB_InsertGroupSwitch(ToolBar,#AppRight,#ID_RIGHT)
        TB_InsertSwitch(ToolBar,#AppBold,#ID_BOLD)
        TB_InsertSwitch(ToolBar,#AppItalic,#ID_ITALIC)
        TB_InsertSwitch(ToolBar,#AppUnderline,#ID_UNDERLINE)
        TB_InsertSwitch(ToolBar,#AppBullet,#ID_BULLET)
        TB_InsertSwitch(ToolBar,#AppIndent,#ID_INDENT)
        TB_InsertSwitch(ToolBar,#AppLinespace,#ID_LINESPACE)
        ToolBarSeparator()
        ToolBarStandardButton(#AppPreFormat, #ID_PREFORMAT)
        ToolBarStandardButton(#AppFont, #ID_FONT)
        ToolBarToolTip(#AppLeft,"linkbündig")
        ToolBarToolTip(#AppCenter,"zentriert")
        ToolBarToolTip(#AppRight,"rechtsbündig")
        ToolBarToolTip(#AppBullet,"Bullet")
        ToolBarToolTip(#AppIndent,"Einzug")
        ToolBarToolTip(#AppLinespace,"Zeilenabstand")
        ToolBarToolTip(#AppPreFormat,"Formatierungs-Voreinstellungen")
        SetWindowCallback(@WCB())
        ADVEditor(#ADVEditor,0,40,WindowWidth(),WindowHeight()-80,3)
        ADVEditor_AttachContextMenu(#ContextMenu,WindowID())
        ADVEditor_AttachPrinter(#ADVEditor,"myPrinter.adv",1)
        SetFocus_(GadgetID(#ADVEditor))
        ADVEditor_AttachPositions(#ADVEditor,4000)
        
        OpenPreferences(#MYPREF1)
        PreferenceGroup(#MYPOSITIONS)
        MoveWindow_(WindowID(),ReadPreferenceLong(#MYPOSX,0),ReadPreferenceLong(#MYPOSY,0),ReadPreferenceLong(#MYPOSW,800),ReadPreferenceLong(#MYPOSH,600),#True)
        ShowWindow_(WindowID(),#True)
        ClosePreferences()
    EndIf
    
    Repeat
        Select WaitWindowEvent()
        Case #PB_Event_CloseWindow
            If SendMessage_(GadgetID(#ADVEditor),#EM_GETMODIFY,0,0)
                If MessageRequester("Meldung","Dokument wurde geändert. Speichern ?",#MB_YESNO|#MB_ICONQUESTION|#MB_SYSTEMMODAL) = #IDYES
                    DName$ = SaveFileRequester("Datei speichern :","*.rtf","Text-Dateien|*.txt|Rich Text Files|*.rtf", 0)
                    If UCase(GetExtensionPart(DName$)) = "RTF"
                        ADVEditor_SaveFile(#ADVEditor,DName$,#SF_RTF)
                    Else
                        ADVEditor_SaveFile(#ADVEditor,DName$,#SF_TEXT)
                    EndIf
                EndIf
            EndIf
            ImageList_Destroy_(IL)
            ImageList_Destroy_(IL1)
            CreatePreferences(#MYPREF1)
            PreferenceGroup(#MYPOSITIONS)
            WritePreferenceLong(#MYPOSX,WindowX())
            WritePreferenceLong(#MYPOSY,WindowY())
            WritePreferenceLong(#MYPOSW,WindowWidth())
            WritePreferenceLong(#MYPOSH,WindowHeight())
            ClosePreferences()
            Quit = 1
        Case  #PB_Event_Menu
            Select EventMenuID()
            Case #AppClose
                SendMessage_(WindowID(),#WM_CLOSE,0,0)
            Case #FilePageSetup
                ADVEditor_LoadPageSetup(#ADVEditor,"myPrinter.adv")
                ADVEditor_PageSetup(#ADVEditor)
                ADVEditor_SavePageSetup(#ADVEditor,"myPrinter.adv")
            Case #FilePrint
                ADVEditor_Print(#ADVEditor,"myPrinter.adv",0)
            Case #AppCopy
                SendMessage_(GadgetID(#ADVEditor),#WM_COPY,0,0)
            Case #AppDelete
                SendMessage_(GadgetID(#ADVEditor),#WM_CLEAR,0,0)
            Case #AppInsert
                SendMessage_(GadgetID(#ADVEditor),#WM_PASTE,0,0)
            Case #AppCut
                SendMessage_(GadgetID(#ADVEditor),#WM_CUT,0,0)
            Case #AppUndo
                SendMessage_(GadgetID(#ADVEditor),#WM_UNDO,0,0)
            Case #AppFont
                ADVEditor_Pickfont(#ADVEditor)
                SetFocus_(GadgetID(#ADVEditor))
            Case #AppLeft
                ADVEditor_LeftAlign(#ADVEditor)
            Case #AppCenter
                ADVEditor_CenterAlign(#ADVEditor)
            Case #AppRight
                ADVEditor_RightAlign(#ADVEditor)
            Case #AppBold
                ADVEditor_SetBold(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBold,0))
            Case #AppItalic
                ADVEditor_SetItalic(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppItalic,0))
            Case #AppUnderline
                ADVEditor_SetUnderline(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppUnderline,0),-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppUnderline,0))
                
            Case #AppBullet
                If MyFileExists(#MYPREF)
                    OpenPreferences(#MYPREF)
                    PreferenceGroup(#MYMAINGROUP)
                    Select ReadPreferenceLong(#MYCOMBO,0)
                    Case 0
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,1,0)
                    Case 1
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,3,3)
                    Case 2
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,4,3)
                    Case 3
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,2,3)
                    Case 4
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,6,3)
                    Case 5
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,3,0)
                    Case 6
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,4,0)
                    Case 7
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,2,0)
                    Case 8
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,6,0)
                    Case 9
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,3,1)
                    Case 10
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,4,1)
                    Case 11
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,2,1)
                    Case 12
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,6,1)
                    Case 13
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,3,2)
                    Case 14
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,4,2)
                    Case 15
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,2,2)
                    Case 16
                        ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,6,2)
                    EndSelect
                    ClosePreferences()
                EndIf
            Case #AppIndent
                If SendMessage_(Toolbar,#TB_GETSTATE,#AppIndent,0) = 5
                    If MyFileExists(#MYPREF)
                        OpenPreferences(#MYPREF)
                        PreferenceGroup(#MYMAINGROUP)
                        ADVEditor_LeftOffset(#ADVEditor,MyMakeLong(ReadPreferenceLong(#MYSPIN1,0),0),MyMakeLong(ReadPreferenceLong(#MYSPIN2,0),0))
                        ClosePreferences()
                    EndIf
                Else
                    ADVEditor_LeftOffset(#ADVEditor,0,0)
                EndIf
            Case #AppLinespace
                If SendMessage_(Toolbar,#TB_GETSTATE,#AppLinespace,0) = 5
                    If MyFileExists(#MYPREF)
                        OpenPreferences(#MYPREF)
                        PreferenceGroup(#MYMAINGROUP)
                        ADVEditor_Spacing(#ADVEditor,MyMakeLong(ReadPreferenceLong(#MYSPIN3,0),0),MyMakeLong(ReadPreferenceLong(#MYSPIN4,0),0))
                        ClosePreferences()
                    EndIf
                Else
                    ADVEditor_Spacing(#ADVEditor,0,0)
                EndIf
            Case #AppPreFormat
                CreateDialogIndirectParam_(0,?ResDialog,WindowID(),@DLGCallback(),0)
            Case #AppAbout
                ShowWindow_(WindowID(#Aboutwindow),#True)
            Case #FileNew
                If SendMessage_(GadgetID(#ADVEditor),#EM_GETMODIFY,0,0)
                    If MessageRequester("Meldung","Dokument wurde geändert. Speichern ?",#MB_YESNO|#MB_ICONQUESTION|#MB_SYSTEMMODAL) = #IDYES
                        DName$ = SaveFileRequester("Datei speichern :","*.rtf","Text-Dateien|*.txt|Rich Text Files|*.rtf", 0)
                        If UCase(GetExtensionPart(DName$)) = "RTF"
                            ADVEditor_SaveFile(#ADVEditor,DName$,#SF_RTF)
                        Else
                            ADVEditor_SaveFile(#ADVEditor,DName$,#SF_TEXT)
                        EndIf
                    EndIf
                EndIf
                LockWindowUpdate_(GadgetID(#ADVEditor))
                SendMessage_(GadgetID(#ADVEditor),#EM_SETSEL,0,-1)
                SendMessage_(GadgetID(#ADVEditor),#EM_REPLACESEL,#False,"")
                SendMessage_(GadgetID(#ADVEditor),#EM_SETMODIFY,0,0)
                LockWindowUpdate_(0)
                StatusBarText(#StatusWindow, 1, "neuesDokument")
                SetFocus_(GadgetID(#ADVEditor))
            Case #FileOpen
                DName$ = OpenFileRequester("Datei laden :","*.*", "Text-Dateien|*.txt|Rich Text Files|*.rtf", 0)
                If DName$
                    If UCase(GetExtensionPart(DName$)) = "RTF"
                        ADVEditor_LoadFile(#ADVEditor,DName$,#SF_RTF)
                    Else
                        ADVEditor_LoadFile(#ADVEditor,DName$,#SF_TEXT)
                    EndIf
                    StatusBarText(#StatusWindow, 1, DName$)
                    SendMessage_(GadgetID(#ADVEditor),#EM_SETMODIFY,0,0)
                EndIf
                SetFocus_(GadgetID(#ADVEditor))
            Case #FileSave
                DName$ = Space(255)
                SendMessage_(StatusBar,#SB_GETTEXT,1,DName$)
                Debug DName$
                If DName$ = "neues Dokument"
                DName$ = SaveFileRequester("Datei speichern :","unbenannt.rtf", "Text-Dateien|*.txt|Rich Text Files|*.rtf", 0)
                EndIf
                If DName$
                    If UCase(GetExtensionPart(DName$)) = "RTF"
                        ADVEditor_SaveFile(#ADVEditor,DName$,#SF_RTF)
                    Else
                        ADVEditor_SaveFile(#ADVEditor,DName$,#SF_TEXT)
                    EndIf
                    SendMessage_(GadgetID(#ADVEditor),#EM_SETMODIFY,0,0)
                EndIf
            Case #FileSaveAs
                DName$ = SaveFileRequester("Datei speichern :","*.*", "Rich Text Files|*.rtf|Text-Dateien|*.txt", 0)
                If DName$
                    If UCase(GetExtensionPart(DName$)) = "RTF"
                        ADVEditor_SaveFile(#ADVEditor,DName$,#SF_RTF)
                    Else
                        ADVEditor_SaveFile(#ADVEditor,DName$,#SF_TEXT)
                    EndIf
                    SendMessage_(GadgetID(#ADVEditor),#EM_SETMODIFY,0,0)
                EndIf
            Case #AppInsertOLE
                ADVEditor_InsertOLE(#ADVEditor)
            Case #AppInsertAsFile
                DName$ = OpenFileRequester("Bitmap laden :","*.*","BMP|*.bmp|JPEG|*.jpg|TIFF|*.tif|PNG|*.png|TGA|*.tga", 0)
                ADVEditor_InserthBitmap(#ADVEditor,LoadImage(0,DName$))
                FreeImage(0)
            Case #AppHelp
                MessageRequester("Hilfe","Hilfe gibt es nicht !",#MB_ICONQUESTION|#MB_SYSTEMMODAL)
            EndSelect
        Case #PB_EventGadget
            Select EventGadgetID()
            Case #AboutOK
                ShowWindow_(WindowID(#Aboutwindow),#False)
            EndSelect
            
        EndSelect
    Until Quit = 1
EndIf


;Hilfs-Prozeduren

Procedure MyMakeLong(value1.w,value2.w)
    ProcedureReturn Value1 | (value2 * $10000)
EndProcedure

Procedure MyFileExists(buffer.s)
    Protected retvals
    find.WIN32_FIND_DATA
    retvals = FindFirstFile_(buffer,find)
    FindClose_(retvals)
    If retvals = #INVALID_HANDLE_VALUE
        ProcedureReturn 0
    Else
        ProcedureReturn 1
    EndIf
EndProcedure

Procedure TB_InsertSwitch(TB1,CommandID,ImageID)
    Button.TBBUTTON
    Button\iBitmap = ImageID
    Button\IdCommand = CommandID
    Button\fsState = #TBSTATE_ENABLED
    Button\fsStyle = #TBSTYLE_CHECK
    SendMessage_(Tb1,#TB_INSERTBUTTON,-1,Button)
EndProcedure

Procedure TB_InsertGroupSwitch(TB1,CommandID,ImageID)
    Button.TBBUTTON
    Button\iBitmap = ImageID
    Button\IdCommand = CommandID
    Button\fsState = #TBSTATE_ENABLED
    Button\fsStyle = #TBSTYLE_CHECKGROUP
    SendMessage_(Tb1,#TB_INSERTBUTTON,-1,Button)
EndProcedure

Procedure About()
    If OpenWindow(#AboutWindow, 0, 0, 500,500,#PB_Window_ScreenCentered|#PB_Window_Invisible,"About")
        UseWindow(#AboutWindow)
        If CreateGadgetList(WindowID())
            ButtonGadget(#AboutOK, 210, 470,80,24,"OK",#PB_Button_Default)
            ADVEditor(#AboutADVEditor,0,0,500,460,2)
            ADVEditor_Catch(#AboutADVEditor,?About)
            EnableWindow_(GadgetID(#AboutADVEditor),#False)
            SetFocus_(GadgetID(#AboutOK))
        EndIf
    EndIf
    UseWindow(#MainWindow)
EndProcedure


Procedure DLGCallBack(hwnd,msg,wparam,lparam)
    Select msg
    Case #WM_INITDIALOG
        ;Toolbar deaktivieren
        EnableWindow_(ToolBar,#False)
        ;Combobox füllen
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Bullet")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Kleinbuchstaben a")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Großbuchstaben A")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"arabische Ziffern 1")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"römische Ziffern I")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Kleinbuchstaben a)")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Großbuchstaben A)")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"arabische Ziffern 1)")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"römische Ziffern I)")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Kleinbuchstaben (a)")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Großbuchstaben (A)")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"arabische Ziffern (1)")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"römische Ziffern (I)")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Kleinbuchstaben a.")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Großbuchstaben A.")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"arabische Ziffern 1.")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"römische Ziffern I.")
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_SETCURSEL,0,0)
        ;Updown-Range
        SendMessage_(GetDlgItem_(hwnd,#ID_SPIN1),#UDM_SETRANGE,0,MyMakeLong(#SPIN_MAX,#SPIN_MIN))
        SendMessage_(GetDlgItem_(hwnd,#ID_SPIN2),#UDM_SETRANGE,0,MyMakeLong(#SPIN_MAX,#SPIN_MIN))
        SendMessage_(GetDlgItem_(hwnd,#ID_SPIN3),#UDM_SETRANGE,0,MyMakeLong(#SPIN_MAX,#SPIN_MIN))
        SendMessage_(GetDlgItem_(hwnd,#ID_SPIN4),#UDM_SETRANGE,0,MyMakeLong(#SPIN_MAX,#SPIN_MIN))
        ;Werte auslesen
        If MyFileExists(#MYPREF)
            OpenPreferences(#MYPREF)
            PreferenceGroup(#MYMAINGROUP)
            ;Combobox setzen
            SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_SETCURSEL,ReadPreferenceLong(#MYCOMBO,0),0)
            ;Updowns setzen
            SendMessage_(GetDlgItem_(hwnd,#ID_SPIN1),#UDM_SETPOS,0,MyMakeLong(ReadPreferenceLong(#MYSPIN1,0),0))
            SendMessage_(GetDlgItem_(hwnd,#ID_SPIN2),#UDM_SETPOS,0,MyMakeLong(ReadPreferenceLong(#MYSPIN2,0),0))
            SendMessage_(GetDlgItem_(hwnd,#ID_SPIN3),#UDM_SETPOS,0,MyMakeLong(ReadPreferenceLong(#MYSPIN3,0),0))
            SendMessage_(GetDlgItem_(hwnd,#ID_SPIN4),#UDM_SETPOS,0,MyMakeLong(ReadPreferenceLong(#MYSPIN4,0),0))
            ClosePreferences()
        EndIf
        ;Dialog anzeigen
        ShowWindow_(hwnd,1)
        ProcedureReturn #True
    Case #WM_COMMAND
        Select wparam
        Case #ID_OK
            ;speichern !
            If MyFileExists(#MYPREF)
               OpenPreferences(#MYPREF)
            Else
               CreatePreferences(#MYPREF)
            EndIf   
            PreferenceGroup(#MYMAINGROUP)
            ;Combobox speichern
            WritePreferenceLong(#MYCOMBO,SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_GETCURSEL,0,0) )
            ;Updowns speichern
            WritePreferenceLong(#MYSPIN1,SendMessage_(GetDlgItem_(hwnd,#ID_SPIN1),#UDM_GETPOS,0,0) )
            WritePreferenceLong(#MYSPIN2,SendMessage_(GetDlgItem_(hwnd,#ID_SPIN2),#UDM_GETPOS,0,0) )
            WritePreferenceLong(#MYSPIN3,SendMessage_(GetDlgItem_(hwnd,#ID_SPIN3),#UDM_GETPOS,0,0) )
            WritePreferenceLong(#MYSPIN4,SendMessage_(GetDlgItem_(hwnd,#ID_SPIN4),#UDM_GETPOS,0,0) )
            ClosePreferences()
            EnableWindow_(ToolBar,#True)
            EndDialog_(hwnd,0)
        Case #ID_CANCEL
            EnableWindow_(ToolBar,#True)
            EndDialog_(hwnd,0)
        EndSelect
    EndSelect
EndProcedure

Procedure WCB(hwnd,Message,wparam,lparam)
    Result = #PB_ProcessPureBasicEvents
    Select Message
    Case #WM_HELP
        MessageRequester("Hilfe","Hilfe gibt es nicht !",#MB_ICONQUESTION|#MB_SYSTEMMODAL)
    Case #WM_SIZE
        SetWindowPos_(GadgetID(#ADVEditor),0,0,40,WindowWidth(),WindowHeight()-80,#SWP_NOZORDER|#SWP_NOMOVE)
    Case 4000
        If wparam = GadgetID(#ADVEditor)
            StatusBarText(#StatusWindow, 0, "Zeile :"+StringField(PeekS(lParam),2,";"))
            If Val(StringField(PeekS(lParam),4,";")) > 0
                SendMessage_(Toolbar,#TB_SETSTATE,#AppBullet,5)
            Else
                SendMessage_(Toolbar,#TB_SETSTATE,#AppBullet,4)
            EndIf
            If Val(StringField(PeekS(lParam),5,";")) > 0
                SendMessage_(Toolbar,#TB_SETSTATE,#AppLeft,5)
                SendMessage_(Toolbar,#TB_SETSTATE,#AppCenter,4)
                SendMessage_(Toolbar,#TB_SETSTATE,#AppRight,4)
            ElseIf Val(StringField(PeekS(lParam),6,";")) > 0
                SendMessage_(Toolbar,#TB_SETSTATE,#AppLeft,4)
                SendMessage_(Toolbar,#TB_SETSTATE,#AppCenter,5)
                SendMessage_(Toolbar,#TB_SETSTATE,#AppRight,4)
            ElseIf Val(StringField(PeekS(lParam),7,";")) > 0
                SendMessage_(Toolbar,#TB_SETSTATE,#AppLeft,4)
                SendMessage_(Toolbar,#TB_SETSTATE,#AppCenter,4)
                SendMessage_(Toolbar,#TB_SETSTATE,#AppRight,5)
            EndIf
            If Val(StringField(PeekS(lParam),8,";")) = 1
                SendMessage_(Toolbar,#TB_SETSTATE,#AppIndent,5)
            Else
                SendMessage_(Toolbar,#TB_SETSTATE,#AppIndent,4)
            EndIf
        EndIf
    EndSelect
    ProcedureReturn Result
EndProcedure


DataSection
About:
IncludeBinary "AboutBox.rtf"
ToolImage1:
IncludeBinary "Formatba1.bmp"
ToolImage2:
IncludeBinary "Formatba.bmp"
MaskImage:
IncludeBinary "Formatba2.bmp"
ResDialog:
IncludeBinary "Dialog.bin"
EndDataSection

Verfasst: 23.07.2006 19:46
von ts-soft
Mit dem Democode wirste wohl nicht viel anfangen können, es sei denn es
gibt eine neue PB4 kompatible Lib. Beispiele für das EditorGadget findeste
aber im CodeArchiv, im engl. Forum und hier, einfach mal suchen.

Mit der Demoversion von PB wirds aber nicht viel bringen, weil dafür viel API
gebraucht wird

Verfasst: 23.07.2006 20:33
von pankgraf
ts-soft hat geschrieben:Mit dem Democode wirste wohl nicht viel anfangen können,
Das denke ich auch.
Ich habe Eckhard trotzdem den Gefallen getan, nur um zu zeigen, daß die Änderungen für PB 4.0 kinderleicht sind.
Alles mit »ADVEditor...()« mußte ich auskommentieren, da ich diese Prozedur nicht habe. Übrigens, mir fehlt der Mut zum Risiko...

»SendMessage_(GadgetID(#ADVEditor)« u. Ä. habe ich stehen lassen. weil diese Art von Befehlen (API) den Debugger nicht zum Widerspruch reizen.

Code: Alles auswählen

UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTGAImageDecoder()
UseTIFFImageDecoder()

Declare MyMakeLong(Value1.w,value2.w)
Declare MyFileExists(Buffer.s)
Declare TB_InsertSwitch(TB1,CommandID,ImageID)
Declare TB_InsertGroupSwitch(TB1,CommandID,ImageID)
Declare DLGCallBack(hwnd,msg,wParam,lParam)
Declare WCB(hwnd,message,wParam,lParam)
Declare About()

Dim StatusParts.l(254)
Global StatusBar.l,Toolbar.l,ComboBox.l,IL.l,IL1.l

#TB_SETIMAGELIST = 1072
#TB_SETHOTIMAGELIST = 1076

;Hintergrundfarbe Toolbar-Buttons
#CLR_BACKGROUND  = $BFBFBF
;Buttongröße
#TB_BUTTONHEIGHT = 16

;BitmapID
#ID_BITMAP1   ="#1000"
#ID_BITMAP2   ="#1001"

;ID's Dialog
#ID_DIALOG   ="#1001"
#ID_DIALOG1  ="#1002"
#ID_OK       = 1
#ID_CANCEL   = 2
#ID_COMBOBOX = 1000
#ID_SPIN1    = 1003
#ID_SPIN2    = 1005
#ID_SPIN3    = 1007
#ID_SPIN4    = 1009

;Updown Werte
#SPIN_MAX     = 100
#SPIN_MIN     = -100

;Ini-Files
#MYPREF       = "MyProg.ini"
#MYPREF1      = "MyPos.ini"
#MYMAINGROUP  = "MAIN"
#MYCOMBO      = "COMBO"
#MYSPIN1      = "SPIN1"
#MYSPIN2      = "SPIN2"
#MYSPIN3      = "SPIN3"
#MYSPIN4      = "SPIN4"
#MYPOSITIONS  = "POSITION"
#MYPOSX       = "POSX"
#MYPOSY       = "POXY"
#MYPOSW       = "POSW"
#MYPOSH       = "POSH"

Enumeration;Fenster
  #MainWindow
  #StatusWindow
  #Toolbar
  #FontSelect
  #ADVEditor
  #AboutWindow
  #AboutOK
  #AboutADVEditor
EndEnumeration

Enumeration;Toolbar-Bitmaps
  #ID_CUT
  #ID_COPY
  #ID_INSERT
  #ID_UNDO
  #ID_REDO
  #ID_DELETE
  #ID_NEW
  #ID_OPEN
  #ID_SAVE
  #ID_PAGESETUP
  #ID_PROPERTIES
  #ID_HELP
  #ID_SEARCH
  #ID_REPLACE
  #ID_PRINT
  #ID_BOLD
  #ID_ITALIC
  #ID_UNDERLINE
  #ID_FONT
  #ID_LEFT
  #ID_CENTER
  #ID_RIGHT
  #ID_BULLET
  #ID_PREFORMAT
  #ID_LINESPACE
  #ID_INDENT
  #ID_END
EndEnumeration

Enumeration 100;Menüs
  #MainMenu
  #Contextmenu
EndEnumeration

Enumeration 200;Datei-Menü
  #FileNew
  #FileOpen
  #FileSave
  #FileSaveAs
  #FilePageSetup
  #FilePrint
  #AppClose
EndEnumeration

Enumeration 300;Bearbeiten
  #AppUndo
  #AppCut
  #AppCopy
  #AppDelete
  #AppInsert
  #AppInsertOLE
  #AppInsertAsFile
EndEnumeration

Enumeration 400;Formatierung
  #AppLeft
  #AppCenter
  #AppRight
  #AppBullet
  #AppLinespace
  #AppIndent
  #AppPreFormat
  #AppFont
  #AppBold
  #AppItalic
  #AppUnderline
EndEnumeration

Enumeration 500;Hilfe
  #AppHelp
  #AppAbout
EndEnumeration

;Image
Enumeration 600
  #Image
EndEnumeration

hwnd = OpenWindow(#MainWindow, 0, 0,200,255, "ADVEditor-Testprogramm", #PB_Window_SizeGadget|#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget) 
If hwnd And CreateGadgetList(hwnd)
  About()
  If CreatePopupMenu(#Contextmenu)
    MenuItem(#FileNew,"Neu")
    MenuItem(#FileOpen,"Öffnen")
    MenuItem(#FileSave, "Speichern")
    MenuItem(#FileSaveAs, "Speichern als...")
    MenuBar()
    MenuItem(#AppUndo,"Undo")
    MenuBar()
    MenuItem(#AppCut,"Ausschneiden")
    MenuItem(#AppCopy,"Kopieren")
    OpenSubMenu("Einfügen")
    MenuItem(#AppInsertOLE,"OLE Objekt")
    MenuItem(#AppInsertAsFile,"Bitmap aus Datei")
    MenuBar()
    MenuItem(#AppInsert,"Clipboard")
    CloseSubMenu()
    MenuItem(#AppDelete,"Löschen")
    MenuBar()
    MenuItem(#AppPreFormat,"Formatierungs-Voreinstellungen")
  EndIf
  
  ; If CreateMenu(#MainMenu, WindowID())
  ;Datei-Menü
  MenuTitle("Datei")
  MenuItem(#FileNew,"Neu")
  MenuItem(#FileOpen,"Öffnen")
  MenuItem(#FileSave, "Speichern")
  MenuItem(#FileSaveAs, "Speichern als...")
  MenuBar()
  MenuItem(#FilePageSetup, "Seiten einrichten")
  MenuItem(#FilePrint, "Drucken")
  MenuBar()
  MenuItem(#AppClose, "Ende")
  ;  Bearbeiten-Menü
  MenuTitle("Bearbeiten")
  MenuItem(#AppUndo,"Undo")
  MenuBar()
  MenuItem(#AppCut,"Ausschneiden")
  MenuItem(#AppCopy,"Kopieren")
  OpenSubMenu("Einfügen")
  MenuItem(#AppInsertOLE,"OLE Objekt")
  MenuItem(#AppInsertAsFile,"Bitmap aus Datei")
  MenuBar()
  MenuItem(#AppInsert,"Clipboard")
  CloseSubMenu()
  MenuItem(#AppDelete,"Löschen")
  MenuBar()
  MenuItem(#AppPreFormat,"Formatierungs-Voreinstellungen")
  ;  Hilfe-Menü
  MenuTitle("Hilfe")
  MenuItem(#AppHelp,"Hilfe")
  MenuItem(#AppAbout,"Über...")
EndIf
   
   
  ;  If CreateGadgetList(WindowID())
        ;Status-Bar
   ;     StatusBar = CreateStatusBar(#StatusWindow, WindowID())
StatusParts(0) = 80
StatusParts(1) = -1;der letzte Eintrag wird an die Breite angepasst
SendMessage_(StatusBar,#SB_SETPARTS,2,@StatusParts(0))
StatusBarText(#StatusWindow, 1, "neues Dokument")
        ;Toolbar
Toolbar = CreateToolBar(#Toolbar, WindowID(#MainWindow))
SendMessage_(Toolbar,#TB_SETSTYLE,0,$50000B41)
       
IL1 =  ImageList_Create_(16,16,#ILC_MASK,0,0)
ImageList_Add_(IL1,CatchImage(0,?Toolimage1),CatchImage(1,?MaskImage))
FreeImage(0)
FreeImage(1)
IL = ImageList_Create_(16,16,#ILC_MASK,0,0)
ImageList_Add_(IL,CatchImage(0,?Toolimage2),CatchImage(1,?MaskImage))
FreeImage(0)
FreeImage(1)
       
SendMessage_(Toolbar,#TB_SETIMAGELIST,0,IL1)
SendMessage_(Toolbar,#TB_SETHOTIMAGELIST,0,IL)
ToolBarStandardButton(#FileNew, #ID_NEW)
ToolBarStandardButton(#FileOpen, #ID_OPEN)
ToolBarStandardButton(#FileSave, #ID_SAVE)
ToolBarSeparator()
ToolBarStandardButton(#FilePageSetup, #ID_PROPERTIES)
ToolBarStandardButton(#FilePrint, #ID_PRINT)
ToolBarSeparator()
ToolBarStandardButton(#AppClose,#ID_END)
ToolBarSeparator()
ToolBarStandardButton(#AppUndo, #ID_UNDO)
ToolBarStandardButton(#AppCut, #ID_CUT)
ToolBarStandardButton(#AppDelete, #ID_DELETE)
ToolBarStandardButton(#AppCopy, #ID_COPY)
ToolBarStandardButton(#AppInsert, #ID_INSERT)
ToolBarSeparator()
ToolBarStandardButton(#AppHelp, #PB_ToolBarIcon_Help)
ToolBarToolTip(1,#FileNew,"Neue Datei")
ToolBarToolTip(2,#FileOpen,"Datei öffnen")
ToolBarToolTip(3,#FileSave,"Datei speichern")
ToolBarToolTip(4,#FilePageSetup,"Seite einrichten")
ToolBarToolTip(5,#FilePrint,"Drucken")
ToolBarToolTip(6,#AppClose,"Programm beenden")
ToolBarToolTip(7,#AppUndo,"letzte Aktion rückgängig")
ToolBarToolTip(8,#AppCut,"ausschneiden")
ToolBarToolTip(9,#AppDelete,"löschen")
ToolBarToolTip(10,#AppCopy,"kopieren")
ToolBarToolTip(11,#AppInsert,"einfügen")
ToolBarToolTip(12,#AppHelp,"Hilfe")
ToolBarSeparator()
TB_InsertGroupSwitch(Toolbar,#AppLeft,#ID_LEFT)
TB_InsertGroupSwitch(Toolbar,#AppCenter,#ID_CENTER)
TB_InsertGroupSwitch(Toolbar,#AppRight,#ID_RIGHT)
TB_InsertSwitch(Toolbar,#AppBold,#ID_BOLD)
TB_InsertSwitch(Toolbar,#AppItalic,#ID_ITALIC)
TB_InsertSwitch(Toolbar,#AppUnderline,#ID_UNDERLINE)
TB_InsertSwitch(Toolbar,#AppBullet,#ID_BULLET)
TB_InsertSwitch(Toolbar,#AppIndent,#ID_INDENT)
TB_InsertSwitch(Toolbar,#AppLinespace,#ID_LINESPACE)
ToolBarSeparator()
ToolBarStandardButton(#AppPreFormat, #ID_PREFORMAT)
ToolBarStandardButton(#AppFont, #ID_FONT)
ToolBarToolTip(13,#AppLeft,"linkbündig")
ToolBarToolTip(14,#AppCenter,"zentriert")
ToolBarToolTip(15,#AppRight,"rechtsbündig")
ToolBarToolTip(16,#AppBullet,"Bullet")
ToolBarToolTip(17,#AppIndent,"Einzug")
ToolBarToolTip(18,#AppLinespace,"Zeilenabstand")
ToolBarToolTip(19,#AppPreFormat,"Formatierungs-Voreinstellungen")
SetWindowCallback(@WCB())
;ADVEditor(#ADVEditor,0,40,WindowWidth(),WindowHeight()-80,3)
;ADVEditor_AttachContextMenu(#Contextmenu,WindowID())
;ADVEditor_AttachPrinter(#ADVEditor,"myPrinter.adv",1)
SetFocus_(GadgetID(#ADVEditor))
;ADVEditor_AttachPositions(#ADVEditor,4000)
       
OpenPreferences(#MYPREF1)
PreferenceGroup(#MYPOSITIONS)
MoveWindow_(WindowID(#MainWindow),ReadPreferenceLong(#MYPOSX,0),ReadPreferenceLong(#MYPOSY,0),ReadPreferenceLong(#MYPOSW,800),ReadPreferenceLong(#MYPOSH,600),#True)
ShowWindow_(WindowID(#MainWindow),#True)
ClosePreferences()

   
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      If SendMessage_(GadgetID(#ADVEditor),#EM_GETMODIFY,0,0)
        If MessageRequester("Meldung","Dokument wurde geändert. Speichern ?",#MB_YESNO|#MB_ICONQUESTION|#MB_SYSTEMMODAL) = #IDYES
          DName$ = SaveFileRequester("Datei speichern :","*.rtf","Text-Dateien|*.txt|Rich Text Files|*.rtf", 0)
          If UCase(GetExtensionPart(DName$)) = "RTF"
            ;ADVEditor_SaveFile(#ADVEditor,DName$,#SF_RTF)
          Else
            ;ADVEditor_SaveFile(#ADVEditor,DName$,#SF_TEXT)
          EndIf
        EndIf
      EndIf
      ImageList_Destroy_(IL)
      ImageList_Destroy_(IL1)
      CreatePreferences(#MYPREF1)
      PreferenceGroup(#MYPOSITIONS) 
      WritePreferenceLong(#MYPOSX,WindowX(#MainWindow))
      WritePreferenceLong(#MYPOSY,WindowY(#MainWindow))
      WritePreferenceLong(#MYPOSW,WindowWidth(#MainWindow))
      WritePreferenceLong(#MYPOSH,WindowHeight(#MainWindow))
      ClosePreferences()
      Quit = 1
    Case  #PB_Event_Menu
      Select EventMenu()
        Case #AppClose
          SendMessage_(WindowID(#MainWindow),#WM_CLOSE,0,0)
        Case #FilePageSetup
          ;ADVEditor_LoadPageSetup(#ADVEditor,"myPrinter.adv")
          ;ADVEditor_PageSetup(#ADVEditor)
          ;ADVEditor_SavePageSetup(#ADVEditor,"myPrinter.adv")
        Case #FilePrint
          ;ADVEditor_Print(#ADVEditor,"myPrinter.adv",0)
        Case #AppCopy
          SendMessage_(GadgetID(#ADVEditor),#WM_COPY,0,0)
        Case #AppDelete
          SendMessage_(GadgetID(#ADVEditor),#WM_CLEAR,0,0)
        Case #AppInsert
          SendMessage_(GadgetID(#ADVEditor),#WM_PASTE,0,0)
        Case #AppCut
          SendMessage_(GadgetID(#ADVEditor),#WM_CUT,0,0)
        Case #AppUndo
          SendMessage_(GadgetID(#ADVEditor),#WM_UNDO,0,0)
        Case #AppFont
          ;ADVEditor_Pickfont(#ADVEditor)
          SetFocus_(GadgetID(#ADVEditor))
        Case #AppLeft
          ;ADVEditor_LeftAlign(#ADVEditor)
        Case #AppCenter
          ;ADVEditor_CenterAlign(#ADVEditor)
        Case #AppRight
          ;ADVEditor_RightAlign(#ADVEditor)
        Case #AppBold
          ;ADVEditor_SetBold(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBold,0))
        Case #AppItalic
          ;ADVEditor_SetItalic(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppItalic,0))
        Case #AppUnderline
          ;ADVEditor_SetUnderline(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppUnderline,0),-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppUnderline,0))
          
        Case #AppBullet
          If MyFileExists(#MYPREF)
            OpenPreferences(#MYPREF)
            PreferenceGroup(#MYMAINGROUP)
            Select ReadPreferenceLong(#MYCOMBO,0)
              Case 0
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,1,0)
              Case 1
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,3,3)
              Case 2
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,4,3)
              Case 3
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,2,3)
              Case 4
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,6,3)
              Case 5
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,3,0)
              Case 6
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,4,0)
              Case 7
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,2,0)
              Case 8
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,6,0)
              Case 9
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,3,1)
              Case 10
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,4,1)
              Case 11
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,2,1)
              Case 12
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,6,1)
              Case 13
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,3,2)
              Case 14
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),0,4,2)
              Case 15
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,2,2)
              Case 16
                ;ADVEditor_Bullet(#ADVEditor,-4+SendMessage_(Toolbar,#TB_GETSTATE,#AppBullet,0),1,6,2)
            EndSelect
            ClosePreferences()
          EndIf
        Case #AppIndent
          If SendMessage_(Toolbar,#TB_GETSTATE,#AppIndent,0) = 5
            If MyFileExists(#MYPREF)
              OpenPreferences(#MYPREF)
              PreferenceGroup(#MYMAINGROUP)
              ;ADVEditor_LeftOffset(#ADVEditor,MyMakeLong(ReadPreferenceLong(#MYSPIN1,0),0),MyMakeLong(ReadPreferenceLong(#MYSPIN2,0),0))
              ClosePreferences()
            EndIf
          Else
            ;ADVEditor_LeftOffset(#ADVEditor,0,0)
          EndIf
        Case #AppLinespace
          If SendMessage_(Toolbar,#TB_GETSTATE,#AppLinespace,0) = 5
            If MyFileExists(#MYPREF)
              OpenPreferences(#MYPREF)
              PreferenceGroup(#MYMAINGROUP)
              ;ADVEditor_Spacing(#ADVEditor,MyMakeLong(ReadPreferenceLong(#MYSPIN3,0),0),MyMakeLong(ReadPreferenceLong(#MYSPIN4,0),0))
              ClosePreferences()
            EndIf
          Else
            ;ADVEditor_Spacing(#ADVEditor,0,0)
          EndIf
        Case #AppPreFormat
          CreateDialogIndirectParam_(0,?ResDialog,WindowID(#MainWindow),@DLGCallBack(),0)
        Case #AppAbout
          ShowWindow_(WindowID(#AboutWindow),#True)
        Case #FileNew
          If SendMessage_(GadgetID(#ADVEditor),#EM_GETMODIFY,0,0)
            If MessageRequester("Meldung","Dokument wurde geändert. Speichern ?",#MB_YESNO|#MB_ICONQUESTION|#MB_SYSTEMMODAL) = #IDYES
              DName$ = SaveFileRequester("Datei speichern :","*.rtf","Text-Dateien|*.txt|Rich Text Files|*.rtf", 0)
              If UCase(GetExtensionPart(DName$)) = "RTF"
                ;ADVEditor_SaveFile(#ADVEditor,DName$,#SF_RTF)
              Else
                ;ADVEditor_SaveFile(#ADVEditor,DName$,#SF_TEXT)
              EndIf
            EndIf
          EndIf
          LockWindowUpdate_(GadgetID(#ADVEditor))
          SendMessage_(GadgetID(#ADVEditor),#EM_SETSEL,0,-1)
          SendMessage_(GadgetID(#ADVEditor),#EM_REPLACESEL,#False,"")
          SendMessage_(GadgetID(#ADVEditor),#EM_SETMODIFY,0,0)
          LockWindowUpdate_(0)
          StatusBarText(#StatusWindow, 1, "neuesDokument")
          SetFocus_(GadgetID(#ADVEditor))
        Case #FileOpen
          DName$ = OpenFileRequester("Datei laden :","*.*", "Text-Dateien|*.txt|Rich Text Files|*.rtf", 0)
          If DName$
            If UCase(GetExtensionPart(DName$)) = "RTF"
              ;ADVEditor_LoadFile(#ADVEditor,DName$,#SF_RTF)
            Else
              ;ADVEditor_LoadFile(#ADVEditor,DName$,#SF_TEXT)
            EndIf
            StatusBarText(#StatusWindow, 1, DName$)
            SendMessage_(GadgetID(#ADVEditor),#EM_SETMODIFY,0,0)
          EndIf
          SetFocus_(GadgetID(#ADVEditor))
        Case #FileSave
          DName$ = Space(255)
          SendMessage_(StatusBar,#SB_GETTEXT,1,DName$)
          Debug DName$
          If DName$ = "neues Dokument"
            DName$ = SaveFileRequester("Datei speichern :","unbenannt.rtf", "Text-Dateien|*.txt|Rich Text Files|*.rtf", 0)
          EndIf
          If DName$
            If UCase(GetExtensionPart(DName$)) = "RTF"
              ;ADVEditor_SaveFile(#ADVEditor,DName$,#SF_RTF)
            Else
              ;ADVEditor_SaveFile(#ADVEditor,DName$,#SF_TEXT)
            EndIf
            SendMessage_(GadgetID(#ADVEditor),#EM_SETMODIFY,0,0)
          EndIf
        Case #FileSaveAs
          DName$ = SaveFileRequester("Datei speichern :","*.*", "Rich Text Files|*.rtf|Text-Dateien|*.txt", 0)
          If DName$
            If UCase(GetExtensionPart(DName$)) = "RTF"
              ;ADVEditor_SaveFile(#ADVEditor,DName$,#SF_RTF)
            Else
              ;ADVEditor_SaveFile(#ADVEditor,DName$,#SF_TEXT)
            EndIf
            SendMessage_(GadgetID(#ADVEditor),#EM_SETMODIFY,0,0)
          EndIf
        Case #AppInsertOLE
          ;ADVEditor_InsertOLE(#ADVEditor)
        Case #AppInsertAsFile
          DName$ = OpenFileRequester("Bitmap laden :","*.*","BMP|*.bmp|JPEG|*.jpg|TIFF|*.tif|PNG|*.png|TGA|*.tga", 0)
          ;ADVEditor_InserthBitmap(#ADVEditor,LoadImage(0,DName$))
          FreeImage(0)
        Case #AppHelp
          MessageRequester("Hilfe","Hilfe gibt es nicht !",#MB_ICONQUESTION|#MB_SYSTEMMODAL)
      EndSelect
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #AboutOK
          ShowWindow_(WindowID(#AboutWindow),#False)
      EndSelect
      
  EndSelect
Until Quit = 1



;Hilfs-Prozeduren

Procedure MyMakeLong(Value1.w,value2.w)
  ProcedureReturn Value1 | (value2 * $10000)
EndProcedure

Procedure MyFileExists(Buffer.s)
  Protected retvals
  find.WIN32_FIND_DATA
  retvals = FindFirstFile_(Buffer,find)
  FindClose_(retvals)
  If retvals = #INVALID_HANDLE_VALUE
    ProcedureReturn 0
  Else
    ProcedureReturn 1
  EndIf
EndProcedure

Procedure TB_InsertSwitch(TB1,CommandID,ImageID)
  Button.TBBUTTON
  Button\iBitmap = ImageID
  Button\idCommand = CommandID
  Button\fsState = #TBSTATE_ENABLED
  Button\fsStyle = #TBSTYLE_CHECK
  SendMessage_(TB1,#TB_INSERTBUTTON,-1,Button)
EndProcedure

Procedure TB_InsertGroupSwitch(TB1,CommandID,ImageID)
  Button.TBBUTTON
  Button\iBitmap = ImageID
  Button\idCommand = CommandID
  Button\fsState = #TBSTATE_ENABLED
  Button\fsStyle = #TBSTYLE_CHECKGROUP
  SendMessage_(TB1,#TB_INSERTBUTTON,-1,Button)
EndProcedure

Procedure About()
  If OpenWindow(#AboutWindow, 0, 0, 500,500,"About",#PB_Window_ScreenCentered|#PB_Window_Invisible)
    
    If CreateGadgetList(WindowID(#AboutWindow))
      ButtonGadget(#AboutOK, 210, 470,80,24,"OK",#PB_Button_Default)
      ;ADVEditor(#AboutADVEditor,0,0,500,460,2)
      ;ADVEditor_Catch(#AboutADVEditor,?About)
      EnableWindow_(GadgetID(#AboutADVEditor),#False)
      SetFocus_(GadgetID(#AboutOK))
    EndIf
  EndIf
  
EndProcedure


Procedure DLGCallBack(hwnd,msg,wParam,lParam)
  Select msg
    Case #WM_INITDIALOG
      ;Toolbar deaktivieren
      EnableWindow_(Toolbar,#False)
      ;Combobox füllen
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Bullet")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Kleinbuchstaben a")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Großbuchstaben A")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"arabische Ziffern 1")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"römische Ziffern I")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Kleinbuchstaben a)")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Großbuchstaben A)")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"arabische Ziffern 1)")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"römische Ziffern I)")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Kleinbuchstaben (a)")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Großbuchstaben (A)")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"arabische Ziffern (1)")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"römische Ziffern (I)")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Kleinbuchstaben a.")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"Großbuchstaben A.")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"arabische Ziffern 1.")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_ADDSTRING,0,@"römische Ziffern I.")
      SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_SETCURSEL,0,0)
      ;Updown-Range
      SendMessage_(GetDlgItem_(hwnd,#ID_SPIN1),#UDM_SETRANGE,0,MyMakeLong(#SPIN_MAX,#SPIN_MIN))
      SendMessage_(GetDlgItem_(hwnd,#ID_SPIN2),#UDM_SETRANGE,0,MyMakeLong(#SPIN_MAX,#SPIN_MIN))
      SendMessage_(GetDlgItem_(hwnd,#ID_SPIN3),#UDM_SETRANGE,0,MyMakeLong(#SPIN_MAX,#SPIN_MIN))
      SendMessage_(GetDlgItem_(hwnd,#ID_SPIN4),#UDM_SETRANGE,0,MyMakeLong(#SPIN_MAX,#SPIN_MIN))
      ;Werte auslesen
      If MyFileExists(#MYPREF)
        OpenPreferences(#MYPREF)
        PreferenceGroup(#MYMAINGROUP)
        ;Combobox setzen
        SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_SETCURSEL,ReadPreferenceLong(#MYCOMBO,0),0)
        ;Updowns setzen
        SendMessage_(GetDlgItem_(hwnd,#ID_SPIN1),#UDM_SETPOS,0,MyMakeLong(ReadPreferenceLong(#MYSPIN1,0),0))
        SendMessage_(GetDlgItem_(hwnd,#ID_SPIN2),#UDM_SETPOS,0,MyMakeLong(ReadPreferenceLong(#MYSPIN2,0),0))
        SendMessage_(GetDlgItem_(hwnd,#ID_SPIN3),#UDM_SETPOS,0,MyMakeLong(ReadPreferenceLong(#MYSPIN3,0),0))
        SendMessage_(GetDlgItem_(hwnd,#ID_SPIN4),#UDM_SETPOS,0,MyMakeLong(ReadPreferenceLong(#MYSPIN4,0),0))
        ClosePreferences()
      EndIf
      ;Dialog anzeigen
      ShowWindow_(hwnd,1)
      ProcedureReturn #True
    Case #WM_COMMAND
      Select wParam
        Case #ID_OK
          ;speichern !
          If MyFileExists(#MYPREF)
            OpenPreferences(#MYPREF)
          Else
            CreatePreferences(#MYPREF)
          EndIf   
          PreferenceGroup(#MYMAINGROUP)
          ;Combobox speichern
          WritePreferenceLong(#MYCOMBO,SendMessage_(GetDlgItem_(hwnd,#ID_COMBOBOX),#CB_GETCURSEL,0,0) )
          ;Updowns speichern
          WritePreferenceLong(#MYSPIN1,SendMessage_(GetDlgItem_(hwnd,#ID_SPIN1),#UDM_GETPOS,0,0) )
          WritePreferenceLong(#MYSPIN2,SendMessage_(GetDlgItem_(hwnd,#ID_SPIN2),#UDM_GETPOS,0,0) )
          WritePreferenceLong(#MYSPIN3,SendMessage_(GetDlgItem_(hwnd,#ID_SPIN3),#UDM_GETPOS,0,0) )
          WritePreferenceLong(#MYSPIN4,SendMessage_(GetDlgItem_(hwnd,#ID_SPIN4),#UDM_GETPOS,0,0) )
          ClosePreferences()
          EnableWindow_(Toolbar,#True)
          EndDialog_(hwnd,0)
        Case #ID_CANCEL
          EnableWindow_(Toolbar,#True)
          EndDialog_(hwnd,0)
      EndSelect
  EndSelect
EndProcedure

Procedure WCB(hwnd,message,wParam,lParam)
  Result = #PB_ProcessPureBasicEvents
  Select message
    Case #WM_HELP
      MessageRequester("Hilfe","Hilfe gibt es nicht !",#MB_ICONQUESTION|#MB_SYSTEMMODAL)
    Case #WM_SIZE
      SetWindowPos_(GadgetID(#ADVEditor),0,0,40,WindowWidth(hwnd),WindowHeight(hwnd)-80,#SWP_NOZORDER|#SWP_NOMOVE)
    Case 4000
      If wParam = GadgetID(#ADVEditor)
        StatusBarText(#StatusWindow, 0, "Zeile :"+StringField(PeekS(lParam),2,";"))
        If Val(StringField(PeekS(lParam),4,";")) > 0
          SendMessage_(Toolbar,#TB_SETSTATE,#AppBullet,5)
        Else
          SendMessage_(Toolbar,#TB_SETSTATE,#AppBullet,4)
        EndIf
        If Val(StringField(PeekS(lParam),5,";")) > 0
          SendMessage_(Toolbar,#TB_SETSTATE,#AppLeft,5)
          SendMessage_(Toolbar,#TB_SETSTATE,#AppCenter,4)
          SendMessage_(Toolbar,#TB_SETSTATE,#AppRight,4)
        ElseIf Val(StringField(PeekS(lParam),6,";")) > 0
          SendMessage_(Toolbar,#TB_SETSTATE,#AppLeft,4)
          SendMessage_(Toolbar,#TB_SETSTATE,#AppCenter,5)
          SendMessage_(Toolbar,#TB_SETSTATE,#AppRight,4)
        ElseIf Val(StringField(PeekS(lParam),7,";")) > 0
          SendMessage_(Toolbar,#TB_SETSTATE,#AppLeft,4)
          SendMessage_(Toolbar,#TB_SETSTATE,#AppCenter,4)
          SendMessage_(Toolbar,#TB_SETSTATE,#AppRight,5)
        EndIf
        If Val(StringField(PeekS(lParam),8,";")) = 1
          SendMessage_(Toolbar,#TB_SETSTATE,#AppIndent,5)
        Else
          SendMessage_(Toolbar,#TB_SETSTATE,#AppIndent,4)
        EndIf
      EndIf
  EndSelect
  ProcedureReturn Result
EndProcedure


DataSection
About:
IncludeBinary "AboutBox.rtf"
Toolimage1:
IncludeBinary "Formatba1.bmp"
Toolimage2:
IncludeBinary "Formatba.bmp"
MaskImage:
IncludeBinary "Formatba2.bmp"
ResDialog:
IncludeBinary "Dialog.bin"
EndDataSection

Verfasst: 23.07.2006 21:07
von Eckhard.S
Danke, Pankgraf! Es läuft noh nicht alles, aber ist schon mal ein Anfang und ich lerne, wie es gemacht wird.

Viele Grüße
Eckhard

Verfasst: 23.07.2006 21:17
von pankgraf
Die Hilfe für PB 4.0 (PureBasic.chm) kannst du hier http://www.purearea.net/pb/download/Pur ... german.zip herunter laden. Damit müßtest du fast alle Fragen zu PB 4.0 selber beantworten können.

Verfasst: 23.07.2006 21:26
von Eckhard.S
Super! Merci!