Accueil > Forum > > > > Refaire MessageBox : problème de blocage
Refaire MessageBox : problème de blocage
mardi 31 janvier 2006 à 20:59:15 |
Refaire MessageBox : problème de blocage

Killan
|
Bonjour,
Le but :
====================================
Je crée actuellement un application graphique (DirectX) et donc je ne peu pas utiliser les "control" des forms, j'ai donc décidé de les refaire dans l'optique graphique par moi même de A à Z.
J'ai refait les formulaires et les boutons, et maintenant j'attaque les MessageBox et j'aimerais arriver à appeller l'objet et recevoir la reponse en retour comme la MessageBox existante (schéma : rep = messagebox(texte, boutonflags);).
Le contexte :
====================================
une boucle principale qui appelle la méthode de rendu (pour simplifier), celle ci appelle ces objets contenu pour s'afficher etc.
Je capte les événements et doncsi je clic surun bouton et que je veu poser une question je veu donc appeller une MessageBox (toujours de ma conception)
Ok elle s'affiche et je peu gérer les événements relatif aux boutons de cette MessageBox ainsi que la fermer une fois un bouton cliqué.
Questions et problème :
====================================
La question que je me pose est : la boucle principale qui appelle les méthodes de rendu sera t elle bloqué si dans la fonction appellée par un événement j'y met un code bloquant (attente de la reponse de la messagebox) ?
Si le code est bloquant, ce que j'imagine vu que tous codes revient à une lecture linéaire, comment pourrais-je faire pour avoir d'un coté mon rendu en boucle et à coté un appelle bloquant pour attendre la reponse de la messagebox ? cet appel ayant été fait lors d'un événement.
Si besoin de precisions, demandez :)
Solutions qui pourrait aller mais ne correspond pas à mon but :
========================================================================
Au lieu d'attendre la reponse, je dis à la messagebox d'appeller une fonction X lorsqu'elle à le resultat (ajout d'une méthode sur la pile d'un événement)
Mais ça divise mon code en 2, une fonction qui appelle et une fonction appellée par événement qui termine l'opération :s
Si il n'y a pas moyen de faire mieu je prendrais cette unique solution là, mais elle ne me semble pas optimale.
Merci à vous,
|
|
mercredi 1 février 2006 à 02:32:01 |
Re : Refaire MessageBox : problème de blocage

Lutinore
|
Salut,
Si tu as une fonction bloquante le mieux c'est d'utiliser un second thread.
Tu as refait les contrôles "from scratch" !? Avec DirectDraw ( obsolète ) on peut utiliser les dialogs même en mode FULLSCREEN EXCLUSIVE, en tout cas c'était comme ça avec DirectX 9.0b, dans le SDK 9.0b y'a un exemple qui s'appelle "FullScreenDialog". Je connais pas Direct3D mais il me semble que les programmeurs en C++ utilise l'API DXUT qui fournit des contrôles entièrement codés avec Direct3D, en code managé et dans DirectX 9.0c ( Décembre 2005 ) je crois que cette API est implémentée sous le nom "Sample Framework" y'a un exemple dénommé "CustomUI" et le code source du "Sample Framework" se trouve dans "Samples\Managed\Common". J'ai pas testé tout ça, donc à toi de voir..
|
|
mercredi 1 février 2006 à 09:34:35 |
Re : Refaire MessageBox : problème de blocage

MorpionMx
|
Je comprends qu'il reprenne a partir de 0, pas tres intuitif de suivre le code du Sample Framework :/
Mx MVP C#
|
|
mercredi 1 février 2006 à 09:49:06 |
Re : Refaire MessageBox : problème de blocage

Lutinore
|
Ah oui j'ai regardé un peu, c'est pas simple..
Mx, as tu testé DirectX10, qu'en penses tu, y'a beaucoup de changements !?
J'ai pas encore testé, et je crois que je ne peux pas avec XP de toute façon.
|
|
mercredi 1 février 2006 à 09:55:06 |
Re : Refaire MessageBox : problème de blocage

