Afficher : Delphi C++
Préférences d'affichage

Vcl.ComCtrls

De RAD Studio API Documentation


Package vcl.bpl

Classes

ECommonCalendarErrorECommonCalendarError est la classe des exceptions pour les entrées incorrectes dans un composant TCommonCalendar.
EDateTimeErrorEDateTimeError est la classe des exceptions pour les saisies incorrectes de date et d'heure.
EMonthCalErrorEMonthCalError est la classe des exceptions pour les entrées incorrectes dans un composant TMonthCalendar.
ETreeViewErrorETreeViewError est la classe des exceptions pour les erreurs de vue arborescente.
ExceptClassVcl.ComCtrls.ExceptClass est un alias pour System.SysUtils.ExceptClass.
TAnimateTAnimate est un contrôle animation.
TComboBoxExTComboBoxEx représente une boîte à options gérant les fonction étendues de boîte à options comme l'affichage d'image dans la liste d'entrées.
TComboBoxExActionLink
TComboBoxExStringsTComboBoxExStrings est utilisée pour stocker des chaînes dans la liste déroulante de la boîte à options.
TComboBoxExStringsClass
TComboBoxExStyleHook
TComboExItemTComboExItem représente un élément d'une boîte à options à fonctionnalités étendues.
TComboExItemClass
TComboExItemsTComboExItems gère une collection d'objets TComboExItem.
TComboExItemsClass
TCommonCalendarTCommonCalendar est la classe de base pour les contrôles TDateTimePicker et TMonthCalendar.
TConversionTConversion convertit des données texte formatées d'un format de codage à un autre.
TConversionClass
TCoolBandTCoolBand représente une bande au sein d'une TCoolBar.
TCoolBandsTCoolBands sert de conteneur aux objets TCoolBand.
TCoolBarTCoolBar affiche une collection de contrôles fenêtrés dans des bandes mobiles et redimensionnables.
TCoolBarStyleHook
TCustomComboBoxExTCustomComboBoxEx est la classe de base des composants boîte à options gérant les fonctions étendues de boîte à options comme l'affichage d'image dans la liste d'entrées.
TCustomHeaderControlTCustomHeaderControl représente un en-tête de style tableur.
TCustomHotKeyTCustomHotKey est le type classe de base des objets conteneurs du contrôleur commun touche de raccourci Windows.
TCustomListViewTCustomListView est le type de base dont dérivent tous les composants vue liste, dont TListView.
TCustomRichEditTCustomRichEdit est le type de base des contrôles éditeur de texte formaté comme TRichEdit.
TCustomStatusBarTCustomStatusBar est la classe de base pour les objets représentant des barres d'état.
TCustomTabControlTCustomTabControl est le type de base des composants contrôle onglets comme TTabControl ou TPageControl.
TCustomTreeViewLe composant TCustomTreeView est le type de base des composants vue arborescente, comme TTreeView.
TCustomUpDownTCustomUpDown est le type de base pour les contrôles haut-bas tels que TUpDown.
TDateTimeColorsTDateTimeColors précise les couleurs dans un contrôle calendrier.
TDateTimePickerTDateTimePicker affiche une boîte liste permettant la saisie de dates ou d'heures.
TDateTimePickerStyleHook
THeaderControlTHeaderControl sert de conteneur aux objets THeaderSection. Il définit un ensemble d'en-têtes de colonne redimensionnables.
THeaderSectionTHeaderSection représente une section d'un contrôle en-tête.
THeaderSectionClass
THeaderSectionsTHeaderSections sert de conteneur aux objets THeaderSection.
THeaderStyleHook
THotKeyTHotKey est une enveloppe pour un raccourci clavier d'un contrôle commun Windows.
TIconOptionsTIconOptions décrit comment doivent être organisées les icônes d'une vue liste.
TListColumnTListColumn représente une colonne d'une vue liste de style état.
TListColumnClass
TListColumnsTListColumns est une collection d'objets TListColumn.
TListColumnsClass
TListGroupGroupe d'un élément de liste.
TListGroupsGroupes d'une vue liste.
TListItemTListItem est un élément individuel d'un contrôle TListView.
TListItemClass
TListItemsL'objet TListItems gère la collection d'éléments apparaissant dans un contrôle vue liste.
TListItemsEnumeratorEnumère les éléments d'une instance de TListItems.
TListViewTListView permet d'afficher une liste d'éléments de différentes manières.
TListViewActionLink
TListViewStyleHook
TMonthCalColorsTMonthCalColors définit le modèle de couleurs du calendrier déroulant d'un composant TDateTimePicker ou TMonthCalendar.
TMonthCalendarTMonthCalendar est un calendrier indépendant dans lequel l'utilisateur peut sélectionner une date ou une plage de dates.
TPageControlTPageControl est un ensemble de pages utilisées pour construire une boîte de dialogue multipage.
TPageScrollerTPageScroller définit une zone d'affichage pour une fenêtre étroite comme une barre d'outils.
TPageScrollerStyleHook
TParaAttributesTParaAttributes représente les attributs de mise en forme d'un paragraphe dans un contrôle éditeur de texte formaté.
TProgressBarTProgressBar affiche une barre de progression simple.
TProgressBarStyleHook
TRichEditTRichEdit encapsule un contrôle éditeur de texte formaté de Windows.
TRichEditStyleHook
TStatusBarTStatusBar représente une barre d'état.
TStatusBarStyleHook
TStatusPanelTStatusPanel représente un volet unique d'une barre d'état.
TStatusPanelClassTStatusPanelClass définit la métaclasse pour TStatusPanel.
TStatusPanelsTStatusPanels sert de conteneur aux objets TStatusPanel.
TTabControlTTabControl est un ensemble d'onglets ayant l'aspect d'un séparateur de classeur.
TTabControlStyleHook
TTabSheetTTabSheet est une page individuelle d'un objet TPageControl.
TTextAttributesTTextAttributes représente les attributs de fonte d'une sélection de texte dans un contrôle éditeur de texte formaté.
TToolBarTToolBar gère les boutons et autres contrôles d'outils, en les organisant en lignes et en ajustant automatiquement leurs tailles et leurs positions.
TToolBarDockObject
TToolBarEnumerator
TToolBarStyleHook
TToolButtonTToolButton est un contrôle bouton dans un objet TToolBar.
TToolButtonActionLinkLie un object action à un client (bouton outil).
TToolButtonActionLinkClass
TTrackBarTTrackBar est un wrapper pour un contrôle barre graduée.
TTrackBarStyleHook
TTreeNodeTTreeNode décrit un noeud individuel d'un contrôle vue arborescente.
TTreeNodeClass
TTreeNodesTTreeNodes gère la liste des noeuds d'une vue arborescente.
TTreeNodesEnumeratorEnumère à travers les noeuds d'une instance de TTreeNode.
TTreeViewTTreeView représente une fenêtre affichant une liste hiérarchique d'éléments : les parties d'un document, les entrées d'un index ou les fichiers et répertoires d'un disque.
TTreeViewStyleHook
TUpDownTUpDown encapsule un contrôle flèches haut/bas Windows.
TUpDownStyleHook
TWorkAreaTWorkArea représente une région rectangulaire de la zone client d'une vue liste.
TWorkAreasTWorkAreas est une collection d'objets TWorkArea.

