Deutsch
Forum

Checkboxen auf Listbox?

 

GDL
Hallo und wieder ich,

In manchen Anwendungen, wo wenig Platz ist, sieht man des öfteren mehrere Checkboxen auf ner scrollbaren Unterlage, die wie ne Listbox aussieht.

Nun die Frage,

Wenn die Unterlage wirklich ne Listbox ist, wie bekommt man dann die Checkboxen auf die Listbox, oder wird ein Listboxähnliches Control verwendet?

Danke.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
20.09.2005  
 



Das nennt sich Scroll-Area. Dafür wird meist ein Static mit HSCROLL und VSCROLL Style genommen. Mit SetParent kann man dann die Checkboxes zu Childs der Scroll-Area machen. Hab leider noch keine entsprechenden Codes in Profan gesehen, sollte aber funzen

//Edit
Ich glaube, Du meinst doch ein Listview, dann vergiß das vorher geschriebene erstmal. Ich hab an was anderes gedacht
 
20.09.2005  
 




Frank
Abbing
Hi.

bei meine Listview.dll Demos ist ein Beispiel dabei, was ähnliches macht. Musst mal durchsehen, komm jetzt nicht auf den genauen Namen.
 
20.09.2005  
 



Die Listview.Dll  ist hierfür natürlich hervorragend geeignet.

Auch inframes (bei CodeSnippets) können Dir helfen wenn du etwas Komplexeres scrollen möchtest.

Salve, iF.
 
20.09.2005  
 




GDL
Danke euch allen für die Tipps, werde mich mal durchwursteln.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
20.09.2005  
 




GDL
Habe es mit inframe hinbekommen.Die Proc inframe hat nen Syntaxfehler

soll: in_yr&
KompilierenMarkierenSeparieren
In_hd&=Control(STATIC,,1409286400,0,0,If(In_xr&<In_xs&,In_xs&,In_xr&),In_yr&+10,In_hd&,0,%Hinstance,$0)Handle inneres Fenster

ist: in _yr&
KompilierenMarkierenSeparieren
In_hd&=Control(STATIC,,1409286400,0,0,If(In_xr&<In_xs&,In_xs&,In_xr&),In _yr&+10,In_hd&,0,%Hinstance,$0)Handle inneres Fenster

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
20.09.2005  
 




GDL
Hallo iF,

Doch noch nen Problem gefunden.Bei deinem Snippet verschieben sich die Checkkästchen beim Anklicken, sobald man einmal zuvor irgendeinen Scrollbalken betätigt hat.
Wenn man danach dann wieder den Scrollbalken betätigt, stimmen die Anordnungen wieder.Sieht echt lustig aus die hüpfenden Checkboxen.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
20.09.2005  
 




Michael
Dell
Hallo,

könnte das hier helfen? (List&CheckBox Fake)
KompilierenMarkierenSeparieren
Orginal:    Richard Maurukas
bearbeitet: Michael Dell
ListView Funktionen
Def GSC(1)         !User32.Dll,GetSysColor
Def gSelAnz(1)     sendmessage (&(1),$1032,0,0)
Def dItemAnz(1)    sendmessage (&(1),$1004,0,0)
Def gItemTxt(3)    Sendmessage (&(1),$102D,&(2),&(3))
Def DelCol(2)      sendmessage (&(1),$101C,%(2),0)
Def DelItem(2)     sendmessage (&(1),$1008,%(2),0)
Def DelAllItems(1) sendmessage (&(1),$1009,0,0)
Def gItemState(3)  sendmessage (&(1),$102C,%(2),%(3))
Def sColWidth(3)   sendmessage (&(1),$101E,%(2),%(3))
Def gLVTxtcol(1)   sendmessage (&(1),$1023,0,0)        hole Text-Farbe
Def gLVTxtbkcol(1) sendmessage (&(1),$1025,0,0)        hole TextHintergrund-Farbe
Def gLVbkcol(1)    sendmessage (&(1),$1000,0,0)        hole Hintergrund-Farbe
Def sLVTxtcol(2)   sendmessage (&(1),$1024,0,&(2))     setze Text-Farbe
Def sLVTxtbkcol(2) sendmessage (&(1),$1026,0,&(2))     setze TextHintergrund-Farbe ($FFFFFFFF = -1 [Transparent?])
Def sLVbkcol(2)    sendmessage (&(1),$1001,0,&(2))     setze Hintergrund-Farbe
Def sLVStyle(2)    sendmessage (&(1),$1036,0,&(2))     setze Style - $01 GRIDLINE | $02 SUBITEMIMG | $04 CHECKBOX
 $08 TRACKSEL | $20 Fullrowsel (Report)
Declare Lview&,Zeile#
Struct zInhalt = Mask&,Ind&,d01&,d02&,d03&,ptrText&,LenTxt&,d08&

PROC Lview_INIT

    LView& = control(SysListView32,Hallolo!!,$50814803,10,10,sub(%winright,26),sub(%Winbottom,46),%Hwnd,$0100,%Hinstance)
    sLVStyle(LView&,$0C)

ENDPROC

PROC AddZeile

    Parameters LVHndl&,Index&,Text$
    Dim Zeile#,zInhalt
    Clear Zeile#
    Zeile#.Mask&    = $0001
    Zeile#.Ind&     = Index&
    Zeile#.ptrText& = Addr(Text$)
    Zeile#.LenTxt&  = Len(Text$)
    sendmessage(LVHndl&,$1007,0,Zeile#)
    sendmessage(LVHndl&,$102E,Index&,Zeile#)
    dispose Zeile#

ENDPROC

WindowStyle 26
Window Add(%maxX,10),0-400,300
Windowtitle ListCheckbox
ShowWindow(%HWnd,0)
Window 0,0-400,300
Cls GSC(15)
Lview_INIT
AddZeile(LView&,0,1. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test.)
AddZeile(LView&,1,2. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test.)
AddZeile(LView&,2,3. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test.)
AddZeile(LView&,3,4. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test.)
AddZeile(LView&,4,5. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test. Dies ist ein Test.)
ShowWindow(%HWnd,1)
Sleep 4000
DelItem(LView&,2)  Löscht die 3. Zeile

whilenot Equ(%Key,2)

    waitinput

EndWhile

End
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
21.09.2005  
 



Besten Dank Michael,

der Code nimmt mir sehr viel Arbeit ab!!!

Eine Checklistbox läßt sich auch direkt mit Profan aus einer normalen Listbox erzeugen (Checkboxen mehrzeilig nebeneinander, rechtsbündig etc.). Ich hatte das Control schon mal hier auf meinem Rechner - habe dann leider gedacht, daß das Notieren des Codes nicht nötig ist (war stinkeinfach zu erzeugen), und jetzt komme ich nicht mehr drauf (son Scheiß ).

Gruß

AH
 
21.09.2005  
 




Michael
Dell
Hallo Andreas,

darum gings schon mal. Meinst du den Code: [...] 

Stell den ihn mal hier dazu:
KompilierenMarkierenSeparieren
Autor: Jörg Sellmeyer
window 80,30-650,500
declare Liste%,Check%[20],Zähler%,Text$,Position%
Liste%=createlistbox(%hwnd,,50,50,200,200)
sendmessage(Liste%,416,0,20)---Zeilenhöhe 20 = Höhe einer Checkbox

while Zähler%<21

    addstring(Liste%, )-------Dummy-Eintrag
    Text$=Feld +str$(Zähler%)
    Position%=Zähler%*20--------20 > Höhe einer Checkbox
    Check%[Zähler%]=createcheckbox(Liste%,Text$,0,Position%,185,20)
    inc Zähler%

endwhile

waitkey
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
21.09.2005  
 



Nein, meine ich nicht. Das geht auch ohne Checkboxen zu erzeugen.
Ich hatte damals mit Messages und Stiles herumgespiel und bin durch Zufall auf eine Listbox mit diesen Eigenschaften gekommen...
 
21.09.2005  
 




GDL
Hallo Michael,

so ähnlich wie dein letztes Posting(also ne Checkbox auf nen leeren Listboxeintrag erstellen), hatte ich auch schon getestet.
Aber überall dasselbe, bei meinen vorherigen Versuchen,bei Ifs Inframe und bei deinem letzten Code.

Die Checkboxen lassen sich aktivieren und deaktivieren, solange der Scrollbalken nicht bewegt wird, sobald der Scrollbalken bewegt wird und danach eine Checkbox angeklickt wird, verscjiebt sich diese auf dem Listboxcontrol. Vielleicht wieder mal nen ME Problem?
Glaub ich aber net, in anderen Programmen gehen Scrollbare Checkboxfelder ja auch.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
21.09.2005  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.265 Betrachtungen

Unbenanntvor 0 min.
Walter19.07.2024
RudiB.03.04.2020
Paul Glatz27.04.2014
Uwe Lang14.12.2013
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie