Désactiver affichage listview

Codes specifiques à MacOS X
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 74
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 : 2007
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.
PB Latest version - Win 10 family x64 - Linux Debian, Slackware (VirtualBox & WSL) / W10 - Raspberry Raspbian
Intel i7-8700 CPU @ 3.20GHz - 48 GB - Nvidia RTX 3050 OC 8GB - Asus VP348 3440 x 1440 - DPI 100%
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 74
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
Mindphazer
Messages : 545
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 M1 13" SSD 512 Go / Ram 8 Go - iPad Pro 32 Go (pour madame) - iPhone 12 256 Go
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 74
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