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