ButtonImageGadget toggeln

Für allgemeine Fragen zur Programmierung mit PureBasic.
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

ButtonImageGadget toggeln

Beitrag von Sven »

Hi! Wie kann ich ein -Button- ImageGadget toggeln (automatisch oder per Code), so wie es mit ButtonGadgets möglich ist.

Beim Erstellen sind Flags ja nicht drin, und auch SetGadgetState() ist für die ImageID reserviert. In der WinAPI habe ich noch nichts zu GadgetStates gefunden :(

Sven
Zuletzt geändert von Sven am 24.01.2005 11:35, insgesamt 1-mal geändert.
Benutzeravatar
Lukaso
Beiträge: 720
Registriert: 08.09.2004 18:51
Wohnort: Oberkirch
Kontaktdaten:

Beitrag von Lukaso »

Hi,

was meinst du genau mit toggeln, ich verstehe es nicht ganz :wink: ?

MFG Lukaso
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Du brauchst dazu doch den ButtonImageGadget
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Beitrag von Sven »

ButtonImageGadget. Mein ich doch. Hab's editiert, sorry.

Sven
Sven
Beiträge: 374
Registriert: 23.09.2004 12:01

Beitrag von Sven »

Also, nachdem wir jetzt festgestellt haben, dass es ein ButtonImageGadget sein soll: Es toggelt auch! Und zwar so:

SetWindowLong_(GadgetID(#id), #GWL_STYLE, #PB_Button_Toggle | GetWindowLong_(GadgetID(#id), #GWL_STYLE))

Ist es in Ordnung, die Konstante #PB_Button_Toggle direkt zu senden, richtiger wäre wohl die entsprechende API-Konstante? Und funktioniert das so auf allen Win-Systemen?

Und dann gibt es natürlich gleich das nächste Problem: Wie kann ich jetzt den Status des Buttons abfragen? GetGadgetState(#id) gibt hier immer Null zurück.

Sven
Antworten