Seite 2 von 4

Verfasst: 04.09.2006 16:48
von Kaeru Gaman
dazu brauchst du nen Eventloop.

schau mal in den mitgelieferten beispielen.

btw: es wäre praktisch, wenn du deine PB-Version in deine Signatur schreibst.

Verfasst: 04.09.2006 16:56
von ts-soft
if eventgadget() = 1
dann bleibt das ja auf 1, wie kann ich das zurücksetzen?
Brauchste nichts zurücksetzen, das Geschieht bei WaitWindowEvent()

unter http://purearea.net tutorials findeste Event Handling von Froggerprogger, das könnte ich Dir empfehlen
http://www.purearea.net/pb/download/tut ... ndling.htm

Verfasst: 04.09.2006 17:15
von Sir0Kuhl
achso,
ich hatte nämlich die konstante #PB_Event_Gadget abgefragt, sondern nur den befehl EventGadgetID(), der sich bis zum nächsten windowevent wohl nicht verändert.

Verfasst: 04.09.2006 17:27
von Kaeru Gaman
doch, der ist auch immer aktuell.

schau dir erstmal in ruhe die beispiele an und das Tut von Froggerprogger...

Verfasst: 04.09.2006 17:36
von ts-soft
Hier mal ein Muster einer Eventschleife:

Code: Alles auswählen

    Repeat

      Select WaitWindowEvent()

        Case #PB_Event_CloseWindow

          Select EventWindow()
            Case #frmMain : Break
            Case #frmView : CloseWindow(#frmView)
          EndSelect

        Case #PB_Event_SizeWindow

          If IsWindow(#frmView)
          
            ResizeGadget(#txtEdit, #PB_Ignore, #PB_Ignore, WindowWidth(#frmView), WindowHeight(#frmView))
            
          EndIf

        Case #PB_Event_Menu

          Select EventMenu()

            Case #File_New

            Case #File_Open

            Case #File_Save

            
          EndSelect
          
        Case #PB_Event_Gadget
        
          Select EventGadget()
          
            Case #btnOkay
            
            Case #lvListView
            
              Select EventType()
                Case #PB_EventType_LeftClick
                
                Case #PB_EventType_LeftDoubleClick
                
                Case #PB_EventType_RightClick
                
                Case #PB_EventType_RightDoubleClick
                
                Case #PB_EventType_Change
             
              EndSelect
          
          EndSelect

      EndSelect

    ForEver
nach oder hinter den case, reagieren, durch code oder aufruf einer Procedure.

Verfasst: 04.09.2006 19:53
von mk-soft
Ein Beispiel fehlt irgendwie. Und zwar das einfache Texteditor Programm welche bei anderen Programmiersprachen meisten auch dabei ist.

Wir können ja zusammen eins ausarbeiten welches alle Grundlegende Programmiertechniken beinhaltet.

Wer macht mit :?:

FF :wink:

Verfasst: 04.09.2006 20:10
von ts-soft
mk-soft hat geschrieben:Ein Beispiel fehlt irgendwie. Und zwar das einfache Texteditor Programm welche bei anderen Programmiersprachen meisten auch dabei ist.
Der ist ja leider ohne API nicht möglich in PureBasic. Und mit API ist es dann
OS-abhängig und nicht mehr Einsteigerfreundlich

Verfasst: 04.09.2006 20:11
von Falko

Verfasst: 04.09.2006 20:36
von mk-soft
@ts-soft
das was nicht ohne API geht ist leider der Menupunkt Bearbeiten.
Alles weitere sollte auch ohne API gehen.

@Falko,
wie weiss das es schon ein haufen beispiele gibt. aber wo ist ein kompletter Text Editor beschrieben?

FF :wink:

P.S. Edit: Satzstellung

Verfasst: 04.09.2006 20:40
von ts-soft
@mk-soft
Ein Text-Editor ohne Bearbeiten, ohne Kontextmenü usw. ist wie ein Auto
ohne Reifen :lol: