[geloest] POPUPLIST will nicht

Willkommen!

Wenn du im Nexave-Forum mitmachen möchtest, schreib an community@nexave.de. Wir haben die Registrierungsfunktion in unserem Diskussionsforum nämlich deaktiviert, weil sich praktisch nur noch Spammer und Werbebots registriert haben. Per E-Mail sind wir dir gern behilflich, einen Account anzulegen.
  • hallo an alle,


    ich versuche gerade meinem programm eine popupliste bekannt zu geben.


    [PHP]
    POPUPTRIGGER "waehlen" ID KarteiFarbeListe AT (30 60 AUTO AUTO)
    LIST "Blau" "Gelb" "Gruen" "Rosa" "Weiss" ID KarteiFarbe AT (30 60 129 100)
    VISIBLEITEMS 5 NONUSABLE
    POPUPLIST KarteiFarbeListe KarteiFarbe
    [/PHP]


    der POPUPTRIGGER wird auch angezeigt,
    aber wenn ich diesen betaetige wird er nur schwarz hinterlegt
    und sonst passiert nichts.


    wenn ich die LIST auf USABLE setze kann ich sie sehen
    und beim verschieben der koordinaten kann ich beide sehen.


    lediglich das zusammenspiel funktioniert nicht.


    hat jemand eine idee?


    frohe ostern!


    ps: die IDs habe ich in einer headerdatei bekannt gegebn und eingebunden.

    • Offizieller Beitrag

    Ich habe's sorum definiert:


    Code
    POPUPTRIGGER "xxxxxxxxxx" popupID_background AT (PrevRight+5 PrevTop 100 AUTO) USABLE
    POPUPLIST popupID_background listID_background
    LIST "Plain" "Internal" "Flames" "Picture" listID_background AT (PrevLeft+5 PrevTop 50  AUTO) NONUSABLE VISIBLEITEMS 5


    Wichtig ist, das Du kein's der vorher durchkommenden Events abfängst und mit "true" returnst. Das gilt speziell für ctlSelectEvent. popSelectEvent liefert Dir dann die Auswahl.


    Gruß
    Henk

  • hi metaview,


    danek fuer den tip!


    du hast recht mit true return.
    ich habe die entsprechende zeile auskommentiert
    und hatte sofort das gewuenschte ergebnis. :D


    hier noch einmal mein progammkode


    [PHP]
    // Neue switch-Abfrage starten um den gedrückten Button zu ermitteln
    switch (event->data.ctlSelect.controlID) {
    // Wenn der Button Abbrechen gedrückt wurde
    case KarteiAbbrechen:
    // Hinweisfenster mit Frage ausgeben und mit hilfe der switch-Anweisung
    // ermitteln welcher Button bei der Frage gedrückt wurde
    switch (FrmCustomAlert(KarteiFrage, "Wollen Sie Wirklich abbrechen?", NULL, NULL)) {
    // Wenn "Ja" gedrückt wurde
    case 0:
    // Zurück zum KarteiStartFormular
    FrmGotoForm(KarteiStartFormular);
    break;
    // Wenn "Nein" gedrückt wurde
    case 1:
    break;
    } // Ende der switch-Abfrage welcher Button bei der Frage gestellt wurde
    handled = true;
    break;
    } // Ende der switch-Abfrage um den gedrückten Button zu ermitteln
    // handled = true;
    break;
    [/PHP]


    also in der vorzetzten zeile das

    Code
    handled = true

    auskommentiert.


    aber das mit dem popSelectEvent habe ich nicht verstanden.
    meist du, wenn ich ermitteln will welcher listeneintrag gewaehlt wurde
    soll ich diese event abfragen?


    und wie soll ich nun handled bewerten.
    mit false?

  • //OFF


    Sorry, fürs daziwschen Quatschen.
    Habt ihr nicht mal Lust eine Art Tutorial zu schreiben.


    So Etwa:
    1. Tut: Entwicklungsumgebung aufsetzten.
    2. Tut: Hello World
    3. Tut. Menüs
    4. Tut. Dialoge


    ...


    Ich wollte sowas immer mal fürs Wiki machen, kommen zeitlich nicht dazu:
    http://www.palm.projekt-base.d…i.cgi?SoftwareEntwicklung

    • Offizieller Beitrag

    Ja:


    Code
    case popSelectEvent:
    	if (event->data.popSelect.controlID == popupID_background)
    	{
    		if (event->data.popSelect.selection >= 0)
    		{
    			prefs.nBackgroundType = event->data.popSelect.selection;
    		}
    	}
    	break;


    handled laß ich auf false. Warum weiß ich jetzt nciht aus dem Kopf, kannst es ja mal ausprobieren, was bei true passiert.


    Gruß
    Henk

  • Wenn handled auf true gesetzt wird, wird die Ereigniskette als abgearbeitet angesehen und nicht mehr an das System weitergegeben.


    Beispielsweise kommt bei einem Mausklick (in Swing) erst mal ein MouseDown, dann ein MouseUp und dann ein MouseClick. Ich denke in PalmOS wird es wohl analog sein.
    Wenn also eines der Vorgängerereignisse gestoppt, d.h. nicht mehr ans System weitergeleitet wird, kann auch das davon abhängige Ereignis nicht ausgelöst werden...


    Hoffentlich erzähl ich da keinen Quatsch :D

    • Offizieller Beitrag
    Zitat

    Originally posted by Tasarion
    Wenn handled auf true gesetzt wird, wird die Ereigniskette als abgearbeitet angesehen und nicht mehr an das System weitergegeben.


    Beispielsweise kommt bei einem Mausklick (in Swing) erst mal ein MouseDown, dann ein MouseUp und dann ein MouseClick. Ich denke in PalmOS wird es wohl analog sein.
    Wenn also eines der Vorgängerereignisse gestoppt, d.h. nicht mehr ans System weitergeleitet wird, kann auch das davon abhängige Ereignis nicht ausgelöst werden...


    Hoffentlich erzähl ich da keinen Quatsch :D


    Nö, hast schon recht, doch die Frage war ja, ob/wie es Einfluß hat, wenn man am wahrscheinlichen Ende der Kette mit true antwortet, bzw. ob es das Ende der Kette ist oder nicht. Man könnte es mal testen, aber mir fehlt gerad dei Zeit. Mit false funktioniert's, mit true vielleicht auch, who knows, who cares...


    Regards
    Henk