ListIconGadget mehrzeilig aus EditorGadget

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

ListIconGadget mehrzeilig aus EditorGadget

Beitrag von marcelx »

Hallo,

mit den Eingabe aus EditorGadget + SendMessage_(GadgetID(#eId), #EM_SETTARGETDEVICE, #Null, 0)
will ich mein eingegebene mehrzeilige Texte mit ListIconGadget anzeigen:

AddGadgetItem(Id,-1, col1+Chr(10)+col2+Chr(10)+col3+Chr(10)+col4

col2=GetGadgetText(#eId)

Leider wird mein Eingabe verteilt auf die anderen Spalten.

Wie kann ich das lösen ?

Danke und Gruß
MarcelX
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: ListIconGadget mehrzeilig aus EditorGadget

Beitrag von RSBasic »

Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: ListIconGadget mehrzeilig aus EditorGadget

Beitrag von marcelx »

Danke RSBasic für deine Antwort.

Die Source habe ich erweitert mit ein EditorGadget.

Code: Alles auswählen

EnableExplicit

Define EventID
Define x
Define Texth
Define imageList
Define inp.s

If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  EditorGadget(0, 10, 10, 80, 60)
  SendMessage_(GadgetID(0), #EM_SETTARGETDEVICE, #Null, 0)
  ButtonGadget(2, 100, 30, 100, 20, "Start")
        
  ListIconGadget(1,10,80,WindowWidth(0),WindowHeight(0),"Spalte",250,#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines)
  AddGadgetColumn(1,1,"Spalte 2",100)
  AddGadgetColumn(1,2,"Spalte 3",100)
  
  Texth = SendMessage_(GadgetID(1), #LVM_GETITEMSPACING, 1, 0) >> 16 - 4
  imageList = ImageList_Create_(1, 5*Texth, #ILC_COLOR32 | #ILC_MASK, 0, 0) ;for 5 lines
  SendMessage_(GadgetID(1), #LVM_SETIMAGELIST, #LVSIL_SMALL, imageList)
  
  Repeat
    Select WaitWindowEvent() 
      Case  #PB_Event_CloseWindow 
        End
      Case  #PB_Event_Gadget
        Select EventGadget()
          Case 2 ; button
            inp = GetGadgetText(0) ; EditorGadget
            AddGadgetItem(1,-1, "Col 1" + Chr(10) + inp)
        EndSelect
    EndSelect
  ForEver
EndIf
Wenn ich im EditorGadget z.B. 3 Zeilen mit CR getrennt eingebe und Start drückt, werden meine Eingaben verteilt auf die andere Spalten.
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: ListIconGadget mehrzeilig aus EditorGadget

Beitrag von marcelx »

Ich habe inp angepasst:

Code: Alles auswählen

inp = ReplaceString(GetGadgetText(0), #LF$, #CR$) ; EditorGadget
Wenn ich
1
2
3
eingebe, ist die Ausgabe in 3 Zeile (OK).

Wenn ich
1
2
3
4
eingebe, wird alles einzeilige ausgegeben!
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ListIconGadget mehrzeilig aus EditorGadget

Beitrag von Kiffi »

Code: Alles auswählen

inp = ReplaceString(GetGadgetText(0), #CRLF$, #CR$)
Grüße ... Peter
a²+b²=mc²
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: ListIconGadget mehrzeilig aus EditorGadget

Beitrag von marcelx »

Danke Peter,

jetzt passiert es mit Eingabe bis 1..6 (mit CR dazwischen.
Das verstehe ich nicht.
Win-10, PB 5.31 (Windows - x86)
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ListIconGadget mehrzeilig aus EditorGadget

Beitrag von Kiffi »

mmh, da musst Du meines Erachtens das hier anpassen:

Code: Alles auswählen

  imageList = ImageList_Create_(1, 5*Texth, #ILC_COLOR32 | #ILC_MASK, 0, 0) ;for 5 lines
Grüße ... Peter
a²+b²=mc²
Benutzeravatar
marcelx
Beiträge: 429
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: ListIconGadget mehrzeilig aus EditorGadget

Beitrag von marcelx »

habe ich gerade (nach eine Pause) auch gesehen:
5*Texth

Danke
MarcelX
Win-10, PB 5.31 (Windows - x86)
Antworten