Accueil > Forum > > > > Naviguer dans listbox
Naviguer dans listbox
jeudi 27 septembre 2012 à 12:39:25 |
Naviguer dans listbox

FanoAndria
|
Bonjour à tous,
je debute en delphi XE2, avant, j'ai programmé en turbopascal mais cela fait des années que je ne le fait plus, voilà mon problème: j'ai fait un petit programme utilisant un Tlisbox et un TAacroPDF, le but c'est de voir l'apercu d'un fichier pdf, le fichier étant listé dans le listbox.
le problème:
j'ai utilisé OnClick dans listbox et après le click, evidemment, je peut voir le pdf dans Acropdf, seulement, c'est pas réellement ce que je veux avoir, je voulais que tout en naviguant dans listbox (sans sortir) avec les touches flechés haut et bas, je peux visualiser dans acropdf l'aperçu.
est ce que quelqu'un peut me proposer quelque choses pour arriver y arriver ?
Merci
|
|
jeudi 27 septembre 2012 à 20:18:38 |
Re : Naviguer dans listbox

solilog
|
Salut,
Je viens de vérifier, que tu te déplaces avec la souris ou au clavier l'evenmt onclick est toujours appelé. Ton prob est sans doute dans la manière dont tu affiches ton tAacroPDF.
Tu dois simplement conserver le focus sur ta liste.
Cordialement
solilog
|
|
jeudi 27 septembre 2012 à 20:34:46 |
Re : Naviguer dans listbox

cantador
|
Bonsoir,
Code Delphi :
procedure TForm1.ListBox1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i: integer;
begin
with ListBox1 do
for i := 0 to Count - 1 do
if selected[i] then
AacroPDF.print;
end;
L'aperçu se déclenche sur déplacement avec les flèches
cantador
|
|
vendredi 28 septembre 2012 à 00:15:22 |
Re : Naviguer dans listbox

solilog
|
Bonsoir,
Mmmouais cantador,
pas besoins, le onclick suffit, le clavier le déclenche aussi bien chaque fois (même en gardant le touche down):
proc onclick(...
var name :string;
begin
with listbox1 do
name := items[itemindex];
if name<>'' then // devrait jamais être vide
begin
... AacroPDF.filename := name; // connais pas AacroPDF
... AacroPDF.preview; // ou print, ...
end;
// si changement de fenêtre ou perte de focus
if not self.active then self.activate;
if not listbox1.focused then listbox1.setfocus;
end;
Simplement il ne faut pas que la proc appelée (print, preview, ..., ne pique le focus ni ne change de fenêtre,
dans ce cas les 2 dernières lignes devraient rêgler le prob.
Bonne nuit
solilog
|
|
vendredi 28 septembre 2012 à 08:26:37 |
Re : Naviguer dans listbox

FanoAndria
|
Merci les amis pour votre célérité et conseil, je vais essayer et je vous donnerais la suite plus tard
FanoAndria
|
|
vendredi 28 septembre 2012 à 10:50:37 |
Re : Naviguer dans listbox

FanoAndria
|
Bjr,
Je reviens encore une fois, je suis désolé les amis mais je n'y arrive pas, je vais donner mes codes et commentaires:
pour charger listbox, pas de problème:
listbox1.items.add(..)
pour les afficher, j'ai fait
procedure Tform1.Listbox1Click(Sender: TObject);
begin
// J'ai utilisé un TopenDialog
OpenDialog1.FileName:=ListBox1.Items.Strings[Listbox1.ItemIndex];
AcroPDF1.LoadFile(OpenDialog1.FileName);
// c'est là que la main change vers TacroPDF;
end;
A partir de là j'ai automatiquement la main sur l'affichage pdf (zoom,print,sauvegarde...)et il faut que je refais un clic sur listbox pour afficher un autre fichier;alors que je voudrais naviguer seulement dans listbox, voir l'apercu et bien sur faire clic sur le pdf pour print ou autre chose
Merci
FanoAndria
|
|
vendredi 28 septembre 2012 à 11:56:31 |
Re : Naviguer dans listbox

cirec
|
salut,
premièrement ton OpenDialog ne sert à rien ici.
ensuite la propriété Strings est la propriété par défaut
il n'est donc pas utile de le préciser :
ListBox1.Items.Strings[0] == ListBox1.Items[0]
et pour finir, pour forcer le focus sur un composant
il faut utiliser sa méthode SetFocus:
ListBox1.SetFocus ....
ce qui donne:
Code Delphi : procedure Tform1.Listbox1Click(Sender: TObject);
begin
with ListBox1 do
try
// c'est là que la main change vers TacroPDF;
AcroPDF1.LoadFile(Items[ItemIndex]);
finally
// ici on récupère la main sur ListBox1
SetFocus;
end;
end;
j'ai pas testé le code mais ça devrait fonctionner
@+Cirec
|
|
vendredi 28 septembre 2012 à 13:51:08 |
Re : Naviguer dans listbox

FanoAndria
|
Merci Cirec,
je suis d'accord pour OpenDialog, je viens de l'enlever, par contre j'ai recopié ton code mais j'ai toujours pas la main sur listbox, il faut re-cliquer.
sinon, en lancant l'executable, je me rend compte qu'après appui sur la touche TAB, je peut revenir sur listbox (ce qui est tout à fait normal avec windows à mon avis); ma question est: comment faire pour simuler cette action dans mon code delphi
Merci
FanoAndria
|
|
samedi 29 septembre 2012 à 17:55:54 |
Re : Naviguer dans listbox

solilog
|
Salut tous,
Bon dois-je me répéter ?
Après le loadfromfile qui te fait perdre la main,
tu fais çà:
// si changement de fenêtre ou perte de focus
if not self.active then self.activate;
if not listbox1.focused then listbox1.setfocus;
et tu reviendras sur ta listbox.
Bonne fin de journée.
solilog
|
|
dimanche 30 septembre 2012 à 11:04:57 |
Re : Naviguer dans listbox

cirec
|
non non il n'est pas utile de répéter
tu l'as dit je l'ai dit ... et il semblerait que ça ne fonctionne pas !!!
Sinon pour simuler la touche Tab :
Code Delphi : Perform(WM_NEXTDLGCTL, 0, 0);
@+Cirec
|
|
Cette discussion est classée dans : fichier, problème, listbox, voir, naviguer
Répondre à ce message
Sujets en rapport avec ce message
Sauvegarde txt : Nom de fichier par défaut [ par finipe ]
Bonjour à tous. Problème tout bête mais je butte : je veux sauvegarder les lignes d'une listbox dans un fichier txt. Là aucun problème je sais faire.
URGENT : problème d'installation de composant [ par Henri ]
problème d'installationBonjour,Je vous remercie de résoudre le problème suivant :Je voudrais installer un composant téléchargé sans son fichier *.pas
Problème de ListBox [ par tof.p ]
Bonjour, j'ai un problème que je n'arrive pas à expliquer, je vais essayer d'être clair :J'utilise 2 ListBox, une procédure recherche dans une premièr
Fichiers textes occupés [ par padsou ]
Bonjour à tous,j'ai un problème avec mes fichiers texte sous delphi. J'ai une procédure qui traite deux fichiers textes, une fois le traitement termin
Problème fichier INI [ par TiDaN326 ]
Bonjour à tous :)Bon je me sert de la fonction pour créer/lire des fichiers INI... jusque là, tout va bien, mais comment je fait pour créer le fichier
scaner un disque [ par norton ]
bonjour,je vais essayer d'être claire.Je désirerai scaner un disque (C:\) a la recherche de fichiers ayant une extension .exe.Les fichiers à trouver s
Sauvegarde d'une ListBox... [ par mentral ]
Bonjour à tous...Voilà, je sais sauver le contenu d'une ListBox dans un fichier texte (ou .ini, peu importe...), mais j'aimerais pouvoir sauver les co
Autoscrool sur une listBox [ par billou_13 ]
Voila mon petit problème qui ne doit pas en être un gros.J'ai programmé un chat en delphi et pour conserver les messages (c'est a dire la liste de mes
Comment importer/voir un fichier 3d studio [ par Armkreuz_Spiderz ]
Bonjour, je me demande si il y a une facon simple d'importer un fichier 3d de 3d studio max dans mon application? et si possible aussi permettre la ro
Readln fichier unicode [ par glainfam ]
Bonjour,voila je voudrais exploiter les lignes d'un fichier texte UNICODE, le problème c'est que delphi plante lors du readln !si je transforme manuel
Livres en rapport
|
Derniers Blogs
CONF'SHAREPOINT : 10 BONNES RAISONS POUR NE PAS LA RATERCONF'SHAREPOINT : 10 BONNES RAISONS POUR NE PAS LA RATER par pierre
Si vous hésitez encore à venir à la conférence, ci-après 10 bonnes raisons pour ne pas rater cet évènement unique : La Conf'SharePoint, c'est la 1ère conférence en France et en Français dédié à SharePoint : pas de barrière de la langue La Conf...
Cliquez pour lire la suite de l'article par pierre [EVENT] SOIRéE DE LANCEMENT AGILE .NET FRANCE à LYON[EVENT] SOIRéE DE LANCEMENT AGILE .NET FRANCE à LYON par thavo
Agile.Net France débarque à Lyon fin juin !! Je viens d'arriver à Lyon, et l'Agile .Net France aussi. Pour ceux/celles qui habitent en Rhône-Alpes, seriez-vous disponible pour une soirée « Agile .Net France » ?? (je sais que certains vi...
Cliquez pour lire la suite de l'article par thavo SHAREPOINT : INCOMPATIBILITé AVEC INTERNET EXPLORER 10 (IE10)SHAREPOINT : INCOMPATIBILITé AVEC INTERNET EXPLORER 10 (IE10) par ROMELARD Fabrice
Depuis plusieurs mois, Microsoft a publié un patch (comme très régulièrement) qui est passé relativement inaperçu à l'époque. L'arrivée de plus en plus de postes sous Windows 8 et surtout le déploiement par Windows Update de ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice AUTOSPINSTALLER POUR SHAREPOINT 2013 MAINTENANT DISPONIBLE EN "RTM"AUTOSPINSTALLER POUR SHAREPOINT 2013 MAINTENANT DISPONIBLE EN "RTM" par neodante
Alors qu'il n'était qu'en Beta et que quelques dysfonctionnements persistaient, la nouvelle version du fabuleux script AutoSPInstaller permettant d'installer SharePoint 2010/2013 en full script (idéal pour répliquer des fermes de dev/qual/prod) est mainte...
Cliquez pour lire la suite de l'article par neodante
Logiciels
Devis-Factures PHMSD (2.1.0.1)DEVIS-FACTURES PHMSD (2.1.0.1)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD Ludoprêt (3.2)LUDOPRêT (3.2)Logiciel gratuit de gestion de ludothèque.
Gestion des jeux et des adhérents.
Gestion des for... Cliquez pour télécharger Ludoprêt Revealer Keylogger Free (2.05)REVEALER KEYLOGGER FREE (2.05)Keylogger invisible et gratuit pour Windows 8, 7, Vista ou XP. Revealer Keylogger Free vous perme... Cliquez pour télécharger Revealer Keylogger Free 974 Application Server (13.2.1.3)974 APPLICATION SERVER (13.2.1.3)Ecommerce, Blogueur, Vitrine, Newsletter, Java IDE, ..., in the cloud et sous haute dispo. Facile... Cliquez pour télécharger 974 Application Server WDmemoCode (1.0.0)WDMEMOCODE (1.0.0)WDmemoCode a été créé pour aider les développeurs Windev à créer/compléter et conserver une base ... Cliquez pour télécharger WDmemoCode
|