Al momento sei offline in attesa che la connessione Internet venga ristabilita

Il tuo browser non è supportato

Devi aggiornare il browser per usare il sito.

Esegui l'aggiornamento all'ultima versione di Internet Explorer

Come accedere a ImageList da controllo TreeView e ListView con codice di Visual FoxPro

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 170146
Sommario
In questo articolo viene illustrato come immagini di un controllo ImageList è possibile accedere a livello di programmazione TreeView e ListView .
Informazioni
In questa sezione sono due esempi di codice. Il primo esempio viene illustrato come le immagini di ImageList possono essere assegnate a un controllo TreeView . In questo esempio se Foglie vengono aggiunti a un nodo di TreeView , viene assegnata un'icona di cartella chiuso al nodo. Se un nodo contenente Foglie viene espanso, comprimere relativa modifiche sull'icona per una cartella aperta e al momento, assume nuovamente la cartella di chiusura.

Il secondo esempio viene illustrato come le immagini di ImageList possono essere assegnate a un controllo ListView . In questo esempio, quando viene creata una voce di elenco viene assegnato un'icona grande. Le icone di elemento possono essere attivate quindi tra un piccolo e un'icona grande. Per ogni tipo di icona--grande e piccole--vengono utilizzati controlli ImageList separati; in caso contrario, entrambi i tipi di icone visualizzato stessa dimensione.

Nota Le cartelle contenenti i file di icona e bitmap sono state modificate in Visual FoxPro 6.0. Il nuovo percorso per le icone è:
  home(4)+"icons\office\<filename>"				
il nuovo percorso per le bitmap è:
   home(4)+"bitmaps\outline\<Filename>"				
