WindowEvent und mehere fenster und "dynamische Listen&a

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

WindowEvent und mehere fenster und "dynamische Listen&a

Beitrag von benpicco »

Ich habe mal wieder ein Problem: Bei folgendem Code kann ich nur auf den button klicken, wenn nur ein Fenster existiert. Existieren mehere, passier nichts! Auch das Menü geht nur bei einem Fenster auf...
Noch etwas ist seltsam: Befinden sich die fenster über jaPBe, flackert dieser und die Fenster! Auch geht die CPU auslastung von jaPBe hoch. Woran liegt das?

Achso, auch die Forensuche hat mir kein wirkliches Ergebniss zum thema always on top geliefert... Das Funktioniert bisher nicht so, wie´s soll
(Wie funktioniert das beim 40pix Player?)
Und noch eine Frage: Kann man direkt im Programm eine neue Liste erstellen, also

Code: Alles auswählen

For x=1 to 10
NewList "List"+str(x).type()
next
Gibt´s sowas ähnliches?

Code: Alles auswählen

Structure Windows
x.w
y.w
id.w
title.s
button.b
target.s
EndStructure
Global sini.w
Enumeration
  #Winwin
  #image
EndEnumeration
NewList Win.Windows()
Procedure.f GSin(winkel.f,speed.w) 
  preturn.f=Sin(winkel*(speed*3.14159265/360)) 
  ProcedureReturn preturn 
EndProcedure 
Procedure.f GCos(winkel.f,speed.w) 
  preturn.f=Cos(winkel*(speed*3.14159265/360)) 
  ProcedureReturn preturn 
