Seite 2 von 3

Verfasst: 09.11.2004 18:46
von wichtel
Keine Ahnung.
Aber wenn du mal in der EventLoop ein DEBUG mitlaufen lässt dann siehst du das da was kommt. Habe es aber noch nicht genutzt.
War eher daran interessiert es wieder abzuschalten...

Verfasst: 09.11.2004 18:49
von PBZecke
Also nehme ich an, dass das eher nicht vom Programmierer so gewollt ist, daher nicht in der Hilfe.

Verfasst: 09.11.2004 18:55
von GPI
PBZecke hat geschrieben:
Lars hat geschrieben: ...mit der letzten Version geben ImageGadgets() Events
zurück...
In der Hilfe steht eher das Gegenteil. Welche Events werden denn jetzt vom Imagegadget zurückgegeben?
bzw. klicken.

Verfasst: 09.11.2004 19:11
von PBZecke
Es wird alles mögliche zurückgegeben: WM_LBUTTONDOWN, WM_RBUTTONDOWN -obwohl mit links geklickt! Also ziemlich unbrauchbar.

Verfasst: 09.11.2004 20:08
von Lars
Graffiti hat geschrieben:die Aussage ist so auch nicht ganz richtig,wie siehts aus mit Scrollareagadget, Panelgadget
Die liegen ja nicht übereinander, sondern in einander, d.h. die öffnen je
eine neue Gadgetliste.
PBZecke hat geschrieben:In der Hilfe steht eher das Gegenteil. Welche Events werden denn jetzt vom Imagegadget zurückgegeben?
In der Hilfe steht auch, dass ImageGadgets keine Tooltips unterstützen.
Da ist noch arbeit angebracht :roll:

Seit der neusten Version unterstützen ImageGadgets Tooltips und geben
ein Event zurück, wenn man sie mit der linken Maustaste anklickt. Dieses
Event wird einfach wie ein Event für einen Button zurück gegeben.

Verfasst: 09.11.2004 20:11
von Ynnus
Das mit den Tooltipps und Events wurde schon in dem Thread zur Version 3.92 gemeldet und André wollte das noch überarbeiten. So häufig wie da die Befehle mal abgeändert werden kommt man wohl kaum mit der Hilfedatei hinterher.

Verfasst: 10.11.2004 01:04
von Helmut
@Graffiti
solche Image"schalter" habe ich auch schon gebastelt, das funktioniert ganz gut. Ich wollte darauf nicht verzichten.
Was mich dochmal interessiert: hast du die mit VisualDesigner gebastelt?
Da springt mir jedenfalls immer das "spätere" Hintergrundbild nach vorne und verdeckt mir die Imagegadget's.
Hast du das auch erlebt?
mfg
Helmut

Verfasst: 10.11.2004 07:15
von Graffiti
@Helmut
Nein, ich schreibe alles von Hand nicht mit dem Visual Designer.
Wenns geht verwende ich immer ButtonImageGadgets und wenn ich ne Funktionsanzeige z.B. ne LED auf einen normalen Button drauflege dann muß nach dem klicken erst aktualisiert werden (siehe Code).
Ganz wichtig XP Style ausschalten, sonst verschwinden die aufgelegten Bilder schon beim drüberfahren mit der Maus, liegt aber an XP da schon beim drüberfahren der Button aktiviert wird, da muß ich erst noch ne Lösung finden.

Hintergrundbilder mußt du gleich nach dem OpenWindow programmieren, nicht irgendwo in deiner Hauptschleife
sonst wirds zwangsläufig irgendwann auf deine Buttons gelegt

Code: Alles auswählen

Case #Button_b_01
     ActivateGadget(#Button_feuer) 
     While WindowEvent()   :   Wend

If GetGadgetState(#Button_b_01) = 1
     Com_ID53 = Com_ID53 + 1
     SetGadgetState(#Image_b_01, Image3)
Else
      Com_ID53 = Com_ID53 - 1
      SetGadgetState(#Image_b_01, Image2)
EndIf
     If bild_b(1) = 1 ; ist ein Array das mir sagt der Button wurde irgendwann schonmal angeklickt ()
     SetGadgetState(#Image_b_01, Image4)
EndIf
     If lockfeuer = 1  :  Goto feuer  :  EndIf
     
   

Verfasst: 10.11.2004 12:17
von Helmut
@alle
Grundsätzlich bin ich, wie scheinbar viele, begeistert von Purebasic.
Ich habe nicht gewusst, wie leicht man Windows - Programmierung gestalten kann, dazu haben aber auch die Beiträge hier im Forum beigetragen. Hier ist man sich nicht zu schade, einem Neuling Tipp's zu geben, auch wenn das ev. immer und immer wieder gefragt wird.

@Graffiti
Das Hintergrundbild verschwindet immer im Visual-Designer, nicht im Programm.
Ich frage meine Schalter ab, wenn einer davon gedrückt ist, frage ich, war er das erste mal gedrückt, wenn ja lade das Image für " Ein ", oder bei Flag = 1 das Image für " AUS " .

Code: Alles auswählen

Case   #ButtonImage_32
        If flag(GadgetID) =0
        SetGadgetState(GadgetID,UseImage(GadgetID+1000)) 
        flag(GadgetID)=1
        zustand$=Str(flag(GadgetID))
        Gosub schreiben 
      Else 
        SetGadgetState(GadgetID,UseImage(GadgetID))
        flag(GadgetID)=0
        zustand$=Str(flag(GadgetID))
        Gosub schreiben 
      EndIf
Bei Schaltern, die die Farbe je nach Zustand des Schalters verändern sollen, kann man wahrscheinlich den Farbwert mit Parametern verändern.
Habe ich aber noch nicht ausprobiert.
Der Vorteil ist hier: man kann das Hintergrundbild und die aktiven Imagebutton als übersichtliche Zustandsbeschreibung benutzen.

Verfasst: 10.11.2004 12:46
von Graffiti
@Helmut

also mit dem Visualdesigner mach ich absolut nichts mehr, da es schneller geht nur den Code zu schreiben.
Der Visualdesigner ist meiner Meinung nach noch nicht ganz ausgereift, da der Code sowieso nochmals überarbeitet werden muß.

Ich muß dir aber Recht geben die Übersichtlichkeit mit farbigen oder mit bebilderten Buttons ist wesentlich besser.
Die Benutzer meiner Feuerwerkssteuerung waren auch der Meinung, da es bei einem Auftritt immer eine sogenannte Streßsituation ist und jede optische Unterscheidung der Buttons die Bedienung wesentlich erleichtert, da eigentlich in Sekundenbruchteilen Entscheidungen getroffen werden müssen.