Routines

CheckCommonControl
CheckToolMenuDropdown (obsolète)Affiche le menu déroulant d'un bouton de barre d'outils.
GetComCtlVersionPrécise quelle version de ComCtl32.dll est installée.
InitCommonControl

Types

ECommonCalExceptClass
PConversionFormat
PNodeCachePNodeCache est un pointeur sur un objet TNodeCache.
PNodeInfo
PRichEditStreamInfo
TAddMode
TAnimateParams
TAnimateResId
TAttributeType
TAutoCompleteOptionTAutoCompleteOption et TAutoCompleteOptions précisent un ensemble d'options d'achèvement automatique.
TAutoCompleteOptionsTAutoCompleteOption et TAutoCompleteOptions précisent un ensemble d'options d'achèvement automatique.
TCalDayOfWeekTCalDayOfWeek Représente un jour de la semaine.
TComboBoxExStyleTComboBoxExStyle représente le type de la propriété Style des contrôles boîte à options étendue.
TComboBoxExStyleExTComboBoxExStyleEx et TComboBoxExStyles configurent le comportement des contrôles boîte à options étendue.
TComboBoxExStylesTComboBoxExStyles représente le type de la propriété Style des contrôles boîte à options étendue.
TComboExInstanceVcl.ComCtrls.TComboExInstance est un alias à un pointeur non typé.
TCommonAVI
TConsistentAttribute
TConsistentAttributes
TConversionBuffer
TConversionFormat
TCoolBandMaximizeTCoolBandMaximize spécifie les conditions sous lesquelles une TCoolBand devient maximisée.
TCustomDrawPanelEventTCustomDrawPanelEvent est le type du gestionnaire d'événements OnDrawPanel.
TCustomDrawSectionEventTCustomDrawSectionEvent est une procédure appelée par l'événement OnDrawSection de la classe TCustomHeaderControl.
TCustomDrawStageTCustomDrawStage spécifie une phase dans le processus de dessin personnalisé.
TCustomDrawStateTCustomDrawState précise un état de dessin personnalisé.
TCustomDrawTargetTCustomDrawTarget précise la cible d'un événement de dessin personnalisé.
TCustomHCCreateSectionClassEventTCustomHCCreateSectionClassEvent est une procédure appelée par l'événement OnCreateSectionClass de la classe TCustomHeaderControl.
TCustomSectionNotifyEventTCustomSectionNotifyEvent est une procédure appelée par les événements OnSectionResize et OnSectionClick.
TCustomSectionTrackEventTCustomSectionTrackEvent est une procédure appelée par l'événement OnSectionTrack.
TDateTimeKind
TDisplayCode
TDrawPanelEventTDrawPanelEvent est le type des gestionnaires d'événements qui dessinent un panneau dans une barre d'état dessinée par le propriétaire, tel que OnDrawPanel.
TDrawSectionEventTDrawSectionEvent est une procédure appelée par l'événement OnDrawSection de la classe THeaderControl.
TDrawTabEvent

