Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| trou ou transparence dans un form | |
| | |
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Mer 23 Juin 2010 - 18:16 | |
| C'est ce qu'il me fallait - je l'ai télécharger et vais le tester. @+ | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Mer 23 Juin 2010 - 19:55 | |
| J'ai oublié, une fois lancé, il faut cliquer sur ouvrir pour rapporter la feuille. Je pense que tu l'avais compris. Le reste fonctionne sauf pour imprime dont tu n'as pas le programme qui va avec le mien. Les autres commandes n'ont pas d'utilités pour le teste, mais si ça t'intéresse, débloque mets un petit bouton en haut à gauche de la feuille. Dans le cas que tu as un commentaire sur un problème de mon programme, n'hésites pas. @+
N'importe comment il est à peu près certain que les sub comme Grid_Grille seront réécrite avec tous les rajouts que j'ai apporté. |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Mer 23 Juin 2010 - 20:18 | |
| Tu t'es trompé de post: Je vais rectifier, mais je copie une de tes lignes: - Code:
-
res% = DLL_call2(“WindowTopMost”,hand%,1) : ' forcer au-dessus de tout
res% = DLL_call2(“WindowTopMost”,hand%,0) : ' retour à l'état normal Et ça porte à ambiguïté. De toute façon c'est moi qui suis dans l'erreur, le handle n'est pas le numéro d'objet. Cela dit je n'arretais pas d'avoir des blocages avec la dll, peut-être que le bug que tu signales était la cause. Alors quand cela a marché, j'ai cru que c'était bon. |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Mer 23 Juin 2010 - 22:14 | |
| J'ai fais les modifs, et je ne vois aucune différence.
A ce propos, il serait bien aussi de pouvoir tester si un form est dessus ou dessous. En cas de problème, comme je le décrit, cela peut parfois aider à modifier ou comprendre ce qui se passe.
Je viens de rééditer et je ne sais plus pourquoi, l'ordi est tellement long à cette heurs-ci. Mais je vais te dire ceci, si tu n'arrives pas à forcer une forme en permacence dessus, c'est pas grave, mon cas est particulier, et c'est pas important, je n'en mourrais pas. J'ai toujours la solution de faire une forme complète et lorsque j'appel une feuille, je réduis en hauteur, et je mets une deuxième forme sur la gauche avec les objets qui se trouve à gauche en copie de l'autre forme. Il y a aussi la barre de tache en bas pour rappeler la forme. Je ne veux pas t'obséder avec cela, vu que j'ai des préoccupation plus importantes. Fais ce que tu as envie, (et cela est aussi vrai pour Jack) @+ Ca me revient: est-ce que hilder, une forme modifie l'état de celle-ci? |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Mer 23 Juin 2010 - 22:57 | |
| Plusieurs choses. D'abord, je continuerai à regarder ton programme. Il n'y a pas de raison: ma routine marche chez moi, elle doit marcher chez toi. Le petit module de test que j'ai posté est une version réduite à l'extrême pour montrer la fonction, mais j'ai fait bien sûr des tests beaucoup plus complets. Ensuite, et grâce à ces tests, je peux te dire que cacher une form et la réafficher ne change rien à son état "topmost" qui est géré directement par Windows et non par Panoramic. Tant que la fenêtre est cachée, tout peut venir devant (pour autant que cela ait un sens pour une fenêtre invisible), mais dès qu'elle est réaffichée, elle se remet automatiquement dessus. A suivre. EDIT Voici un extrait de la doc: - Citation :
- placer une form toujours au-dessus ON/OFF
I: res% = WindowTopMost(handle(numero_form),flag%) P: res% = DLL_call2(“WindowTopMost”,handle(numero_form),flag%) numero_form le numéro d’objet de la form concernée flag mode opératoire 1=toujours au-dessus 0=normal
ce qui n'est pas identique à ce que tu écris. Tu mets une variable hand%. Si hand% a été chargé par handle(...) pour y placer le handle d'une form, tout va bien, sinon évidemment... | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Mer 23 Juin 2010 - 23:45 | |
| La variable handl% a récupéré le handle(7) de la form. D'ailleurs si ce n'était pas le cas, au départ, la forme serait recouverte, et ce n'est pas le cas.
De toute façon tu as de quoi testé le programme. As tu un problème pour le faire. C'est le prg nouveau plan.bas qu'il faut lancer (nouveau parce que j'ai sauvegardé en vitesse après plantage
Je rajoute que le programme Text_simplifié_clipboard.bas, il faut faire l'exécutable. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 14:10 | |
| Je suis en train de tester. J'ai dû désactiver le load_file avec une police provenant d'un répertoire ...\Jack\..., je déplace texte_simplifié_clipboard.exe dans c:\texte\, mais pour le moment, j'ai un message d'erreur: "Nouveau plan: cannot open clipboard". Puis bien sûr, c'est bloqué. Des fois, en cliquant sur "Ouvrir", j'ai le message d'erreur "Pas trouvé de repeat correspondant" ligne 123. Je continue à chercher. J'ai réussi à dépasser cela. Maintenant, en cliquant sur "Ouvrir", j'ai un cadre qui affiche - Citation :
- 5899378
ordre reçu: charger C:\TESTE\teste prog.fic 22 Puis une fenêtre de message d'erreur de Text_simplifié_clipboard avec le message "index out of bounds (16) Après, bloquage. Ai-je le bon ? Puis, souvent, le Nouveau Plan m'affiche "Cannot open clipboard", puis c'est bloqué. J'ai l'impression de ne pas avoir la version complète opérationnelle chez toi, car il n'y a pas de raison: cela doit marcher chez moi, au problème éventuel de placement de la fenêtre 7. EDIT J'ai découvert que Nouveau plan a ce problème "Cannot open clipboard" si au moment du lancement, il n'y a pas de texte dans le clipboard. Il suffit de copier un caracftère, et ça passe. Suggestion: essaie de copier un petit texte quelconque dans le clipboard tout au début, et ça devrait passer dans tous les cas. Ceci dit, cet aspect résolu, je me heurte quand-même au problème du "Index out of bounds" dès que je clique sur "Ouvrir". EDIT C'est plus sérieux que cela, le clipboard_paste d'un petit texte ne débloque pas la situation. Je n'ai pas la solution pour le moment.
Dernière édition par Klaus le Jeu 24 Juin 2010 - 16:26, édité 1 fois | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 16:11 | |
| Essai au départ dans Text_simplifié clipboard.bas, inversé provisoirement les lignes 1178 - 1189 avec celles de 1166 - 1174, et fais le marcher en mode .bas sans l'éxécutable. peut-être y a t'il un problème de DIR qui doit s'imposer. Si tu as des erreurs tu auras plus de précision.
Je dois partir pour plus de 3 heures, donc je regarderais ce soir. Ensuite il faudra évidemment remettre les lignes à leur place avant de compiler.
Là il est en mode externe, pour le cas où j'aurai modifier et rajouté ou enlevé des lignes. Donc l'essai se fait en mode interne (tu verras ces lignes à la fin) et avec l'éditeur |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 16:31 | |
| J'ai inversé comme tu dis pour passer en mode interne, et j'ai toujours ce message "index out of bounds" dès que je sélectionne le fichier "teste prg.fic", après affichage d'un joli cadre centré... | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 19:12 | |
| Je suis rentré bien plus rôt que prévu, et ça me permet de te répondre.
D'abord j'ai rapatrié le fichier zip depuis le forum pour être sûr d'avoir la même chose. J'ai extrait le dossier zip dans un nouvel emplacement pour partir sur quelque chose de neuf.
Le programme je l'ai inversé pour faire un essais selon le mode interne, et chez moi, il fonctionne sans faire d'erreur.
J'ai rétabli l'ordre externe et j'ai compilé. J'ai repris le fichier de commande: nouveau plan.bas, j'ai modifié le chemin de fichier$ pour l'exécution.
Là il y a un problème de départ que je ne m'explique pas, effectivement il me nomme une erreur à la ligne 51, et cela ça me l'avait déjà fait la 1ère fois pour cette erreur. Comme la 1ère fois, j'ai mis à la suite de la ligne 50: message controle1$ Ensuite à l'exécution comme la fois où j'ai eu ce problème, cela a fonctionné, j'ai pu enlever message controle1$, et depuis j'ai pas de problème.
Je ne comprends pas cette erreur, et après la boite de message chez moi, elle ne se reproduit plus. Va comprendre.
Si tu t'en sors pas fais ce que tu as à faire. @+ Peu-être recharger le zip? |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 19:17 | |
| OK, je vais reprendre cela. est-ce que le fichier de données doit bien commencer par une ligne blanche ? | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 21:04 | |
| La ligne blanche est le titre de la fenêtre, et comme ce sont des essais, j'ai pas pensé à mettre un titre dans le programme qui conçoit ce fichier (il n'est pas présent dans le zip). De plus ayant mis depuis la form à border_hide, le titre ne s'afficherais pas. La 2ème ligne est surement vide. Si elle n'y ait pas c'est le titre du fichier d'accompagnement pour l'aide. Mais j'ai pas du adjoindre le fichier avec. De toute façon ça n'intervient pas dans les problèmes.
Je viens de remarquer une chose qu'il faudra que je modifie. Pour être certain que les fontes qui accompagnent chaque fiche, soit la bonne avec le fichier (il est possible de rajouter des fontes dans Windows), j'avais un fichier que je récupère dans une liste, et le programme regarde ce fichier à la place de fonte_name_load. Il y a un programme qui fait cela et lui aussi n'est pas inclus. Je crois que tu as rectifié. Ah c'est là que tu as un problème aussi, le dlist 47 étant vide tu ne peux pas lire le nom d'une fonte, cu que file_load 47,"fonte.txt" avec le chemin.
Je vais te l'envoyer mais certainement qu'il y aura des différences avec ton ordi. Le mien date de 2003. Je vais plutôt t'envoyer le petit programme qui remplit. Je ne le trouve pas, il faut dire que les blocages et les fermetures intempestifs de Panoramic ne m'ont pas aidé. C'est un simple programme avec une list qui est rempli avec font_name_load, puis sauvegardé sous "fonte.txt" dans le même dossier. C'est tout. Attention, si avec le programme de commande tu as une erreur, n'oublies surtout pas de fermer le programme tex_simplifié_clipboard, sinon problèmes A ce soir, si tu réponds |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 21:32 | |
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 22:23 | |
| Merci. Je l'ai pris et vais regarder cela. | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 22:35 | |
| J'ai oublié, il faut modifier le chemin de la ligne 1111 qui charge le fichier fonte. Désolé. J'ai encore des correctifs à faire, ne seraisse pour les chemins |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Jeu 24 Juin 2010 - 23:43 | |
| J'ai adapté les chemins; maintenant que j'ai les fichiers, c'est simple.
J'ai fait des tests, et j'ai un premier résultat. Tout d'abord, j'ai fait les modifs suivantes: Nouveau Plan lignes 107 à 111: je passe handle(x) au lieu de x à la fonction WindowTopMost Texte_simplifié_clipboard ligne 282: handle(7) au lieu de 7 ligne 458: idem ligne 635: idem ligne 1187: idem
Ca, c'était pour la conformité des appels de la fonction DLL. Mais j'avais toujours le problème avec l'erreur d'inaccessibilité du clipboard. Ce problème se pose lors du démarrage, au niveau de la synchronisation entre les deux programmes. Je précise du'il sont tous les deux compilés en exe et résident dans C:\TESTE\ avec les fichiers data et font ainsi que la DLL.
J'ai contourné le problème de la manière suivante: Nouveau Plan J'ai modifié la ligne 44 comme suit: controle1$ = "" : a$=clipboard_string_paste$ Texte_simplifié_cliboard J'ai modifié la ligne 1170 comme suit: Grid_registre$=str$(handll%) : message "Numéro contrôle:" + Grid_registre$
Je sais, l'automatisme est rompu, et il faut cliquer pour continuer. Mais cela débloque le problème et permet d'aller plus loin.
Je peux alors cliquer sur "Ouvrir". Le fichier s'ouvre bien et la form 7 s'affiche à l'endroit voulu, et ELLE RESTE TOUJOURS AU-DESSUS de TOUT ! Je n'ai pas réussi à la passer en-dessous, ni de passer autre chose par-dessus.
Je pense que tu as peut-être là une piste pour aller plus loin. | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Ven 25 Juin 2010 - 0:22 | |
| Je suis un petit peu con, j'ai pas penser, puisse que j'ai refais le zip, à mettre les versions rectifiées. Ces corrections je les ais faites. Effectivement la fenêtre en dessus. Mais si je clique sur la fenêtre, elle perd son statu ensuite. Le clic sur les autres formes font que les parties qui empiète dessus passent dessus. Tu n'as pas cela? Effectivement au départ lorsque la fenêtre s'affiche, je ne rien mettre sur celle-ci.
Par contre je ne peux rien te dire concernant " le problème avec l'erreur d'inaccessibilité du clipboard", chez moi ça marche???. Il y a peu être une question de vitesse ou d'attente à modifier quelque part. En ce moment ça doit-être l'antivus qui marche, mais il faut un sacré moment pour qu'une page s'affiche (je n'ai que 500G de mémoire vive et je vois que Pagefile.sys est passé à 955 Mo - à si j'avais des sous). Je vais arréter aujourd'hui. Dodo l'enfant dormira bien vite si il va au lit. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Ven 25 Juin 2010 - 0:47 | |
| Non, je n'ai pas cela. Ce qui arrive, quand je clique dans fa form 7, il y a des sonnées qui défilent dans le mémo 6 en haut à gauche, mais dès que je clique quelque part dans Nouveau plan, le perds la main sur la form 7, et le bouton n'est plus actif non plus. Il doit boucler quelque part. Mais même ainsi, si le lance un autre programme quelconque, il s'intercale entre Nouveau plan et form 7 qui reste bien au-dessus.
J'ai bien eu un bref instant le cardre gris du bas qui a mordu sur la form 7, mais celle-ci est revenue instantanément recouvrir ce morceau de cadre gris. As-tu réussi à placer un autre programme au-dessus de la form 7 ? | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Ven 25 Juin 2010 - 8:05 | |
| Les sonnées qui défilent sont les infos de la fenêtre. Tu as le n° du bouton cliqué, lorsqu'il ont étés créé (ce qui n'est pas le cas ici), le n° de la colonne et de la ligne, et ensuite le contenu de la cellule, puis le n°colonne - ligne de toute la fenêtre pour le cas où la sortie se serait faite, afin de récupérer toutes les modifs de la fenêtre.
En ce qui concerne l'affichage avec un nouveau programme, la fenêtre revient au dessus, tant que je ne clique pas sur cette fenêtre, ensuite dans ce cas là, le clic sur le programme remet celui-ci par dessus, sauf pour Google Chrome que j'utilise, ou là la fenêtre ne s'efface pas.
Si ça marche chez toi, n'en parlons plus. J'essaye d'imaginer mon futur programme, et je crois qu'il ne sera plus nécessaire de bloquer la fiche au dessus. Il y a beaucoup de chose que je ne peux pas envisager aujourd'hui, on verra par la suite, mais une réflexion à ce moment là pourra certainement résoudre le problème.
Je viens de constater qu'on pouvais modifier la taille de "poster une réponse". Je vois l'heure, je quitte. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: trou ou transparence dans un form Sam 26 Juin 2010 - 0:39 | |
| J'ai analysé le problème à fond et j'ai bien découvert le problème dont tu parles. Cela arrive si l'application propriétaire de la fenêtre "topmost" perd le focus au profit d'une autre.
J'ai utilisé le moyen suivant pour gérer ce cas. Il faut ajouter la commande :res% = dll_call2("WindowTopMost",handle(7),1) à des endroits stratégiques, derrière certaines commandes. Voici la liste: - après utilisation de file_name$: lignes 506 et 663 - après création de la form 7: lignes 1101 - après TOUTES les manipulation du cliboard: lignes 933,938,942,950,961,962,966,971,975,976,980,985,1021,1171
Une autre solution est de créer un timer indépendant, par exemple toutes les 500 millisecondes, et de faire celle instruction dans la routine on_timer. C'est sûrement plus simple à réaliser. Dans ce cas, tu devrais pouvoir retirer TOUS les autres appels à WindowTopMost dans ce programme.
Je continue à chercher une solution plus satisfaisante.
Ceci dit, tel que c'est construit, je ne vois pas vraiment l'importance du fait de rester au-dessus de tout pour la form 7, étant donné qu'elle est dans un rectangle évidé qui lui est dédié ? De même qu'un pourrait obtenir le même résultat avec un programme Nouveau plan ayant un seul écran dans lequel tu "découpes" un trou rectangulaire dans lequel apparaît la form 7, et elle sera toujours visible, "topmost" ou pas... Et la programmation en sera grandement simplifié: il n'y a plus besoin des multiples fenêtres dans Nouveau plan, et dans Texte_simplifié_clipboard, on n'a plus à s'occuper du "topmost" des différentes forms... | |
| | | Invité Invité
| Sujet: Re: trou ou transparence dans un form Sam 26 Juin 2010 - 6:52 | |
| Ne te préoccupes pas trop pour mon programme. Je suis sur d'autres testes pour rapatrier plusieurs programmes et les assembler.
Je ne sais encore comment je vais faire la présentation au départ. Quand au form multiples pour faire un trou, c'était juste pour voir.
A+ |
| | | Contenu sponsorisé
| Sujet: Re: trou ou transparence dans un form | |
| |
| | | | trou ou transparence dans un form | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |