Italia
Fonte/ Codesnippets

Checkboxen Gridbox

 

Jac
de
Lad
Ciao,

wie ich Icons in Gridboxen einbaue weiß ich jetzt, aber weiß vielleicht jemand wie man Checkboxen einbauen, abfragen und setzen kann?? Geht bestimmt wieder mit SetWindowLong, aber davon hab ich nicht viel Ahnung...bin froh, dass ich grad Callback-Funktionen verstanden hab)

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.07.2006  
 




Uwe
''Pascal''
Niemeier
Hallo Jac!

Guckst du hier:
(Habe die icons vom letzen Mal gleich dringelassen)
KompilierenMarkierenSeparieren
window 100,100-400,300
 $H Windows.ph
 $H Commctrl.ph
numwidth 3
def ImageList_AddIcon(2) !comctl32,ImageList_AddIcon--Diese API ist nirgendwo definiert
declare Lv&
Lv&=create(GridBox,%hwnd,Links;0;100;Mitte;0;100;Rechts;0;100,1,10,50,300,100)
addstring(Lv&,Eintrag 1.1|Eintrag 1.2|Eintrag 1.3)
addstring(Lv&,Eintrag 2.1|Eintrag 2.2|Eintrag 2.3)
addstring(Lv&,Eintrag 3.1|Eintrag 3.2|Eintrag 3.3)
def LvGetCheck(2) testbit(sendmessage(&(1),~LVM_GETITEMSTATE,%(2),~LVIS_STATEIMAGEMASK),13)

proc LvSetCheck---------------------------------LvSetCheck------------------------------

    parameters Lv&,Item&,Mode%
    Lv#.StateMask&=~LVIS_STATEIMAGEMASK
    Lv#.State&    =$1000*(Mode%+1)
    sendmessage(Lv&,~LVM_SETITEMSTATE,Item&,Lv#)
    endproc---------------------------------------------------------------------------------
    declare IcoList&
    IcoList&=~ImageList_Create(16,16,33,0,0)--Icons Grösse 16*16 (3.Parameter: Farbtiefe)
    --Die Höhe der Lv-Zeilen passt sich der Grösse der Icons an!
    ImageList_AddIcon(IcoList&,~LoadIcon(%hinstance,stein))--Icon 0 in IcoList
    ImageList_AddIcon(IcoList&,~LoadIcon(%hinstance,dos))----Icon 1 in IcoList
    ImageList_AddIcon(IcoList&,~LoadIcon(%hinstance,weg))----Icon 2 in IcoList
    --IcoList für Tabellenansicht mit ListView verbinden
    sendmessage(Lv&,~LVM_SETIMAGELIST,~LVSIL_SMALL,IcoList&)
    --Checkboxen + Icons in SubItems + Gitterlinien
    sendmessage(Lv&,~LVM_SETEXTENDEDLISTVIEWSTYLE,0,~LVS_EX_CHECKBOXES | ~LVS_EX_SUBITEMIMAGES | ~LVS_EX_GRIDLINES)
    declare Lv#
    struct Lvi=Mask&,Item&,SubItem&,State&,StateMask&,Text&,TextMax&,Image&,Param&
    dim Lv#,Lvi
    clear Lv#
    Lv#.Mask&=~LVIF_IMAGE
    Lv#.Item&   =0-----------------------------Zeile  0
    Lv#.SubItem&=0-----------------------------Spalte 0
    Lv#.Image&  =1-----------------------------Icon 1
    sendmessage(Lv&,~LVM_SETITEM,0,Lv#)
    Lv#.Item&   =0-----------------------------Zeile  0
    Lv#.SubItem&=1-----------------------------Spalte 1
    Lv#.Image&  =2-----------------------------Icon 2
    sendmessage(Lv&,~LVM_SETITEM,0,Lv#)
    Lv#.Item&   =0-----------------------------Zeile  0
    Lv#.SubItem&=2-----------------------------Spalte 2
    Lv#.Image&  =0-----------------------------Icon 0
    sendmessage(Lv&,~LVM_SETITEM,0,Lv#)
    LvSetCheck(Lv&,1,1)---Eintrag abhaken (0 als 3.Parameter löscht den Haken)
    usermessages 16--Close abfangen

    while 1

        waitinput
        locate 0,0
        print Gewählt:,getcursel(Lv&)
        print Check  :,LvGetCheck(Lv&,getcursel(Lv&))
        case %umessage=16:break

    endwhile

    --Aufrufen, wenn das Grid nicht mehr gebraucht wird:
    destroywindow(Lv&)
    ~ImageList_Destroy(IcoList&)
    ../funktionsreferenzen/xprofan/dispose/'>dispose Lv#

HTH
Pascal
 
08.07.2006  
 




Jac
de
Lad
Ich gucke und danke dir!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
08.07.2006  
 




Jac
de
Lad
Funktioniert prima, nur verschwindet dabei der Rand von der Gridbox...und ich finde irgendwie den richtigen Stil nicht zum Wiedereinschalten...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
18.07.2006  
 




RGH
Achtung: Die aktuelle Subscriptionsversion hat das Problem, daß die Gridbox keinen Rand hat. Das ist in der nächsten Version behoben!
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
18.07.2006  
 




Jac
de
Lad
Ok.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
19.07.2006  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.757 Views

Untitledvor 0 min.
Walter19.07.2024
ByteAttack31.03.2024
RudiB.30.08.2022
jacdelad20.12.2018
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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