eigenen Event erzeugen

Für allgemeine Fragen zur Programmierung mit PureBasic.
topsoft
Beiträge: 67
Registriert: 16.09.2004 11:55
Wohnort: nrw

eigenen Event erzeugen

Beitrag von topsoft »

Hallo,

wie kann ich einen eigenen Event in einem Thread auslösen der dann in meinem Haupfenster augewertet werden kann? Habe über dieses Thema hier schon mal was gelesen finde es aber nicht mehr.

Gruß Topsoft
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

topsoft
Beiträge: 67
Registriert: 16.09.2004 11:55
Wohnort: nrw

Beitrag von topsoft »

Oh,

da habe ich mich wohl falsch ausgedrückt, ich will nicht ein Event erzeugen welchen ein Gadget absetzen könnte, sondern ein nicht vorhandenen. Welcher in keinem Fall von irgend einem anderen erzeugt wird.

Gruß Topsoft
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

na dann probiere ich es noch mal mit

Code: Alles auswählen

Message = RegisterWindowMessage_("MyMessage")
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

PostMessage_(WindowID(0), #WM_USER+1, 0, 0) und dann in der event schleife einfach #WM_USER+1 abfangen.

in etwa so:

Code: Alles auswählen

Procedure ThreadProc() 
  For i = 1 To 20 
    Delay(200) 
    SetWindowTitle(0, Str(i*5)+"%") 
  Next 
  PostMessage_(WindowID(0), #WM_USER+1, 0, 0) 
  ProcedureReturn #True 
EndProcedure 

If OpenWindow(0, 0, 0, 480, 360, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "0%") 
  
  ThreadID = CreateThread(@ThreadProc(), 0) 
  If ThreadID 
    
    Repeat 
      Select WaitWindowEvent() 
        Case #WM_USER+1 
          WaitThread(ThreadID) 
          CloseHandle_(ThreadID) 
          MessageRequester("TEST", "Thread finished successfully!", #MB_ICONINFORMATION) 
          ThreadID = #False 
        Case #PB_Event_CloseWindow 
          KillThread(ThreadID) 
          MessageRequester("TEST", "Thread aborted!", #MB_ICONERROR) 
          ThreadID = #False 
      EndSelect 
    Until ThreadID = #False 
    
  EndIf 
  
EndIf 

End
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
topsoft
Beiträge: 67
Registriert: 16.09.2004 11:55
Wohnort: nrw

Beitrag von topsoft »

Hallo,

genau das war es, vielen Dank.

Gruß Topsoft
hiltwin
Beiträge: 311
Registriert: 06.10.2005 11:08
Wohnort: D-31177 Harsum
Kontaktdaten:

Cool ....

Beitrag von hiltwin »

.... in etwas das benötige ich demnächst auch ;o)

vielen Dank! *g*
Antworten