seguente è il codice di esempio per nel primo esempio assegnare immagini ImageList a un controllo TreeView :
   LVForm=CREATEOBJECT("MyLVForm")   LVForm.SHOW   READ EVENT   *** Define the Form to hold and display all the controls ***   DEFINE CLASS MyLVForm AS FORM      LEFT=23      HEIGHT=250      WIDTH=425      mndx=0      *** Add the Control Objects to the Form ***      ADD OBJECT ImageList1 AS MyImageList      ADD OBJECT TreeView1  AS MyTreeView      ADD OBJECT AddNode    AS ANCButton      ADD OBJECT AddLeaf    AS ALCButton      ADD OBJECT mDelete    AS DCButton      ADD OBJECT mExit      AS ECButton   ENDDEFINE   *** Define ImageList to Hold Images for the TreeView Control ***   DEFINE CLASS MyImageList AS OLECONTROL      OLECLASS="COMCTL.ImageListCtrl.1"      TOP=36      LEFT=420      PROCEDURE INIT         THIS.OBJECT.ListImages.ADD(1,,LOADPICTURE(home()+;               "samples\graphics\bmps\outline\closed.bmp"))         THIS.OBJECT.ListImages.ADD(2,,LOADPICTURE(home()+;               "samples\graphics\bmps\outline\open.bmp"))      ENDPROC   ENDDEFINE   *** Define the TreeView Control ***   DEFINE CLASS MyTreeView AS OLECONTROL      OLECLASS="COMCTL.TreeCtrl.1"      TOP=24      HEIGHT=169      WIDTH=300      LEFT=20      .OBJECT.LineStyle=1      VISIBLE=.T.      *** Set ImageList property to ImageList1 Images ***      PROCEDURE INIT         THIS.OBJECT.ImageList=THISFORM.ImageList1.OBJECT      ENDPROC      PROCEDURE nodeclick         LPARAMETERS NODE      ENDPROC      *** Assign Image for Collapsed object ***      PROCEDURE collapse         LPARAMETERS NODE         IF !EMPTY(NODE.IMAGE)            NODE.IMAGE=1         ENDIF      ENDPROC      *** Assign Image for Expanded object ***      PROCEDURE expand         LPARAMETERS NODE         IF !EMPTY(NODE.IMAGE)            NODE.IMAGE=2         ENDIF      ENDPROC   ENDDEFINE   *** Define the Add Node Command Button ***   DEFINE CLASS ANCButton AS COMMANDBUTTON      TOP=70      LEFT=350      HEIGHT=18      WIDTH=59      CAPTION="Add Node"      VISIBLE=.T.      PROCEDURE CLICK         mndxtxt=""         mndxtxt=ALLTRIM(STR(THISFORM.mndx))         THISFORM.TreeView1.nodes.ADD(,2,mndxtxt+;          "_",REPLICATE(mndxtxt,5),,0)         THISFORM.mndx=THISFORM.mndx+1         THISFORM.TreeView1.ENABLED=.T.         THISFORM.AddLeaf.ENABLED=.T.         THISFORM.mDelete.ENABLED=.T.      ENDPROC   ENDDEFINE   *** Define the Add Leaf Command Button ***   DEFINE CLASS ALCButton AS COMMANDBUTTON      TOP=100      LEFT=350      HEIGHT=18      WIDTH=59      CAPTION="Add Leaf"      VISIBLE=.T.      ENABLED=.F.      PROCEDURE CLICK         so=THISFORM.TreeView1.SELECTEDITEM         IF !ISNULL(so)            THISFORM.TreeView1.nodes.ADD(so.INDEX,;                      4,,"Sub"+ALLTRIM(so.TEXT),,0)            so.IMAGE=1         ENDIF         THISFORM.REFRESH      ENDPROC   ENDDEFINE   *** Define the Delete Command Button  ***   DEFINE CLASS DCButton AS COMMANDBUTTON      TOP=150      LEFT=350      HEIGHT=18      WIDTH=59      CAPTION="Delete"      VISIBLE=.T.      ENABLED=.F.      PROCEDURE CLICK         o=THISFORM.TreeView1.SELECTEDITEM         IF !ISNULL(o)            IF !ISNULL(o.PARENT)               IF o.PARENT.children<2                  o.PARENT.IMAGE=0               ENDIF            ENDIF            THISFORM.TreeView1.nodes.REMOVE(o.INDEX)         ENDIF      ENDPROC   ENDDEFINE   *** Define the Exit Command Button ***   DEFINE CLASS ECButton AS COMMANDBUTTON      TOP=215      LEFT=180      WIDTH=70      HEIGHT=25      CAPTION="Exit"      VISIBLE=.T.      PROCEDURE CLICK         THISFORM.RELEASE         CLEAR EVENTS      ENDPROC   ENDDEFINE   Following is the sample code for the Second example:   LVForm=CREATEOBJECT("MYLVForm")   LVForm.SHOW   READ EVENT   *** Define the Form that will hold and display the controls ***   DEFINE CLASS MyLVForm AS FORM      LEFT=23      HEIGHT=300      WIDTH=478      lvitm=0      lvitxt=''      ADD OBJECT ImageList2 AS MyImageList1      ADD OBJECT ImageList3 AS MyImageList2      ADD OBJECT ListView1  AS MyListView      ADD OBJECT ADDITEM    AS AICButton      ADD OBJECT LSIOption  AS LSIOGroup      ADD OBJECT mDelete    AS DButton      ADD OBJECT MExit      AS ExButton   ENDDEFINE   *** Need separate ImageList Controls for Large and Small Icons of   *** ListView otherwise both type of icons will appear as same size   ***   *** Define ImageList to Hold Large Icon Image for the ListView   *** Control   DEFINE CLASS MyImageList1 AS OLECONTROL      OLECLASS="COMCTL.ImageListCtrl.1"      TOP=204      LEFT=420      PROCEDURE INIT         THIS.OBJECT.ListImages.ADD(1,,LOADPICTURE(home(4)+;             "icons\office\folder01.ico"))      ENDPROC   ENDDEFINE   *** Define ImageList to Hold Small Icon Image for the   *** ListView Control   DEFINE CLASS MyImageList2 AS OLECONTROL      OLECLASS="COMCTL.ImageListCtrl.1"      TOP=264      LEFT=420      PROCEDURE INIT         THIS.OBJECT.ListImages.ADD(1,,LOADPICTURE(home(4)+;               "bitmaps\outline\closed.bmp"))      ENDPROC   ENDDEFINE   *** Define the ListView Class ***   DEFINE CLASS MyListView AS OLECONTROL      OLECLASS="COMCTL.ListViewCtrl.1"      TOP=24      HEIGHT=169      WIDTH=275      LEFT=36      .OBJECT.LineStyle=1      VISIBLE=.T.   *** Set the ListView Icons property to Images in ImageList1 ***   *** and SmallIcons property to Images in ImageList2 ***      PROCEDURE INIT         THIS.OBJECT.icons=THISFORM.ImageList2.OBJECT         THIS.OBJECT.smallicons=THISFORM.ImageList3.OBJECT      ENDPROC   ENDDEFINE   *** Define the Add Item Button Class ***   DEFINE CLASS AICButton AS COMMANDBUTTON      TOP=50      LEFT=360      HEIGHT=18      WIDTH=59      CAPTION="Add Item"      VISIBLE=.T.      PROCEDURE CLICK         THISFORM.lvitm=THISFORM.lvitm+1         THISFORM.lvitxt=ALLTRIM(STR(THISFORM.lvitm))         x=THISFORM.ListView1.OBJECT.listitems.ADD;            (,THISFORM.lvitxt+"_","Item"+THISFORM.lvitxt,)         x.smallicon=1         x.ICON=1         THISFORM.LSIOption.ENABLED=.T.         THISFORM.mDelete.ENABLED=.T.         THISFORM.REFRESH      ENDPROC   ENDDEFINE   *** Define the Large/Small Icon Option Group ***   DEFINE CLASS LSIOGroup AS OPTIONGROUP      BUTTONCOUNT = 2      VALUE = 1      HEIGHT = 39      LEFT = 340      TOP = 80      WIDTH = 96      Option1.CAPTION = "Large Icon"      Option1.LEFT = 11      Option1.TOP = 5      Option1.WIDTH = 82      Option1.NAME = "Option1"      Option2.CAPTION = "Small Icon"      Option2.LEFT = 11      Option2.TOP = 20      Option2.WIDTH = 82      Option2.NAME = "Option2"      PROCEDURE INTERACTIVECHANGE         DO CASE         CASE THIS.VALUE=1            THISFORM.ListView1.OBJECT.VIEW=0         CASE THIS.VALUE=2            THISFORM.ListView1.OBJECT.VIEW=1         ENDCASE         THISFORM.REFRESH      ENDPROC   ENDDEFINE   *** Define the Delete Button Class ***   DEFINE CLASS DButton AS COMMANDBUTTON      TOP=156      LEFT=360      HEIGHT=18      WIDTH=59      CAPTION="Delete"      VISIBLE=.T.      ENABLED=.F.      PROCEDURE CLICK         o=THISFORM.ListView1.SELECTEDITEM         IF !ISNULL(o)            THISFORM.ListView1.listitems.REMOVE(o.INDEX)         ENDIF      ENDPROC   ENDDEFINE   *** Define the Exit Button Class   DEFINE CLASS ExButton AS COMMANDBUTTON      TOP=226      LEFT=192      WIDTH=192      HEIGHT=18      WIDTH=59      CAPTION="Exit"      VISIBLE=.T.      PROCEDURE CLICK         THISFORM.RELEASE         CLEAR EVENTS      ENDPROC   ENDDEFINE				
Riferimenti
Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
166937Aggiunta a livello di programmazione di immagini a controllo ImageList
160921Errore di utilizzo dei controlli OLE
163803Impossibile impostare la proprietà ImageList di TreeView visivamente

Warning: This article has been translated automatically

Proprietà

ID articolo: 170146 - Ultima revisione: 02/21/2005 20:26:41 - Revisione: 2.4

  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 5.0a
  • Microsoft Visual FoxPro 6.0 Professional Edition
  • Microsoft Visual FoxPro 7.0 Professional Edition
  • Microsoft Visual FoxPro 8.0 Professional Edition
  • Microsoft Visual FoxPro 9.0 Professional Edition
  • kbmt kbcode kbhowto kboop KB170146 KbMtit
Feedback
soft.com/c.gif?DI=4050&did=1&t=">head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");