kategoria: MUI
[#1] Podwójna lista
Mój program nie może poprawnie wpisać danych do listy dwukolumnowej.
Przyład9c wziąłem, ze szkółki MUI.

Jednokolumnowa lista tworzy się poprawnie:

void InsertElements(struct ObjApp * obj)
 {
  char *elements[] = {"\33bAmiga\33n", "Atari", "C64", "SGI", "Sun", "pecet", NULL};

  DoMethod (obj->Listview, MUIM_List_Insert, elements, -1, MUIV_List_Insert_Bottom);

  DoMethod (obj->Listview, MUIM_List_InsertSingle, "ENIAC", MUIV_List_Insert_Bottom);

  return;
 }




Dwukolumnowa wpisuje śmieci, do tego w jednej kolumnie:

void InsertElements (void)
 {
  struct Towar amigi = {"Amiga 1200", 0};
  struct Towar hardware[] = {"BVision", 4, "BlizzardPPC", 12, "mousepady", 234};
  struct Towar *hard[] = {&hardware[0], &hardware[1], &hardware[2], NULL};

  DoMethod (Listview, MUIM_List_Insert, hard, -1, MUIV_List_Insert_Top);

  DoMethod (Listview, MUIM_List_Sort);       /* sortujë listë */

  DoMethod (Listview, MUIM_List_InsertSingle, &amigi, MUIV_List_Insert_Sorted);

  return;
 }


Deklaracja listy:

object->Listview = ListObject,
		MUIA_Frame, MUIV_Frame_InputList,
		MUIA_List_Format, (long)"BAR MAXWIDTH=100,PREPARSE=\33r",
		MUIA_List_Active, MUIV_List_Active_Top,
	End;

	object->Listview = ListviewObject,
		MUIA_HelpNode, "Listview",
		MUIA_Listview_DoubleClick, TRUE,
		MUIA_Listview_List, object->Listview,
	End;






Ostatnia aktualizacja: 10.04.2016 18:41:51 przez Artur Jarosik
[#2] Re: Podwójna lista

@Artur Jarosik, post #1

Proponuję oprócz skopiowania kodu przeczytać jeszcze tekst wspomnianego artykułu... Wtedy wszystko stanie się jasne.
[#3] Re: Podwójna lista

@Krashan, post #2

No tak, porzebny był DisplayHook.
Przy okazji znalazłem dwa błędy w kursie część 9.
W akapicie "Pobieranie informacji z listy i jej modyfikacja"
powinno być DoMethod (list, MUIM_List_GetEntry, 10, &towar);
a jest bez & przed "towar".
Drugi błąd na tej samej stronie. Zamiast MUIA_List_GetEntry_Active powinno być
MUIV_List_GetEntry_Active.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem