Seite 2 von 3
Re: Hilfe_Fenster
Verfasst: 07.02.2015 18:55
von Fanpost
Klasse, ich stelle hier im Forum eine Frage und schon gehen sich die User an die Wäsche!?
Als Anfänger soll man da noch durchsteigen. Trotzdem Danke für die Infos!
Ich dachte Anfänger bekommen hier im Forum Hilfestellungen.
Für ein gekauftes PureBasic-Prog brauche bzw. suche ich ein Unterprogramm für ein Hilfe-Fenster.
Na, dann muss ich wohl weitersuchen............
Re: Hilfe_Fenster
Verfasst: 07.02.2015 19:02
von NicTheQuick
Du hast doch Hilfestellung bekommen. Oder sollen wir alles fertig für dich programmieren?
Fanpost hat geschrieben:Für ein gekauftes PureBasic-Prog brauche bzw. suche ich ein Unterprogramm für ein Hilfe-Fenster.
Wie meinst du das? Du hast ein PureBasic-Programm als EXE vorliegen und möchtest jetzt eine Hilfe implementieren? Oder hast du den Quellcode zur Verfügung?
Am einfachsten ist für Windows immer noch eine CHM-Hilfe zu erstellen und die dann zu öffnen. Das hat ja mk-soft geschrieben.
Re: Hilfe_Fenster
Verfasst: 07.02.2015 19:13
von Fanpost
- Ich will kein fertiges Programm
- Mir liegt der Quellcode vor. Button und Case-Anweisung habe ich bereits implementiert
- CHM-Hilfe sagt mir (noch) nichts
- Den beschriebenen chm-prozessor kann ich nicht installieren, da anscheinend das Projekt schon bei mir vorhanden ist (???) und die Installation abbricht.
- Ich bin absoluter Anfänger (waren andere User bestimmt auch mal)
Re: Hilfe_Fenster
Verfasst: 07.02.2015 19:14
von Nino
Ja, oder wenn's nur wenig Text ist reicht auch eine einfache HTML-Datei.
Die kann dann einfach angezeigt werden mit
Denn heutzutage kann man wohl davon ausgehen, dass auf dem Ziel-Rechner ein Browser installiert ist.
Fanpost hat geschrieben:Ich dachte Anfänger bekommen hier im Forum Hilfestellungen.
Richtig, hast du ja auch bekommen.
Fanpost hat geschrieben:Ich bin absoluter Anfänger
Dann ist es wohl sinnvoll, dich alsbald mit einigen grundlegenden PB-Funktionen vertraut zu machen, z.B. denen die dir in
diesem Beitrag empfohlen wurden.
Re: Hilfe_Fenster
Verfasst: 07.02.2015 19:18
von NeoChris
Fanpost hat geschrieben:- CHM-Hilfe sagt mir (noch) nichts
Drücke in PB die Taste F1. Das was du siehst ist eine CHM Datei die gestartet wurde.
In einer CHM Datei kannst du mehrere Hilfeseiten in einer Struktur packen.
Wenn du viele Hilfeseiten erstellen möchtest ist CHM sehr nützlich

Re: Hilfe_Fenster
Verfasst: 07.02.2015 19:30
von walbus
Re: Hilfe_Fenster
Verfasst: 07.02.2015 20:23
von hjbremer
für kleine Hilfetexte
Code: Alles auswählen
EnableExplicit
Enumeration
#mainwindow
#helpwindow
#helpgadget
#help_on
#help_off
EndEnumeration
Procedure.i HelpWindowCreate()
Protected flags, oldgadlist, text$, j
flags = #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_Tool
flags | #PB_Window_NoGadgets | #PB_Window_Invisible
OpenWindow(#helpwindow, 0, 0, 322, 200, "Hilfe", flags, WindowID(#mainwindow))
oldgadlist = UseGadgetList(WindowID(#helpwindow)) ;sollte benutzt werden
EditorGadget(#helpgadget, 8, 8, 306, 165, #PB_Editor_ReadOnly|#PB_Editor_WordWrap)
ButtonGadget(#help_off, 10, 175, 100, 22, "Close oder ESC")
text$ = "Dies ist eine Hilfezeile im Editorgadget. "
text$ + "Bitte drücken Sie mit der Maus den Closebutton oder den roten Knopf "
text$ + "oder drücken sie Taste ESC" + #CR$ + #CR$
For j = 1 To 20
text$ + "simuliert Text" + #CR$
Next
SetGadgetText(#helpgadget, text$)
UseGadgetList(oldgadlist)
EndProcedure
Procedure.i HelpWindowShow(flag)
If flag = #True
HideWindow(#helpwindow, #False)
Else
HideWindow(#helpwindow, #True)
EndIf
EndProcedure
Procedure WinCallback(hWnd, uMsg, wParam, lParam)
If uMsg = #WM_HELP ;Taste F1 gedrückt, hat eine eigene Message
If hwnd = WindowID(#mainwindow) ;message kommt vom Mainwindow
HelpWindowShow(#True) ;;Hilfe on
EndIf
ElseIf uMsg = #WM_KEYDOWN ;eine Taste wurde gedrückt
If wparam = #VK_ESCAPE ;die ESC Taste
HelpWindowShow(#False) ;Hilfe off
EndIf
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Define event
Define flags = #PB_Window_SystemMenu | #PB_Window_ScreenCentered
OpenWindow(#mainwindow, 0, 0, 450, 350, "Main", flags)
SetWindowCallback(@WinCallback()) ; Callback aktivieren
;ProgrammGadgets etc
ButtonGadget(#help_on, 10, 320, 88, 22, "Hilfe oder (F1)")
;usw
HelpWindowCreate()
Repeat: event = WaitWindowEvent()
If EventWindow() = #mainwindow
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case #help_on
HelpWindowShow(#True)
EndSelect
EndSelect
ElseIf EventWindow() = #helpwindow
Select event
Case #PB_Event_Gadget
If EventGadget() = #help_off
HelpWindowShow(#False)
EndIf
Case #PB_Event_CloseWindow
event = 0 ;CloseWindow Event löschen !!!
HelpWindowShow(#False)
EndSelect
EndIf
Until event = #PB_Event_CloseWindow
Re: Hilfe_Fenster
Verfasst: 07.02.2015 20:53
von walbus
Re: Hilfe_Fenster
Verfasst: 07.02.2015 21:53
von NicTheQuick
Hier mal eine Version, die auch auf Linux läuft.
Code: Alles auswählen
EnableExplicit
Enumeration
#mainwindow
#helpwindow
#helpgadget
#help_on
#help_off
EndEnumeration
Enumeration MenuEvent
#HELP_OPEN
#HELP_CLOSE
EndEnumeration
Declare WinCallback()
Declare HelpWindowClose()
Procedure.i HelpWindowCreate()
Protected flags, oldgadlist, text$, j
flags = #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_Tool
flags | #PB_Window_NoGadgets | #PB_Window_Invisible
OpenWindow(#helpwindow, 0, 0, 322, 200, "Hilfe", flags, WindowID(#mainwindow))
AddKeyboardShortcut(#helpwindow, #PB_Shortcut_Escape, #HELP_CLOSE)
BindEvent(#PB_Event_Menu, @WinCallback(), #helpwindow)
BindEvent(#PB_Event_CloseWindow, @HelpWindowClose(), #helpwindow)
oldgadlist = UseGadgetList(WindowID(#helpwindow)) ;sollte benutzt werden
EditorGadget(#helpgadget, 8, 8, 306, 165, #PB_Editor_ReadOnly|#PB_Editor_WordWrap)
ButtonGadget(#help_off, 10, 175, 100, 22, "Close oder ESC")
BindGadgetEvent(#help_off, @HelpWindowClose())
text$ = "Dies ist eine Hilfezeile im Editorgadget. "
text$ + "Bitte drücken Sie mit der Maus den Closebutton oder den roten Knopf "
text$ + "oder drücken sie Taste ESC" + #CR$ + #CR$
For j = 1 To 20
text$ + "simuliert Text" + #CR$
Next
SetGadgetText(#helpgadget, text$)
UseGadgetList(oldgadlist)
EndProcedure
Procedure.i HelpWindowShow(flag)
HideWindow(#helpwindow, Bool(Not flag))
EndProcedure
Procedure HelpWindowClose()
HelpWindowShow(#False)
EndProcedure
Procedure WinCallback()
Select EventMenu()
Case #HELP_OPEN
HelpWindowShow(#True)
Case #HELP_CLOSE
HelpWindowShow(#False)
EndSelect
EndProcedure
Define event
Define flags = #PB_Window_SystemMenu | #PB_Window_ScreenCentered
OpenWindow(#mainwindow, 0, 0, 450, 350, "Main", flags)
AddKeyboardShortcut(#mainwindow, #PB_Shortcut_F1, #HELP_OPEN)
BindEvent(#PB_Event_Menu, @WinCallback(), #mainwindow)
;ProgrammGadgets etc
ButtonGadget(#help_on, 10, 320, 88, 22, "Hilfe oder (F1)")
;usw
HelpWindowCreate()
Repeat
event = WaitWindowEvent()
If EventWindow() = #mainwindow
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case #help_on
HelpWindowShow(#True)
EndSelect
Case #PB_Event_CloseWindow
Break
EndSelect
EndIf
ForEver
Re: Hilfe_Fenster
Verfasst: 07.02.2015 22:00
von walbus