md21
Messages postés32Date d'inscriptionmercredi 10 janvier 2007StatutMembreDernière intervention 1 septembre 2015
-
12 sept. 2012 à 11:33
md21
Messages postés32Date d'inscriptionmercredi 10 janvier 2007StatutMembreDernière intervention 1 septembre 2015
-
12 sept. 2012 à 15:44
bonjour,
ayant besoin d'utiliser un composant ShellListView, je crée ce dernier de manière dynamique (bien que étant sous D6 où ShellListView est présent, mais ce composant n'apparait plus sous les versions ultérieures (et c'est bien dommage) bien que déclaré et utilisable dynamiquement). Du coup je préfère le déclarer dynamiquement parce que comme ça je peux compiler mon projet sans problème sous des versions plus récentes et sans avoir à installer de nouveau package ...
alors tout va bien, sauf que ... si je passe en affichage détaillé (ViewStyle := vs Report) alors je ne peux pas afficher les entêtes des colonnes (ShowColumnHeaders := true) sous peine d'un gros plantage !!! Avec ShowColumnHeaders := false tout va bien.
je pense (sous toute réserve, sinon je n'aurais pas besoin d'aide) que les entêtes de colonnes ne doivent être déclarées ? Les colonnes, elles, elles existent puisque le mode vsReport fonctionne bien ... sans les entêtes
je voudrais donc savoir ce qu'il faut ajouter dans le code pour que ViewStyle := vs Report fonctionne avec ShowColumnHeaders := true ? car les entêtes apportent une réelle pluvalue au composant
voici le code que j'ai utilisé pour déclarer le ShelllistView
procedure TE_LoadSaveFiche.ACTIVER(Sender: TObject);
begin
SLV := TshellListView.Create(self);
With SLV do begin
Parent := Self;
Anchors := [akLeft,akTop,akBottom];
Left := 12;
Top := 228;
Width := 757;
Height := 457;
Ctl3D := false;
ParentColor := true;
ParentFont := true;
TabOrder := 0;
j'ai par ailleurs fait quelques essais pour résoudre le problème, mais je coince ...
merci par avance
md21
A voir également:
Chang a créé son profil sur un forum, en renseignant comme adresse électronique : chang[arobase]pixmail.org pourquoi a-t-il écrit son adresse de cette manière ?
Chang a créé son profil sur un forum, en renseignant comme adresse électronique : chang[arobase]pixmail.org pourquoi a-t-il écrit son adresse de cette manière ? votre réponse - Meilleures réponses
Chang a créé son profil sur un forum, en renseignant comme adresse électronique :chang[arobase]pixmail.orgpourquoi a-t-il écrit son adresse de cette manière ? - Meilleures réponses
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 12 sept. 2012 à 13:53
essaye de compiler un projet avec cette fiche principale (juste un nouveau projet, et tu remplace la fiche principale par celle la, et de m'envoyer l'exe, voir si c'est la compile (la source) qui foire ou c'est juste sur ton XP:
http://minus.com/lbmU6HUlZq6BMI
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 12 sept. 2012 à 12:23
Chez moi, ton code fonctionne bien (D7 + Win7), j'ai placé le code sur un bouton, mis la var SLV en private de ma Form, enlevé les affectations d’évènements, et passé le ShowColumnHeader à true ... aucun problème
md21
Messages postés32Date d'inscriptionmercredi 10 janvier 2007StatutMembreDernière intervention 1 septembre 20151 12 sept. 2012 à 14:52
effectivement, le code pris séparement fonctionne, y compris avec des procedures rattachées au composant.
merci à toi, j'aurais dû penser par moi même à faire un test séparemment !
Le problème vient de ce que j'utilise un fichier .res qui change l'apparence des composants pour leur donner un look "XP" (ça ne les change pas tous) car sous D6 bonjour le graphisme !
quant j'ai fait le test avec juste le ShellListView tout allait bien. Du coup j'ai essayé de voir ce qui n'allait pas et c'est en rajoutant la ligne {$R manifest.res} que le problème arrive, ce qu'il y a c'est que je ne saurai pas intervenir sur ce fichier ! mais c'est pas trop grave car en fait le programme se compile, il y a juste une exception CPU mais sinon nickel, avec un graphisme également modifié sur le ShellListView.
j'ai également essayé de désactiver les exceptions CPU avec une commande Set8087CW($133F); dans la procédure Create de la fiche mais que dal, pourtant en principe ça marche ...
je t'envoie le petit essais que je viens de faire si tu veux jeter un oeil ...
md21
Vous n’avez pas trouvé la réponse que vous recherchez ?