eigenen Event erzeugen

Für allgemeine Fragen zur Programmierung mit PureBasic.
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