EndProcedure 
Procedure SetWinTransparency(win,level) 
  If level>=0 And level<101 
    hLib = LoadLibrary_("user32.dll") 
    If hLib 
      adr = GetProcAddress_(hLib,"SetLayeredWindowAttributes") 
      If adr 
        SetWindowLong_(WindowID(win),#GWL_EXSTYLE,GetWindowLong_(WindowID(win),#GWL_EXSTYLE)|$00080000) ; #WS_EX_LAYERED = $00080000 
        CallFunctionFast(adr,WindowID(win),0,255*level/100,2) 
      EndIf 
      FreeLibrary_(hLib) 
    EndIf 
  EndIf 
EndProcedure 
Procedure.s GetAssociatedProgram(Extension.s) 
  Global AssociatedProgram$ 
  
  hKey.l = 0 
  KeyValue.s = Space(255) 
  datasize.l = 255 
  AssociatedProgram$ = "" 
  
  If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, "." + Extension, 0, #KEY_READ, @hKey)  = #ERROR_SUCCESS 
    If RegQueryValueEx_(hKey, "", 0, 0, @KeyValue, @datasize) = #ERROR_SUCCESS 
      KeyNext.s = Left(KeyValue, datasize-1) 
      hKey.l = 0 
      KeyValue.s = Space(255) 
      datasize.l = 255 
      If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, KeyNext + "\Shell\Open\Command", 0, #KEY_READ, @hKey) = #ERROR_SUCCESS 
        If RegQueryValueEx_(hKey, "", 0, 0, @KeyValue, @datasize) = #ERROR_SUCCESS 
          AssociatedProgram$ = Left(KeyValue, datasize-1) 
        EndIf 
      EndIf 
    EndIf 
  EndIf 
  Pos = FindString(LCase(AssociatedProgram$), ".exe", 1) 
  If Pos <> 0 
    AssociatedProgram$ = Left(AssociatedProgram$, Pos + 4) 
    AssociatedProgram$ = RemoveString(AssociatedProgram$, Chr(34), 1) 
  EndIf 
  
  ProcedureReturn AssociatedProgram$ 
EndProcedure 
Procedure newWindow(x,y,name$,target$)
  If AddElement(Win())
    Win()\x=x
    Win()\y=y
    Win()\id=ListIndex(Win())+1
    Win()\title=name$
    Win()\button=100+ListIndex(Win())
    Win()\target=target$
    ProcedureReturn 1
  Else
    ProcedureReturn 0
  EndIf
EndProcedure
CreateImage(0,40,40)
OpenWindow(#Winwin,1,1,1,1,#PB_Window_Invisible,"WinButtler")
newWindow(100,100,"TestWin",GetAssociatedProgram("html"))
newWindow(200,200,"TestWin2",GetAssociatedProgram("mp3"))
newWindow(300,300,"TestWin3",GetAssociatedProgram("doc"))
ForEach Win()
  OpenWindow(Win()\id,Win()\x,Win()\y,40,40,#PB_Window_BorderLess,Win()\title,WindowID(#Winwin))
  SetWinTransparency(Win()\id,60)
  CreateGadgetList(WindowID(Win()\id))
  ButtonImageGadget(Win()\button,0,0,40,40,0)
  SHAppBarMessage_(#ABS_ALWAYSONTOP	,Win()\title)
Next
CreatePopupMenu(0)
MenuItem(1,"Test")
MenuItem(2,"Ende")
LoadImage(1,"buttler.ico")
AddSysTrayIcon(1,WindowID(#Winwin),UseImage(1))
Procedure ButtlerCallback(WindowID, Message, wParam, lParam) 
  result = #PB_ProcessPureBasicEvents 
  ForEach Win()
    If WindowID(Win()\id)=WindowID
       Break
    EndIf
  Next
   WindowEvent()
   Select Message 
    Case #WM_COMMAND 
      Select lParam 
        Case GadgetID(Win()\button)
          MessageRequester("Fenster "+Str(Win()\id),Win()\target)
      EndSelect 
  EndSelect 
  ProcedureReturn result
EndProcedure 
callback=SetWindowCallback(@ButtlerCallback())
Repeat
  Delay(10)
  If sini<360:sini+1:Else:sini=0:EndIf
  lastmouseposX=DesktopMouseX()
  lastmouseposY=DesktopMouseY()
  ;Goto weiter
  UseWindow(#Winwin)
  Event=WindowEvent()
  If Event=#PB_EventSysTray
    EventType=EventType()
    If EventType=#PB_EventType_RightClick
      DisplayPopupMenu(0,WindowID())
    ElseIf EventType=#PB_EventType_LeftClick
      ForEach Win()
        win=UseWindow(Win()\id)
        SetForegroundWindow_(win)
      Next
    EndIf
    
      
    
  EndIf
  ;weiter:
  
  
  
  ForEach Win()
    
    ;UseGadgetList(WindowID(Win()\id))
   ;win=UseWindow(Win()\id)
     ;SHAppBarMessage_(#ABS_ALWAYSONTOP,win)
    ;Debug win
    
    
      
  ;winevent=WindowEvent()
  ;If winevent<>#PB_Event_MoveWindow
  ;  EGID=EventGadgetID() 
  ;  EWID=EventWindowID()
    ;EndIf
    ;Event=WindowEvent()
    If Event=#WM_LButtonDown
      move=0
    Else
      move=1
    EndIf
    UseWindow(Win()\id)

    
    
    If move=1
      ;MoveWindow(DesktopMouseX()+(GCos(sini-(ListIndex(Win())*(360/CountList(Win()))),2)*50) ,DesktopMouseY()+10+(GSin(sini-(ListIndex(Win())*(360/CountList(Win()))),2)*50))
      ;move=0
    ;Else
      ;move=1
    EndIf
    
    ;UseWindow(#Winwin)
    ;If  winevent<> #PB_Event_MoveWindow And winevent<>#PB_Event_Repaint 
    ;  Debug "nicht bewegt?"
    ;  Debug winevent
    ;  Goto nomove
    ;EndIf
    ;test=WindowEvent()
    ;If test=#PB_Event_Gadget 
    ;  winevent=test
    ;  EGID=EventGadgetID() 
    ;  EWID=EventWindowID()
    ;EndIf
    ;SkinWin(WindowID(Win()\id),ExtractIcon_(GetModuleHandle_(0), @FileName$, 0))
    Win()\x=WindowX()
    Win()\y=WindowY()
    
    UseImage(0)
    StartDrawing(ImageOutput())
    FileName$=Win()\target
    Box(0,0,40,40,RGB(200,200,255/Win()\id))
    DrawImage(ExtractIcon_(GetModuleHandle_(0), @FileName$, 0),1,1,GadgetWidth(Win()\button)-1,GadgetHeight(Win()\button)-1)
    StopDrawing()
    SetGadgetState(Win()\button,UseImage(0))
    ;WindowEvent()
    
    ;If 
   ; ForEach Win()
        ;win=UseWindow(Win()\id)
    
   ; If EWID
   ;     win1=GetForegroundWindow_()
   ;     SetForegroundWindow_(WindowID(EWID))
   ;   Else
   ;     SetForegroundWindow_(win1)
   ;   EndIf
      
      ;Next
    ;EndIf
    ;winevent=WindowEvent() 
   ; nomove:
    ;If EventWindowID()=Win()\id
    ;  If winevent=#PB_Event_Gadget 
    ;    ;If Event = #PB_EventGadget
    ;    SetWinTransparency(Win()\id,100)
    ;    SetForegroundWindow_(WindowID())
    ;    GadgetID=EventGadgetID()
      ;Debug GadgetID
    ;  If GadgetID=Win()\button
    ;    MessageRequester("Info","Auf Fenster "+Str(WindowID(Win()\id))+" geklickt!")
    ;  EndIf
    ;Else
    ;   SetWinTransparency(Win()\id,60)
    ;EndIf
    ;EndIf
    ;WindowEvent()
    ;If winevent<>#PB_Event_MoveWindow And winevent=#PB_Event_Gadget 
     
   ; If EWID=Win()\id ; Event auf Fenster win()\id 
      
   ;   If EGID; Gadget gedrückt?  
   ;      Select EGID 
   ;       ; Hier die buttons von Fenster win()\id abfragen... 
   ;       Case Win()\button
   ;         MessageRequester("Fenster "+Str(Win()\id),Win()\target) 
    ;        Delay(100)
   ;     EndSelect 
        
      

        
      ;EndIf
   
      ;While WindowEvent() : Wend ; Warten, damit Fenster korrekt wieder aufgebaut wird 
    ;EndIf
      ; Etwa Fenster geschlossen? 
      
   ; EndIf 
    
    If Event=#WM_RButtonDown 
      DisplayPopupMenu(0,WindowID(Win()\id));,DesktopMouseX(),DesktopMouseY())
    
    EndIf
    

      
  Next
  If DesktopMouseX()-lastmouseposX >50 And DesktopMouseX()-lastmouseposX <200 And Int(erkenn/2)=erkenn/2
    erkenn+1
  ElseIf DesktopMouseX()-lastmouseposX < -50 And DesktopMouseX()-lastmouseposX >-200 And Int(erkenn/2)<>erkenn/2
    erkenn+1
  EndIf
  ;Debug DesktopMouseX()-lastmouseposX
  If erkenn =>6
    Debug "Erkannt!"
    erkenn=0
    ForEach Win()
      win=UseWindow(Win()\id)
      SetForegroundWindow_(win)
    Next
    
    
  EndIf
  
  
  
  ;Event=WindowEvent()
Until GetAsyncKeyState_(27) 
KillThread(callback)
End
Code mal wieder geupdatet...
Zuletzt geändert von benpicco am 30.08.2005 19:08, insgesamt 8-mal geändert.
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Hi.

In deiner Abfrageschleife wo du die Windowevent() abfragst solltest du unterscheiden, welches Fenster den Event ausgelöst hat.
Schau dir mal den Befehl

Code: Alles auswählen

EventWindowID()
an ;)
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Äh, danke für den Denkanstoß, aber könntest du mich bitte noch etwas weiter schubsen? Bisher kommt da immer 0 raus :freak: ...
Eigentlich hat ja jedes Fenster auch seinen eigenen Button, der durch win()\button definiert wird... :?
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Agent
Beiträge: 296
Registriert: 13.09.2004 11:28
Kontaktdaten:

Beitrag von Agent »

Hi Ben,
hab mir mal die Mühe gemacht ein -mehr oder weniger- "kleines" Beispiel für Dich zu basteln, was hoffentlich verdeutlicht, wie man mehrerererere Fenster benutzt und abfragt. Ist dann doch etwas ausführlicher geworden ;)

Code: Alles auswählen

Enumeration ; Fenster
#win_1
#win_2
EndEnumeration

Enumeration ; Gadgets
  #win_1_button_1
  #win_2_button_1
EndEnumeration

; Fenster 1
win1=OpenWindow(#win_1,100,100,100,100,#PB_Window_SystemMenu,"Window 1")
If CreateGadgetList(win1)
  ButtonGadget(#win_1_button_1,10,10,80,20,"Drück mich!")
EndIf

; Fenster 2
win2=OpenWindow(#win_2,300,100,100,100,#PB_Window_SystemMenu,"Window 2")
If CreateGadgetList(win2)
  ButtonGadget(#win_2_button_1,10,10,80,20,"Drück mich!")
EndIf
; Schleife

Repeat
  winevent=WindowEvent()
  ;
  ;##### Fenster 1 abfragen
  ;
  If EventWindowID()=#win_1 ; Event auf Fenster 1
    If winevent=#PB_Event_Gadget ; Gadget gedrückt?
      Select EventGadgetID()
        ; Hier die buttons von Fenster 1 abfragen...
        Case #win_1_button_1
          MessageRequester("Fenster 1","Danke!",0)
      EndSelect
    EndIf
    While WindowEvent() : Wend ; Warten, damit Fenster korrekt wieder aufgebaut wird 
    
    ; Etwa Fenster geschlossen? 
    If winevent=#PB_Event_CloseWindow : exit_win1=#True : CloseWindow(#win_1) : EndIf ; Und tschüss
  EndIf
  ;
  ;##### Fenster 2 abfragen
  ;
  If EventWindowID()=#win_2 ; Event auf Fenster 2
    If winevent=#PB_Event_Gadget
      Select EventGadgetID()
        Case #win_2_button_1
          MessageRequester("Fenster 2","Danke!",0)
        ; Hier die buttons von Fenster 2 abfragen
      EndSelect
    EndIf
    While WindowEvent() : Wend ; Warten, damit Fenster korrekt wieder aufgebaut wird 
    ; Etwa Fenster geschlossen? 
    If winevent=#PB_Event_CloseWindow : exit_win2=#True : CloseWindow(#win_2) : EndIf ; Und tschüss
  EndIf
   
  Delay(1) ; Immer! Damit CPU nicht ausgelastet wird
Until exit_win1=#True And exit_win2=#True

MessageRequester("Exit", "Danke fürs probiern!",0)

Viel Spaß damit! ;)
Agent_Sasori
It's not a bug - it's a feature!
http://www.StephenKalisch.de | http://www.ria-tec.com | http://www.dirsync.de
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Bin ich blind und übersehe das offensichtliche?!? Ich hab jetzt deinen code in meinen Code kopiert, die Variablen geändert und die alten abfragen entfernt - und es geht - nicht! ich komm mir vor wie :lamer:
Edit:
Ich hab noch etwas rumprobiert, wenn ich

Code: Alles auswählen

  ; MoveWindow(DesktopMouseX()+(GCos(sini-(ListIndex(Win())*(360/CountList(Win()))),2)*50) ,DesktopMouseY()+10+(GSin(sini-(ListIndex(Win())*(360/CountList(Win()))),2)*50))

Code: Alles auswählen

;If winevent=#PB_Event_Gadget
und

Code: Alles auswählen

;UseGadgetList(WindowID(Win()\id))
deaktiviere, get es, aber dan bewegen sich die Fenster eben nichtmehr :|
Villeicht auch noch ne Idee zu der Structure - List Frage? Ich hatte nämlich vor, sowas ins Programm einzubauen, dafür müsste ich aber für jede Mouseerkennung eine neue Liste erstellen, geht das auch anders? Villeicht direckt in den Speicher schreiben?!?

Code: Alles auswählen

MessageRequester("Info","Achtung! Ihre Nachfolgenden Mausbewegungen werden aufgezeichnet um später erkannt zu werden! Wählen sie ihre Bewegungen daher sorgsam und merken sie sich diese gut!",#MB_ICONINFORMATION)
Structure Mouselog
x.w
y.w
EndStructure
NewList erken.Mouselog()
NewList Mouse.Mouselog()
startX=DesktopMouseX()
startY=DesktopMouseY()
memMouseX=2000
memMouseY=2000
tollerance=100
Repeat
  a.POINT\x=1:a\y=0 
  If DesktopMouseX()-startX<> memMouseX Or DesktopMouseY()-startY<>memMouseY
    memMouseX=DesktopMouseX()-startX
    memMouseY=DesktopMouseY()-startY
    AddElement(Mouse())
    Mouse()\x=memMouseX
    Mouse()\y=memMouseY
  EndIf
  StartDrawing(@a)
  SelectElement(Mouse(),0)
  memX=Mouse()\x
  memY=Mouse()\y
  ForEach Mouse()
    Circle(Mouse()\x+startX,Mouse()\y+startY,10,RGB(0,0,255))
    LineXY(memX+startX,memY+startY,Mouse()\x+startX,Mouse()\y+startY,RGB(0,255,0))
    memX=Mouse()\x
    memY=Mouse()\y
  Next
  StopDrawing()
  Delay(100)
Until GetAsyncKeyState_(27)
result=MessageRequester("Speichern?","Soll der MouseMove gespeichert werden?",#PB_MessageRequester_YesNo)
If result=6
  save$=SaveFileRequester("Speichern...","mouselog.txt","Text files|*txt",0)
  If save$
    OpenFile(1,save$)
    ForEach Mouse()
      WriteStringN(Str(Mouse()\x)+","+Str(Mouse()\y))
    Next
    CloseFile(1)
    MessageRequester("Succes!", "Speichern erfolgreich!"); Hieraus soll das später ja mal geladen werden...
   EndIf
EndIf
InvalidateRect_(0,0,0)
;End
MessageRequester("Test","Mauserkennung wird nun getestet.")  
startX=DesktopMouseX()
startY=DesktopMouseY()
memMouseX=2000
memMouseY=2000
Repeat
  a.POINT\x=1:a\y=0 
  
If DesktopMouseX()-startX<> memMouseX Or DesktopMouseY()-startY<>memMouseY
  memMouseX=DesktopMouseX()-startX
  memMouseY=DesktopMouseY()-startY
  AddElement(erken())
  erken()\x=memMouseX
  erken()\y=memMouseY
  erkannt=0
  StartDrawing(@a)
; jetzt müsste sozusagen ForEach Bewegungen()\erkenn() oder sowas kommen
  ForEach erken()
    If ListIndex(erken())<= CountList(Mouse())
      SelectElement(Mouse(),ListIndex(erken()))
      Circle(Mouse()\x+startX,Mouse()\y+startY,10,RGB(255,0,0))
      Circle(erken()\x+startX,erken()\y+startY,5,RGB(0,255,0))
      If Mouse()\x > erken()\x-tollerance And Mouse()\x < erken()\x +tollerance
        If Mouse()\y > erken()\y-tollerance And Mouse()\y < erken()\y +tollerance
          erkannt+1
        EndIf
      EndIf
    Else
      out+1
    EndIf
  Next
  StopDrawing()
  If out>5
    Debug "reset"
    startX=DesktopMouseX()
    startY=DesktopMouseY()
    ClearList(erken())
    out=0
  EndIf
  
  If erkannt>CountList(Mouse())-out-2
    Debug "erkannt!"
    StartDrawing(@a)
    SelectElement(Mouse(),0)
    memX=Mouse()\x
    memY=Mouse()\y
    ForEach Mouse()
      Circle(Mouse()\x+startX,Mouse()\y+startY,10,RGB(0,0,255))
      LineXY(memX+startX,memY+startY,Mouse()\x+startX,Mouse()\y+startY,RGB(0,255,0))
      memX=Mouse()\x
      memY=Mouse()\y
    Next
    StopDrawing()
    For x=1 To 3
      beep_(x*150,100)
    Next
  EndIf
  
EndIf
Delay(100)
Until GetAsyncKeyState_(27)
InvalidateRect_(0,0,0)
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Ich will ja nicht unhöflich sein, aber hat niemand ne Idee, woran das liegen könnte und was ich da machen könnte? Ich bin nämlich etwas ratlos...
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Und wenn ich schonmal frage, wie kann man den Standardbrowser, Standardmediaplayer, Standard e-mailprogramm, standard... herausfinden?

Code: Alles auswählen

Procedure.s GetAssociatedProgram(Extension.s)
  Global AssociatedProgram$

  hKey.l = 0
  KeyValue.s = Space(255)
  datasize.l = 255
  AssociatedProgram$ = ""

  If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, "." + Extension, 0, #KEY_READ, @hKey)  = #ERROR_SUCCESS
    If RegQueryValueEx_(hKey, "", 0, 0, @KeyValue, @datasize) = #ERROR_SUCCESS
      KeyNext.s = Left(KeyValue, datasize-1)
      hKey.l = 0
      KeyValue.s = Space(255)
      datasize.l = 255
      If RegOpenKeyEx_(#HKEY_CLASSES_ROOT, KeyNext + "\Shell\Open\Command", 0, #KEY_READ, @hKey) = #ERROR_SUCCESS
        If RegQueryValueEx_(hKey, "", 0, 0, @KeyValue, @datasize) = #ERROR_SUCCESS
          AssociatedProgram$ = Left(KeyValue, datasize-1)
        EndIf
      EndIf
    EndIf
  EndIf
  Pos = FindString(LCase(AssociatedProgram$), ".exe", 1)
  If Pos <> 0
    AssociatedProgram$ = Left(AssociatedProgram$, Pos + 4)
    AssociatedProgram$ = RemoveString(AssociatedProgram$, Chr(34), 1)
  EndIf

  ProcedureReturn AssociatedProgram$
EndProcedure
Debug GetAssociatedProgram("html")
Debug GetAssociatedProgram("mp3")
Ist nicht von mir, weiß aber den Autor leider auch nicht mehr.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Danke!
Ein Problem weniger :D

Was das Buttondrücken angeht: Ich hab es jetzt mit SetWindowCallback probiert - ohne großen Erfolg! Es muss wohl an der Drehung liegen...
Andererseits, wenn man

Code: Alles auswählen

UseWindow(Win()\id)
Entfernt, dregt sich nur noch Fenster 0, dafür kann man aber darauf klicken :freak:
Achso, WindowEvent ist immer 0, das ist doch nicht normal!?
Ich hab ja eigentlich erwartet, das Problem liegt am ständigem #pb_event_movewindow, aber naja... (was könnte ich eigentlich dagegen tun?)
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Benutzeravatar
benpicco
Beiträge: 391
Registriert: 01.10.2004 15:32
Wohnort: im Code
Kontaktdaten:

Beitrag von benpicco »

Hat niemand eine Idee? :|
Johann Wolfgang von Geothe hat geschrieben:Wie dieses oder jenes Wort geschrieben wird, darauf kommt es doch eigentlich nicht an, sondern darauf, daß die Leser verstehen, was man damit sagen wollte.
Antworten