MorpionMx
|
Je peux pas dire que j'ai testé, j'ai juste regardé vite fait. (je suis completement debutant en Dx : Creation de device, affichage de text et d'une forme simple  ) Le point positif : juste un seul Assembly a utiliser. Sinon, j'ai rencontré quelques noms de classes changées (Caps devient Capabilities, ...), ce qui force a devoir modifier du code si qqun veut migrer son appli. Par contre, j'ai reussi a le faire tourner sous xp (sans rien faire de special). Peut-etre parce que c'etait simplement une fenetre sans rien dedans ^^.
Mx MVP C#
|
|
mercredi 1 février 2006 à 10:06:27 |
Re : Refaire MessageBox : problème de blocage

Lutinore
|
C'est bon à savoir, je vais tester ça dès que j'aurais un peu de temps..
|
|
mercredi 1 février 2006 à 21:18:07 |
Re : Refaire MessageBox : problème de blocage

Killan
|
Salut salut,
alors pour vous répondre, vu que je vise un aspect totalement modifiable graphiquement, je ne vais donc pas utiliser les samples UI de crosoft.
de plus le framework construit represente pour moi de grande barière, car on est confiné dans les possibilités du framework. alors j'ai repris un cran plus loin : le niveau 0 de Directx lol :)
concernant DX10, je me suis pas renseigné, j'étais meme pas au courant. Et puis bon avec la 9c c'est suffisant pour etre largement compatible un certain temps, c'est pour ça que je travail toujours avec des versions non-dernier cri.
question c'est quoi "from scratch" ? je ne connais pas le terme
concernant les solutions du problème : j'ai une possibilité en +
avec l'idée d'un thread donc, refaire une 2eme boucle graphique affichant la boite par dessus le dernier rendu en mémoire (evidemment je resume) ça permet d'avoir le meme affichage + les evenement en étant bloquant.
Je vais essayé ça et je viendrais rapporter le resultat, pour les intéressez contactez moi pour voir le projet :)
merci à vous,
Killan
|
|
mercredi 1 février 2006 à 22:01:54 |
Re : Refaire MessageBox : problème de blocage

coq
|
Salut,
"from scratch" est à interpreter dans le sens "en partant de zéro", càd recoder les contrôles de A à Z :-)
/* coq MVP Visual C# */
|
|
mercredi 1 février 2006 à 22:04:31 |
Re : Refaire MessageBox : problème de blocage

Killan
|
merci Coq, on en apprend tout les jours :)
et oui je recommence à zéro, en utilisant un systeme d'event etc
|
|
Cette discussion est classée dans : fonction, appelle, événement, messagebox, reponse
Répondre à ce message
Sujets en rapport avec ce message
événement ou pas? [ par Kbitnik ]
salut, est-ce que l'instruction Form2.pictureBox3.Location = new Point(260,80); fait l'objet d'un événement ??si oui comment s'appelle-t'il ??je pen
Code behind [ par fdouieb ]
Bonjour Je possède une WebForm. Au niveau de la partie client (dans le code HTML) j'ai une fonction C# qui suivant certaine valeur doit faire appelle
sortir d'une fonction [ par emmanuel9 ]
Bonjour, Quelqun connaitre t'il par hazard le moyen de quitte une fonction sur commande ? mettons j'ai void chat(){a = 1 ; b = 2 ; c = 3 ; // et je ve
Charger un webform a partir d'une dll [ par daevon ]
Bonjour,J'ai deja posé mon probleme dans la partie dotnet mais vu le peu de reactivité et le peu de temps que je dispose maintenant je reposte ici, av
[visual c#]bouton dans un datagrid [ par engelho ]
bonjour,J'utilise un datagrid pour affucher des données tirées d'une bd.Dans mon datagrid, j'ai ajouter une colonne composées de bouton. J'ai créé une
javascript dans fonction c# [ par Thanos_the_yopper ]
je fais un site en asp.net/c#je voudrais, à partir d'une fonction c#, lancer une pop-up javascript avec un message et une confirmation oui/non, puis r
Pocketpc [ par neopub ]
Bonjour,j'aimerai developper sous PPC (onboard), mais pas evident de trouver les fonction disponible en C#.Actuelement j'utilise PocketC, mais je trou
fonction aleatoire [ par FaustVII ]
je debute dans la programmation en c#je souhaiterai obtenir un nombre aleatoire sur une plage determiner.si quelqu un pouvais m expliquer comment fair
[C#] Lien HyperTexte dans un MessageBox [ par jeffwow ]
J'aimerais mettre un lien hyper texte du style mailto dans un MessageBox. Quelqu'un sait comment s'y prendre?Jeff
[C# & ASP.NET]Ajouter != listItem a une ddl en fonction d'une autre ddl [ par ourladywar ]
Voilà j'ai deux dropDownList. La premiere (ddlOption) affiche des categories. En fonction de la categorie choisie, la deuxieme (ddlPayOff)deroule des
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|