FlexPro
HistoryBase
Ingénierie
Formation
Téléchargements
Support FlexPro
Connaissance
Communauté
À propos de nous
Références
Emplois
Contact général
Liste des revendeurs
Support FlexPro
FR
DE
EN
Porte-plaquette
Produits et solutions
Support et téléchargements
Entreprise
Magazine
Contact
Langue
MyWeisang

Paramètres du compte.

Topic

ListView control with 64 bits version of FlexPro

Page d'accueil ' Communauté ' Automation et VBA ' Contrôle ListView avec la version 64 bits de FlexPro

  • Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par Anonyme, le il y a 10 années et 8 mois.
Voir les messages de 3 - 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #35182
    Anonyme
    Inactif

    Hello,

    I use a ListView control in many UserForms. This control comes with Office 2007 (mscomctl.ocx).
    This control is very helpfull when some information must be show in tables/cells, with column header (resizing, reordering), grid lines, different text color in each cells, checkboxes for items, …
    I can’t replace this control with a ListBox, because a ListBox control doesn’t provide many features I need.
    Unfortunately, Microsoft doesnt’t provide an equivalent ActiveX for 64 bits version of Windows.

    I’m looking if its possible to make calls to Windows API functions, in order to create an fill the ListView.

    I also use ListView controls in C/C++ programs : I tried to translate some C/C++ code into VBA, using several this Windows API functions :
    – FindWindow : to retreive the HWND handle of my userform
    – CreateWindowEx : to create a ListView
    – SendMessage : to change some extend styles, to insert columns, to insert items and subitems

    A just have two “little” problems :
    – the ListView controls seems frozen : for example, scroll bars or selecting items doesn’t work.
    – I don’t know how to get events from the ListView.

    Is It possible to change the userform’s WindowProc by a to SetwindoLongPtr(hwndUserForm, GWL_WNDPROC, AddressOf MyWndProc)
    to treat the ListView notifications messages and call the original userform’s WindowProc for the other messages ?

    Or have you (or somebody else) another suggestion for replacing mscomctl.ocx ?

    Thanks in advance.

    #35184
    Anonyme
    Inactif

    Hello,

    I use a ListView control in many UserForms. This control comes with Office 2007 (mscomctl.ocx).
    This control is very helpfull when some information must be show in tables/cells, with column header (resizing, reordering), grid lines, different text color in each cells, checkboxes for items, …
    I can’t replace this control with a ListBox, because a ListBox control doesn’t provide many features I need.
    Unfortunately, Microsoft doesnt’t provide an equivalent ActiveX for 64 bits version of Windows.

    I’m looking if its possible to make calls to Windows API functions, in order to create an fill the ListView.

    I also use ListView controls in C/C++ programs : I tried to translate some C/C++ code into VBA, using several this Windows API functions :
    – FindWindow : to retreive the HWND handle of my userform
    – CreateWindowEx : to create a ListView
    – SendMessage : to change some extend styles, to insert columns, to insert items and subitems

    A just have two “little” problems :
    – the ListView controls seems frozen : for example, scroll bars or selecting items doesn’t work.
    – I don’t know how to get events from the ListView.

    Is It possible to change the userform’s WindowProc by a to SetwindoLongPtr(hwndUserForm, GWL_WNDPROC, AddressOf MyWndProc)
    to treat the ListView notifications messages and call the original userform’s WindowProc for the other messages ?

    Or have you (or somebody else) another suggestion for replacing mscomctl.ocx ?

    Thanks in advance.

    #35183
    Bernhard Kantz
    Participant

    We regret that general questions on VBA programming are beyond the scope of this forum.

Voir les messages de 3 - 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.