Désactiver affichage listview

Codes specifiques à MacOS X
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 138
Inscription : mer. 28/janv./2009 13:28

Désactiver affichage listview

Message par Philippe_GEORGES »

Bonjour à tous,

Je dois remplir 2 listviews avec des centaines d'informations, pour windows, je peux désactiver l'affichage avec sendmessage, mais sur le mac, comment faire ?

Code : Tout sélectionner

 CompilerIf #PB_OS_Windows ; desactivation affichage
    SendMessage_(GadgetID(Listview1),#WM_SETREDRAW, #False, 0)
    SendMessage_(GadgetID(Listview2),#WM_SETREDRAW, #False, 0)
  CompilerEndIf
  While i<floor(JD) + 360 * 100 ; 100 ans
    cd = i - jd1
    age = floor((i - jd) / 365.25);
    st=calccurdasha(cd, nl)
    If st2 <> st
       AddGadgetItem (Listview1,-1,st + " " + jul2mdy(floor(i)) + " " + Str(floor(age)) + " ans");  
       ; transits
       AddGadgetItem (Listview2,-1,st + " " + jul2mdy(floor(i)) + " " + Str(floor(age)) + " ans");
       SetGadgetItemData(listview2,CountGadgetItems(listview1)-1,i)      
    EndIf
    st2 = st
    i=i+0.05
  Wend
  CompilerIf #PB_OS_Windows; reactivation affichage
    SendMessage_(GadgetID(Listview1),#WM_SETREDRAW, #True, 0)
    SendMessage_(GadgetID(Listview2),#WM_SETREDRAW, #True, 0)
  CompilerEndIf
En fait, je ne sais pas comment inhiber l'affichage de la listbox sous MacOsX.

Pouvez vous m'aider ??

Merci d'avance !

Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Marc56
Messages : 2197
Inscription : sam. 08/févr./2014 15:19

Re: Désactiver affichage listview

Message par Marc56 »

Pourquoi utiliser l'API SendMessage_ ?
DisableGadget() ou HideGadget() ne fonctionnent pas ?
Ils sont compatibles toutes versions.
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 138
Inscription : mer. 28/janv./2009 13:28

Re: Désactiver affichage listview

Message par Philippe_GEORGES »

Merci pour la répose,

Hé non, sans l'appel à sendmessage, le remplissage des listview met un temps fou.....

J'ai essayé avec les 2 instructions que vous avez cité.

Franchement, je ne connais pas assez le Mac (et cocoa) pour avoir l'équivalent de sendmessage....

Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: Désactiver affichage listview

Message par Mindphazer »

Bonjour,
essaie avec cette commande pour désactiver l'affichage :

Code : Tout sélectionner

CocoaMessage(0,GadgetID(listIconGadget),"beginUpdates")

Et celle-ci pour le réactiver :

Code : Tout sélectionner

CocoaMessage(0,GadgetID(listIconGadget),"endUpdates")
Je les utilise dans un ListIconGadget, mais ça doit fonctionner dans un ListView.

(J'ai retrouvé le thread d'origine où j'avais eu ces infos :
https://www.purebasic.fr/english/viewtopic.php?t=60892)
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 138
Inscription : mer. 28/janv./2009 13:28

Re: Désactiver affichage listview

Message par Philippe_GEORGES »

Un grand merci !!
Je vais tester !

Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Répondre