Parent sperren, Unterobjekte freigeben

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

onnie

Betreff: Parent sperren, Unterobjekte freigeben

BeitragDo, Mai 02, 2013 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

erstmal ein Beispielcode:
Code: [AUSKLAPPEN]
window=CreateWindow("Test",400,400,200,200,Desktop(),33)

register=CreateTabber(0,0,200,200,window)
AddGadgetItem(register,"Lasche 1")
AddGadgetItem(register,"Lasche 2")

button=CreateButton("Button",50,50,80,20,register,1)

DisableGadget(register) ; deaktiviert auch den Button


Repeat
   we=WaitEvent()
   es=EventSource()
   Select we
      Case $803
         End
      Case $401
         If es=button Then
            Notify "Der Button wurde gedrückt."
         EndIf
   End Select
Forever
DisableGadget deaktiviert auch den Button. Kann man das umgehen?

lg

KnorxThieus

BeitragDo, Mai 02, 2013 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
omnie hat Folgendes geschrieben:
DisableGadget deaktiviert auch den Button. Kann man das umgehen?

Eigentlich nicht, denke ich.
Kopier den Button (also nicht die Variable, sondern erstelle einen neuen mit CreateButton) in ein weiteres Fenster. Dieses muss den Style 0 haben, X, Y, Width, Height müssen mit dem des Buttons übereinstimmen, wobei bei X und Y die Koordinaten vom Fenster + der des Tabbers + dem Abstand der fensterkoordinaten bis zum ersten punkt im fenster (damit die pos. vom neuen fenster absolut ist).
Ähm... verstehst du? Ich hab mich da wohl zu kompliziert ausgedrückt... Embarassed

rufe dieses fenster dann im vordergrund auf, mit irgendner api konnte man das fixieren...

Ich glaub ich hab mich zu kompliziert ausgedrückt, hier ein Code:

BlitzBasic: [AUSKLAPPEN]
window=CreateWindow("Test",400,400,200,200,Desktop(),33) 

register=CreateTabber(0,0,200,200,window)
AddGadgetItem(register,"Lasche 1")
AddGadgetItem(register,"Lasche 2")

button=CreateButton("Button",50,50,80,20,register,1)

;HIER beginnt das rahmenlose Fenster

window2 = CreateWindow("", 400 + 0 + 50, 400 + 0 + 50, 80, 20, Desktop(), 0)
button2 = CreateButton("Button",0,0,0,0,window2,1) ;und hier eine copie des buttons. änderungen und abfragen müssen dann ebenfalls hier angewendet werden.

DisableGadget(register) ; deaktiviert auch den Button


Gut das ist jetzt nur ein Rohcode...

Hoffe konnte dir helfen. Rolling Eyes
Version: BlitzPlus / Blitz+
 

onnie

BeitragFr, Mai 03, 2013 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Antwort.

Ich würde aber den Button nicht in ein neues Fenster, sondern ins Hauptfenster setzen. (nur eben nicht auf die Registerkarte)

Das Problem ist vielmehr die Pixelgenaue Platzierung. Woher bekomme ich die x- und y-Verschiebung der Registerkarte? Ich könnte es zwar bei mir ausprobieren, aber gilt das dann auch für alle Windowsversionen?

lg

KnorxThieus

BeitragFr, Mai 03, 2013 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Bums! Brett vor Kopf - du hast ja nur den Tabber disabblet!

Also, ich hab ja gesagt, es ist nur ein Rohcode - da hatte ich auch immer Probleme. Probier es einfach aus.
Kommt auch drauf an, wofür dein Programm gut ist - soll es ganz professionell sein, probiere das mit virtuellen Maschinen für XP, Vista, 7 und 8 aus,

Also ich würde es ausprobieren: Immer wieder Werte abändern, bis's stimmt.

Viel Glück dabei! Smile
Version: BlitzPlus / Blitz+
 

onnie

BeitragFr, Mai 03, 2013 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, es ging mir darum, während einer Berechnung nur den Abbrechen-Button freizugeben und alles andere zu deaktivieren.

Ich werd jetzt vermutlich einen Fortschrittsbalken (Progbar) und den Button in ein neues Fenster setzen und das Hauptfenster deaktivieren.

Das soll aber kein verstecktes Fenster sein, sondern ein ganz offensichtliches "Berechnungsfenster".
Versteckte Vorgehensweisen sind nicht so mein Stil.

Danke nochmal für die Antworten.

lg

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group