Popup Edit Menu
Verfasst: 17.09.2010 18:06
Hallo,
ich bin langsam am Verzweifeln. Ich versuche nun schon seit über einer Stunde dass Popup-Menü zum anzeigen zum bringen. Leider wird es immer nicht angezeigt. Kann mir einer helfen?
Eigentlich sollte das Menü ja öffnen, wenn ich mit der Rechten Maustaste innerhalb des Panel Gadgets klicke.
Mfg
Markus

ich bin langsam am Verzweifeln. Ich versuche nun schon seit über einer Stunde dass Popup-Menü zum anzeigen zum bringen. Leider wird es immer nicht angezeigt. Kann mir einer helfen?
Code: Alles auswählen
; -------------------------------------------------------
; | EEditor v1.0 |
; | (C) by Markus Büttner, Juli - September 2010 |
; | OS: Windows |
; -------------------------------------------------------
UsePNGImageDecoder()
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
If InitScintilla("Scintilla.dll") = 0
MessageRequester("EEditor 1.1","Konnte Scintilla.dll nicht finden.") : End
EndIf
CompilerEndIf
;Variablen
;{
#Name = "EEditor 1.1"
Global suchrichtung.s
dirbuf.s = GetCurrentDirectory()
fontname.s = "Courier New"
cid.l = 1
nid.l = 1
fid.l = 1
fontsizel.l
;}
Procedure ErrorHandle()
wahl = MessageRequester("Error " + Str(ErrorCode()),"File: " + ErrorFile() + Chr(13) + "Message: " + ErrorMessage()+Chr(13)+"Möchtest du diesen Fehler melden?",#PB_MessageRequester_YesNoCancel)
If wahl = #PB_MessageRequester_Yes
If CreateMail(0,"EEditor Anwender","EEditor Fehler")
SetMailBody(0,"Errorcode: " + Str(ErrorCode()) + Chr(13)+"ErrorFile: "+ErrorFile()+Chr(13)+"ErrorMessage: "+ErrorMessage())
AddMailRecipient(0,"mb1-anlagen@web.de",#PB_Mail_To)
SendMail(0,"smtp.web.de",25,1)
Repeat
progress = MailProgress(0)
Delay(300)
Until progress = #PB_Mail_Error Or progress = #PB_Mail_Finished
If progress = #PB_Mail_Finished
MessageRequester(#Name,"Mail wurde erfolgreich versandt.")
Else
MessageRequester(#Name,"Mail konnte nicht versandt werden.")
EndIf
EndIf
EndIf
End
EndProcedure
;OnErrorCall(@ErrorHandle())
XIncludeFile "ScintillaHelper.pbi"
XIncludeFile "eeditordll.pb"
LoadIcons()
If OpenWindow(0,-4,-2,1000,750,#Name,#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_Maximize)
;Gadgets
;{
PanelGadget(0,0,30,WindowWidth(0),WindowHeight(0)-50)
AddGadgetItem(0,0,"Neue Datei",ImageID(100))
ScintillaGadget(100,0,0,WindowWidth(0)-5,WindowHeight(0)-75,#Null)
ScintillaSendMessages(100)
EnableGadgetDrop(0,#PB_Drop_Private|#PB_Drop_Files|#PB_Drop_Text,#PB_Drag_Copy|#PB_Drag_Move,#PB_Drag_Move)
;}
;Menü
;{
CreateImageMenu(0,WindowID(0),#PB_Menu_ModernLook)
MenuTitle("&Datei")
MenuItem(0,"Neu"+Chr(9)+"Strg+N",ImageID(100))
MenuItem(1,"Öffnen"+Chr(9)+"Strg+O",ImageID(101))
MenuItem(2,"Speichern"+Chr(9)+"Strg+S",ImageID(102))
MenuItem(15,"Speichern unter..."+Chr(9)+"Strg+Umsch+S",ImageID(115))
MenuItem(10,"Drucken"+Chr(9)+"Strg+P",ImageID(110))
MenuBar()
MenuItem(4,"Datei schließen"+Chr(9)+"Strg+W",ImageID(104))
MenuBar()
MenuItem(3,"Beenden"+Chr(9)+"Alt+F4",ImageID(103))
MenuTitle("&Bearbeiten")
MenuItem(16,"Neu Laden",ImageID(116))
DisableMenuItem(0,16,1)
MenuItem(9,"Rückgängig",ImageID(109))
MenuItem(11,"Wiederherstellen",ImageID(111))
MenuBar()
MenuItem(5,"Kopieren",ImageID(105))
MenuItem(6,"Einfügen",ImageID(106))
MenuItem(7,"Ausschneiden",ImageID(107))
MenuBar()
MenuItem(14,"Suchen"+Chr(9)+"Strg+F",ImageID(114))
MenuBar()
MenuItem(12,"Datum einfügen"+Chr(9)+"F5",ImageID(112))
MenuTitle("&Format")
MenuItem(8,"Schriftart",ImageID(108))
MenuTitle("&?")
MenuItem(13,"Über...",ImageID(113))
CreatePopupImageMenu(1,#PB_Menu_ModernLook)
MenuItem(209,"Rückgängig",ImageID(109))
MenuBar()
MenuItem(205,"Kopieren",ImageID(105))
MenuItem(206,"Einfügen",ImageID(106))
MenuItem(207,"Ausschneiden",ImageID(107))
;}
;ToolBar
;{
CreateToolBar(0,WindowID(0))
ToolBarImageButton(0,ImageID(100))
ToolBarImageButton(1,ImageID(101))
ToolBarImageButton(2,ImageID(102))
ToolBarImageButton(15,ImageID(115))
ToolBarImageButton(10,ImageID(110))
ToolBarSeparator()
ToolBarImageButton(4,ImageID(104))
ToolBarSeparator()
ToolBarImageButton(9,ImageID(109))
ToolBarImageButton(11,ImageID(111))
ToolBarImageButton(5,ImageID(105))
ToolBarImageButton(6,ImageID(106))
ToolBarImageButton(7,ImageID(107))
ToolBarSeparator()
ToolBarImageButton(14,ImageID(114))
ToolBarImageButton(12,ImageID(112))
ToolBarImageButton(8,ImageID(108))
ToolBarSeparator()
ToolBarImageButton(13,ImageID(113))
ToolBarToolTip(0,0,"Neu")
ToolBarToolTip(0,1,"Öffnen")
ToolBarToolTip(0,2,"Speichern")
ToolBarToolTip(0,4,"Datei Schließen")
ToolBarToolTip(0,5,"Kopieren")
ToolBarToolTip(0,6,"Einfügen")
ToolBarToolTip(0,7,"Ausschneiden")
ToolBarToolTip(0,8,"Schriftart")
ToolBarToolTip(0,9,"Rückgängig")
ToolBarToolTip(0,10,"Drucken")
ToolBarToolTip(0,11,"Wiederherstellen")
ToolBarToolTip(0,12,"Datum einfügen")
ToolBarToolTip(0,13,"Über...")
ToolBarToolTip(0,14,"Suchen")
ToolBarToolTip(0,15,"Speichern unter")
;}
;Shortcuts
;{
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_N,0)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_O,1)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_S,2)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_W,4)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_C,5)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_V,6)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_X,7)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_Z,9)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_P,10)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_Y,11)
AddKeyboardShortcut(0,#PB_Shortcut_F5,12)
AddKeyboardShortcut(0,#PB_Shortcut_F1,13)
AddKeyboardShortcut(0,#PB_Shortcut_Control|#PB_Shortcut_F,14)
;}
;Programmparameter
;{
DateiName$=ProgramParameter()
If DateiName$ <> ""
OFile(DateiName$,fid,nid)
fid + 1 : nid + 1
EndIf
;}
;Event-Schleife
;{
Repeat
filename.s = GetGadgetItemText(0,GetGadgetState(0))
EventID.l = WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Menu
Select EventMenu()
Case 0
AddGadgetItem(0,nid,"Neue Datei (" + Str(nid) + ")",ImageID(100))
ScintillaGadget(100 + fid,0,0,WindowWidth(0)-5,WindowHeight(0)-75,#Null)
ScintillaSendMessages(100 + fid)
nid + 1 : fid + 1
Case 1
file$ = OpenFileRequester(#Name,dirbuf + "\datei.txt","Textdateien|*.txt|HTML-Dateien|*.html;*.xhtml|Alle Dateien|*.*",0)
If file$
OFile(file$,fid,nid)
fid+1 : nid+1
EndIf
Case 2
If FindString(GetGadgetItemText(0,GetGadgetState(0)),"Neue Datei",1) <> 0
save$ = SaveFileRequester(#Name,dirbuf + "\Neue Datei.txt","Textdateien|*.txt|HTML-Dateien|*.html;*.xhtml|Alle Dateien|*.*",0)
If save$
SaveFile(save$,100+GetGadgetState(0))
EndIf
Else
file.s = GetGadgetItemText(0,GetGadgetState(0))
SCI_SaveFile(100+GetGadgetState(0),file)
EndIf
Case 3
Quit = 1
Case 4
RemoveGadgetItem(0,GetGadgetState(0))
nid - 1 : fid - 1
OpenGadgetList(0)
Case 5
ScintillaSendMessage(100+GetGadgetState(0),#SCI_COPY)
Case 6
ScintillaSendMessage(100+GetGadgetState(0),#SCI_PASTE)
Case 7
ScintillaSendMessage(100+GetGadgetState(0),#SCI_CUT)
Case 8
newfont = FontRequester(fontname,10,0)
If newfont
fontname = SelectedFontName()
fontsize = SelectedFontSize()
ScintillaSendMessage(100+GetGadgetState(0),#SCI_STYLESETFONT,32,@fontname)
ScintillaSendMessage(100+GetGadgetState(0),#SCI_STYLESETSIZE,32,fontsize)
ScintillaSendMessage(100+GetGadgetState(0),#SCI_STYLECLEARALL)
EndIf
Case 9
ScintillaSendMessage(100+GetGadgetState(0),#SCI_UNDO)
Case 10
ScintillaSendMessage(100+GetGadgetState(0),#SCI_SETPRINTMAGNIFICATION,0)
ScintillaSendMessage(100+GetGadgetState(0),#SCI_SETPRINTCOLOURMODE,#SC_PRINT_BLACKONWHITE)
Case 11
ScintillaSendMessage(100+GetGadgetState(0),#SCI_REDO)
Case 12
AddGadgetItem(100+GetGadgetState(0),0,FormatDate("%dd.%mm.%yyyy %hh:%ii",Date()))
Case 13
AboutDialog()
Case 14
find$ = SearchDialog()
If find$ <> ""
If suchrichtung = "0"
pos = ScintillaSendMessage(100+GetGadgetState(0),#SCI_GETSELECTIONSTART) - 1
Else
pos = ScintillaSendMessage(100+GetGadgetState(0),#SCI_GETSELECTIONEND) + 1
EndIf
ScintillaSendMessage(100+GetGadgetState(0),#SCI_SETSEL,pos,pos)
ScintillaSendMessage(100+GetGadgetState(0),#SCI_SEARCHANCHOR)
If suchrichtung = "0"
ScintillaSendMessage(100+GetGadgetState(0),#SCI_SEARCHNEXT,#SCFIND_MATCHCASE,@find$)
Else
ScintillaSendMessage(100+GetGadgetState(0),#SCI_SEARCHPREV,#SCFIND_MATCHCASE,@find$)
EndIf
EndIf
Case 15
asf$ = SaveFileRequester(#Name,"","Textdateien|*.txt|HTML-Dateien|*.html;*.xhtml;*.htm|Alle Dateien|*.*",0)
If asf$
SaveFile(asf$,100+GetGadgetState(0))
EndIf
Case 209
ScintillaSendMessage(100+GetGadgetState(0),#SCI_UNDO)
Case 205 : ScintillaSendMessage(100+GetGadgetState(0),#SCI_COPY)
Case 206 : ScintillaSendMessage(100+GetGadgetState(0),#SCI_PASTE)
Case 207 : ScintillaSendMessage(100+GetGadgetState(0),#SCI_CUT)
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case 0
If EventType() = #PB_EventType_RightClick
DisplayPopupMenu(1,WindowID(0)) ;Hier passiert nichts
EndIf
EndSelect
EndSelect
Until Quit = 1
;}
Else
MessageRequester(#Name,"Konnte kein Fenster öffnen",0)
EndIf
End
Mfg
Markus