TDrawTabEvent est le type des gestionnaires d'événements qui restituent l'onglet d'un contrôle Vcl.ComCtrls.TTabControl dessiné par le propriétaire pour l'événement OnDrawTab.


TDTCalAlignmentType de la propriété CalAlignment.
TDTDateFormat
TDTDateMode
TDTParseInputEventTDTParseInputEvent est une procédure appelée par l'événement OnUserInput.
THCCreateSectionClassEvent
THeaderSectionStyle
THeaderStyleTHeaderStyle spécifie le style d'un contrôle en-tête.
THitTestTHitTest et THitTests sont utilisés dans la méthode GetHitTestInfoAt.
THitTests
THKInvalidKey
THKInvalidKeys
THKModifier
THKModifiers
TIconArrangementTIconArrangement indique la façon dont les icônes des éléments sont disposées.
TItemChangeTItemChange décrit le type de modification que subit un élément de la liste.
TItemFindTItemFind identifie le type de recherche d'un gestionnaire d'événement OnDataFind.
TItemRequest
TItemRequests
TItemStateTItemState et TItemStates précisent l'état d'un élément dans un contrôle vue liste.
TItemStatesTItemState et TItemStates précisent l'état d'un élément dans un contrôle vue liste.
TListArrangement
TListGroupStateTListGroupState décrit l'état en cours d'un groupe de liste.
TListGroupStateSet
TListHotTrackStyleTListHotTrackStyle et TListHotTrackStyles précisent les styles de suivi dynamique d'un contrôle vue liste.
TListHotTrackStylesTListHotTrackStyle et TListHotTrackStyles précisent les styles de suivi dynamique d'un contrôle vue liste.
TLVAdvancedCustomDrawEventTLVAdvancedCustomDrawEvent est une procédure appelée par l'événement OnAdvancedCustomDraw.
TLVAdvancedCustomDrawItemEventTLVAdvancedCustomDrawItemEvent est une procédure appelée par l'événement OnAdvancedCustomDrawItem.
TLVAdvancedCustomDrawSubItemEventTLVAdvancedCustomDrawItemEvent est une procédure appelée par l'événement OnAdvancedCustomDrawSubItem.
TLVChangeEventTLVChangeEvent est le type des gestionnaires d'événements qui répondent quand un élément d'un contrôle vue liste change.
TLVChangingEventTLVChangingEvent est une procédure appelée par l'événement OnChanging.
TLVCheckedItemEventTLVCheckedItemEvent est une procédure appelée par l'événement OnItemChecked.
TLVColumnClickEventTLVColumnClickEvent est une procédure appelée par l'événement OnColumnClick.
TLVColumnRClickEventTLVColumnRClickEvent est une procédure appelée par l'événement OnColumnRightClick.
TLVCompareEventTLVCompareEvent est une procédure appelée par l'événement OnCompare.
TLVCreateItemClassEventTLVCreateItemClassEvent est une procédure appelée par l'événement OnCreateItemClass.
TLVCustomDrawEventTLVCustomDrawEvent est le type de procédure des événements TCustomListView.OnCustomDraw et TListView.OnCustomDraw.
TLVCustomDrawItemEventTLVCustomDrawItemEvent est le type de procédure des événements TCustomListView.OnCustomDrawItem et TListView.OnCustomDrawItem.
TLVCustomDrawSubItemEvent TLVCustomDrawSubItemEvent est le type de procédure des événements TCustomListView.OnCustomDrawSubItem et TListView.OnCustomDrawSubItem.
TLVDeletedEventTLVDeletedEvent est le type des gestionnaires d'événements OnDeletion et OnInsert d'une vue liste.
TLVDrawItemEventTLVDrawItemEvent est le type des gestionnaires d'événements Vcl.ComCtrls.TCustomListView.OnDrawItem et Vcl.ComCtrls.TListView.OnDrawItem de la vue liste.
TLVEditedEvent

TLVEditedEvent est le type des gestionnaires d'événements Vcl.ComCtrls.TCustomListView.OnEdited et Vcl.ComCtrls.TListView.OnEdited de la vue liste.


TLVEditingEventTLVEditingEvent est le type des gestionnaires d'événements qui répondent quand l'utilisateur commence à modifier le libellé d'un élément dans un contrôle vue liste.
TLVInfoTipEventTLVInfoTipEvent est le type de procédure des événements TCustomListView.OnInfoTip et TListView.OnInfoTip.
TLVNotifyEventTLVNotifyEvent est le type de procédure des événements TCustomListView.OnGetImageIndex et TListView.OnGetImageIndex.
TLVOwnerDataEventTLVOwnerDataEvent est le type des gestionnaires d'événements Vcl.ComCtrls.TCustomListView.OnData et Vcl.ComCtrls.TListView.OnData d'une vue liste.
TLVOwnerDataFindEventTLVOwnerDataFindEvent est le type des gestionnaires d'événements Vcl.ComCtrls.TCustomListView.OnDataFind et Vcl.ComCtrls.TListView.OnDataFind d'une vue liste.
TLVOwnerDataHintEventTLVOwnerDataHintEvent est le type des gestionnaires d'événements Vcl.ComCtrls.TCustomListView.OnDataHint et Vcl.ComCtrls.TListView.OnDataHint d'une vue liste.
TLVOwnerDataStateChangeEventTLVOwnerDataStateChangeEvent est le type des gestionnaires d'événements Vcl.ComCtrls.TCustomListView.OnDataStateChange et Vcl.ComCtrls.TListView.OnDataStateChange d'une vue liste.
TLVSelectItemEventTLVSelectItemEvent est le type des gestionnaires d'événements TCustomListView.OnSelectItem et TListView.OnSelectItem d'une vue liste.
TLVSubItemImageEventTLVSubItemImageEvent est le type des gestionnaires d'événements TCustomListView.OnGetSubItemImage et TListView.OnGetSubItemImage d'une vue liste.
TMultiSelectStyle
TMultiSelectStyles
TNodeAttachModeTNodeAttachMode identifie une relation entre noeuds nouvelle ou modifiée.
TNodeCacheTNodeCache est le type d'un noeud vue d'arborescence placé en mémoire cache.
TNodeDataInfo
TNodeDataInfo2
TNodeDataInfo2x64
TNodeDataInfo2x86
TNodeDataInfoX86
TNodeDataType
TNodeInfo
TNodeState
TNumberingStyle
TOnGetMonthBoldInfoEventType des gestionnaires d'événements TCommonCalendar.OnGetMonthBoldInfo et TMonthCalendar.OnGetMonthBoldInfo d'un calendrier.
TOnGetMonthInfoEventTOnGetMonthInfoEvent est le type des gestionnaires d'événements Vcl.ComCtrls.TCommonCalendar.OnGetMonthInfo et Vcl.ComCtrls.TMonthCalendar.OnGetMonthInfo.
TOwnerDrawStateIndique les informations d'état pouvant influencer la manière dont un élément est dessiné.
TPageScrollerButtonTPageScrollerButton identifie un bouton de défilement de page.
TPageScrollerButtonStateTPageScrollerButtonState indique l'état d'un bouton de défilement de page.
TPageScrollerOrientationTPageScrollerOrientation indique l'orientation d'un contrôle de défilement de page.
TPageScrollEventTPageScrollEvent est le type du gestionnaire d'événements Vcl.ComCtrls.TPageScroller.OnScroll d'un défileur de page.
TPositionToolTipSpécifie la position de la bulle d'aide.
TProgressBarOrientationTProgressBarOrientation précise l'orientation d'une barre de progression.
TProgressBarStateUtilisé pour définir la propriété State dans et hors d'une erreur, ou en état pause.
TProgressBarStyleUtilisez l'énumération TProgressBarStyle pour définir la propriété Style dans et hors du style Panneau lumineux.
TProgressRange
TRichEditProtectChange
TRichEditResizeEventTRichEditResizeEvent est le type des gestionnaires d'événements TCustomRichEdit.OnResizeRequest et TRichEdit.OnResizeRequest d'un contrôle d'édition riche.
TRichEditSaveClipboard
TRichEditStreamInfo
TSBCreatePanelClassEventTSBCreatePanelClassEvent est le type des gestionnaires d'événements Vcl.ComCtrls.TCustomStatusBar.OnCreatePanelClass et Vcl.ComCtrls.TStatusBar.OnCreatePanelClass.
TSearchDirectionIndique la direction dans laquelle rechercher l'élément le plus proche pour un élément spécifié ou un point spécifié.
TSearchTypeSpécifie les options de recherche.
TSearchTypesEnsemble de TSearchType.
TSectionDragEventTSectionDragEvent est le type des gestionnaires d'événements qui répondent lorsque l'utilisateur fait glisser une section dans un contrôle en-tête.
TSectionNotifyEventTSectionNotifyEvent est le type des gestionnaires d'événements THeaderControl.OnSectionClick et THeaderControl.OnSectionResize d'un contrôle en-tête.
TSectionTrackEventTSectionTrackEvent est une procédure appelée par l'événement OnSectionTrack.
TSectionTrackStateIndique le statut de l'événement OnSectionTrack.
TSortTypeTSortType indique les critères à utiliser lors du tri d'éléments.
TStatusPanelBevelTStatusPanelBevel indique le type de biseau autour d'un volet dans une barre d'état.
TStatusPanelStyleTStatusPanelStyle indique le type de contenu dans un volet barre d'état.
TTabChangingEventTTabChangingEvent est le type des gestionnaires d'événements TTabControl.OnChanging et TCustomTabControl.OnChanging d'un contrôle onglet.
TTabGetImageEventTTabGetImageEvent est le type des gestionnaires d'événements TCustomTabControl.OnGetImageIndex et TTabControl.OnGetImageIndex d'un contrôle onglet.
TTabPosition
TTabStyleTTabStyle indique si un contrôle TTabSet est dessiné par le propriétaire.
TTBAdvancedCustomDrawBtnEventTTBAdvancedCustomDrawBtnEvent est le type des gestionnaires d'événements TCustomListView.OnGetSubItemImage et TListView.OnGetSubItemImage d'une vue liste.
TTBAdvancedCustomDrawEventTTBAdvancedCustomDrawEvent est le type du gestionnaire d'événements TToolBar.OnAdvancedCustomDraw d'une vue liste.
TTBButtonEventTTBButtonEvent est le type de gestionnaire d'événements qui répond quand l'utilisateur ajoute ou supprime un nouveau bouton en utilisant la boîte de dialogue de personnalisation de barre d'outils.
TTBCustomDrawBtnEventTTBCustomDrawBtnEvent est le type de procédure de l'événement TToolBar.OnCustomDrawButton.
TTBCustomDrawEventTTBCustomDrawEvent est le type du gestionnaire d'événements TToolBar.OnCustomDraw d'une barre d'outils.
TTBCustomDrawFlagsTTBCustomDrawFlags est le type du gestionnaire d'événements Vcl.ComCtrls.TToolBar.OnAdvancedCustomDrawButton.
TTBCustomizeQueryEventTTBCustomizeQueryEvent est le type de gestionnaire d'événements qui permet à une barre d'outils de décider s'il faut autoriser la personnalisation par l'utilisateur.
TTBDrawingStyleSpécifie la style de dessin de la barre d'outils.
TTBGradientDrawingOptionsSpécifie le style du dégradé.
TTBNewButtonEventTTBNewButtonEvent est le type du gestionnaire d'événements TToolBar.OnCustomizeNewButton d'un bouton d'outil.
TTickMarkTTickMark indique l'emplacement des graduations sur une barre graduée.
TTickStyleTTickStyle indique la façon dont une barre graduée détermine les incréments des graduations.
TToolButtonState
TToolButtonStyleTToolButtonStyle indique le type de contrôle représenté par un objet TToolButton.
TTrackBarOrientationTTrackBarOrientation indique si une barre graduée est horizontale ou verticale.
TTVAdvancedCustomDrawEventUtilisé dans l'événement TCustomTreeView.OnAdvancedCustomDraw.
TTVAdvancedCustomDrawItemEventUtilisé dans l'événement TCustomTreeView.OnAdvancedCustomDrawItem.
TTVChangedEventUtilisé dans l'événement TCustomTreeView.OnChange.
TTVChangingEventUtilisé dans l'événement TCustomTreeView.OnChanging.
TTVCollapsingEventUtilisé dans l'événement TCustomTreeView.OnCollapsing.
TTVCompareEventUtilisé dans l'événement TCustomTreeView.OnCompare.
TTVCreateNodeClassEventTTVCreateNodeClassEvent est le type du gestionnaire d'événements TCustomTreeView.OnCreateNodeClass d'une vue arborescente.
TTVCustomDrawEventUtilisé dans l'événement TCustomTreeView.OnCustomDraw.
TTVCustomDrawItemEventUtilisé dans l'événement TCustomTreeView.OnCustomDrawItem.
TTVEditedEventUtilisé dans l'événement TCustomTreeView.OnEdited.
TTVEditingEventUtilisé dans l'événement TCustomTreeView.OnEditing.
TTVEditInstanceVcl.ComCtrls.TTVEditInstance est un alias à un pointeur non typé.
TTVExpandedEventReprésente le gestionnaire d'événements pour les événements notifiant une vue arborescente des modifications effectuées à l'un de ses noeuds.
TTVExpandingEventCet événement est utilisé dans l'événement TCustomTreeView.OnExpanding quand un noeud va être développé.
TTVHintEventTTVHintEvent est le type du gestionnaire d'événements OnHint d'une vue arborescente.
TTVItemStateEx
TTVItemStateExSet
TUDAlignButton
TUDBtnType
TUDChangingEventType du gestionnaire d'événements OnChanging pour un contrôle haut-bas.
TUDChangingEventExType du gestionnaire d'événements TUpDown qui est appelé quand la position d'un contrôle haut-bas est sur le point de changer.
TUDClickEventType de l'événement OnClick pour un bouton fléché.
TUDOrientation
TUpDownDirectionTUpDownDirection indique la direction dans laquelle la position d'un contrôle haut-bas change.
TViewStyleTViewStyle indique la façon dont un contrôle vue liste affiche ses éléments.
TWidthTWidth représente un intervalle de type entier.
Vcl_Comctrls
Vcl_Comctrls__74
Vcl_Comctrls__84

Constantes

CN_BANDCHANGECN_BANDCHANGE: Integer = $1400;
CN_DROPDOWNCLOSEDCN_DROPDOWNCLOSED: Integer = $1400;
ColumnHeaderWidthColumnHeaderWidth: Integer = $FFFFFFFE;
ColumnTextWidthColumnTextWidth: Integer = $FFFFFFFF;
ComCtlVersionIE3ComCtlVersionIE3: Integer = $40046;
ComCtlVersionIE4ComCtlVersionIE4: Integer = $40047;
ComCtlVersionIE401ComCtlVersionIE401: Integer = $40048;
ComCtlVersionIE5ComCtlVersionIE5: Integer = $50050;
ComCtlVersionIE501ComCtlVersionIE501: Integer = $50051;
ComCtlVersionIE6ComCtlVersionIE6: Integer = $60000;


Outils personnels
Traductions