Win32 : Envoyer un message WM_GETTEXT à la barre d'URL de Mozilla - C++ - Programmation
Marsh Posté le 07-12-2003 à 23:31:51
Ça serait une bonne occasion de te mettre à XPFE
Marsh Posté le 08-12-2003 à 01:30:27
dans le même genre, aucun "service" de Mac OS X ne fonctionne dans mozilla.
Marsh Posté le 08-12-2003 à 08:22:34
ET oui, les toolkits genre GTK ou Qt c'est bien sympat à utiliser, mais voilà ce que cela fait. C'est pour cela que je suis pas fan du look custom, surtout quand ce look custom est accompagné d'un feel custom (au passage petit râlage contre cette même zone de texte Mozilla qui ne se comporte pas pareil que les autres applis Win32 quand on clique sur le texte).
J'ai une bonne et une mauvaise nouvelle : la bonne c'est que c'est pas ta faute, la mauvaise, je crois pas que tu puisses faire grand chose...
Marsh Posté le 08-12-2003 à 10:08:04
gm_superstar a écrit a écrit : Ça serait une bonne occasion de te mettre à XPFE |
c'est quoi ?
nraynaud a écrit a écrit : dans le même genre, aucun "service" de Mac OS X ne fonctionne dans mozilla. |
on se demande à quoi ça sert que des ingénieurs compétents se cassent le cul à réaliser un OS des plus sympas et fonctionnels si des équipes de développement passent outre et décident de créer leur propre système de fenétrage...
HelloWorld a écrit a écrit : ET oui, les toolkits genre GTK ou Qt c'est bien sympat à utiliser, mais voilà ce que cela fait. C'est pour cela que je suis pas fan du look custom, surtout quand ce look custom est accompagné d'un feel custom (au passage petit râlage contre cette même zone de texte Mozilla qui ne se comporte pas pareil que les autres applis Win32 quand on clique sur le texte). J'ai une bonne et une mauvaise nouvelle : la bonne c'est que c'est pas ta faute, la mauvaise, je crois pas que tu puisses faire grand chose... |
Ca dépend si le toolkit encapsule Win32 ou non. C'est le cas pour la VCL, MFC ou Winform (heureusement d'ailleurs), mais je sais pas si ça l'est pour QT ou GTK.
Carton rouge à Mozilla sur ce coup. Réinventer la roue pour des raisons plus que discutables (qui peut me dire le véritable intérêt du XUL ?), voila à quoi ça mène.
Je crois effectivement qu'il n'y a rien à faire de plus, malheureusement, si ce n'est dire à mon utilisateur d'utiliser IE...
Marsh Posté le 08-12-2003 à 10:09:57
Pour Qt ça ne l'est pas d'après ce que j'ai entendu dire (d'ailleurs ça se sent à l'utilisation).
edit: pas basé sur Win32
Marsh Posté le 08-12-2003 à 10:22:12
Je voudrais bien vous y voir à écrire des GUI cross plateforme sans avoir à se recoder toute la partie GUI à chaque plateforme. Des trucs comme GTK, wxWindows, QT, XUL permettent de faire gagner un temps fou.
Marsh Posté le 08-12-2003 à 10:44:36
ben dans le cas de wxWindows, il me semble qu'il se base sur ce que l'OS propose, donc en Win32, on a des contrôles Win32.
Marsh Posté le 08-12-2003 à 11:24:04
Kristoph a écrit : Je voudrais bien vous y voir à écrire des GUI cross plateforme sans avoir à se recoder toute la partie GUI à chaque plateforme. Des trucs comme GTK, wxWindows, QT, XUL permettent de faire gagner un temps fou. |
Et pourquoi l'implémentation du toolkit ne pourrait-elle pas utiliser les éléments natifs de l'OS ?
Marsh Posté le 08-12-2003 à 11:43:31
antp a écrit : |
Probablement parceque c'est très difficile à faire de façon cross plateforme.
Marsh Posté le 08-12-2003 à 11:53:17
Kristoph a écrit : Probablement parceque c'est très difficile à faire de façon cross plateforme. |
bin wxWindows le fait bien
Marsh Posté le 08-12-2003 à 11:54:01
drasche a écrit : |
y'a quand meme a craindre que le comportement des composants natifs ne soit pas strictement identique d'un OS a l'autre, j'imagine
Marsh Posté le 08-12-2003 à 11:55:47
ça vaudrait le coup de décortiquer le source de Mozilla, et de voir s'il fait beaucoup d'appels Win32 ou pas.
parce que vous allez pas me dire qu'il est réalisé entièrement en C++/STL et portable sans aucune modif du source
Marsh Posté le 08-12-2003 à 11:55:58
chrisbk a écrit : y'a quand meme a craindre que le comportement des composants natifs ne soit pas strictement identique d'un OS a l'autre, j'imagine |
certainement, mais j'ai pas encore eu le temps de regarder, je suppose qu'ils ont quand même prévu le coup
Marsh Posté le 08-12-2003 à 12:07:36
drasche a écrit : |
J'aime pas wxWindow. Le peux que j'ai essayé de l'utilisé me rappelait vraiment Win32 avec ses DC et ses limitations à la noix ( comment ça on ne peut pas mettre des images de plus de 256 lignes dans ce controle ? )
Et s'ils n'avaient pas la facheuse manie de changer l'API un peut trop souvent ...
Marsh Posté le 08-12-2003 à 12:12:25
Harkonnen a écrit : ça vaudrait le coup de décortiquer le source de Mozilla, et de voir s'il fait beaucoup d'appels Win32 ou pas. |
XUL lui même est plein de code specifique, mais au dela de ça c'est bien independant de la plateforme. Pour preuve, il est possible d'écrire des applications en XUL qui sont bien cross plateforme à la fin
Marsh Posté le 08-12-2003 à 12:49:30
Kristoph a écrit : |
Non.
Soit tu as des composants similaires sur chaque plateforme et tu cree un objet commun dans ton GUI multiplateforme, soit un composant qui t'es necessaire n'a pas d'equivalent sur une plateforme et c'est a toi d'en ecrire une implem.
Bon, c'est pas un truc de debutant, mais c'est pas la mort non plus, ca demande juste du temps.
Il y a IMHO des choses bien plus difficiles a programmer, par exemple, implementer un GC efficace.
EDIT: j'ai dit GUI, j'aurais du parler de Framework.
A+,
Marsh Posté le 08-12-2003 à 15:48:48
Se passer de l'OS pour un tk ça permet d'assurer une portabilié parfaite, sans pblm. Si on utilise les controls de l'OS y'a des coomportement spécifiques forcément. C'est ce qui a motivé Sun a développer SWING, alors qu'ils avaient AWT.
Pour les Winforms je ne crois pas que ce soit mappé sur Win32. J'en suis même presque sûr. D'un côté c'est mieux car les contrôles sont plus évolués, et comme c'est fait par MS ben ça reste Win32 like, mais de l'autre y'a pas le look XP...
Marsh Posté le 08-12-2003 à 15:52:19
ben les Winforms sont basées sur .NET et Win32 est condamné à disparaître, donc aucun intérêt de les mapper sur Win32 a priori.
Marsh Posté le 08-12-2003 à 15:53:41
drasche a écrit : Win32 est condamné à disparaître |
mais que va devenir la programmation en assembleur sous Windows ?
Marsh Posté le 08-12-2003 à 15:58:19
gilou a écrit : |
Et quand les 2 OS est des composants similaires mais au comportement different ? Il deviens alors facile de créer des applis qui ne marchent que sur un OS à cause de ces differences de comportement. Tout cela rallonge enormement les phases de validation. Alors avec un bon toolkit qui certifie un comportement uniforme entre les plateformes on gagne du temps.
De toute façon, le monde informatique ira beaucoup mieux quand tout le monde utilisera QT ou GTK2 ou ...
Marsh Posté le 08-12-2003 à 16:00:01
Harkonnen a écrit : |
Inutile, comme ceux qui la pratiquent. Dis, je peux te mettre dans la poubelle moi-même dis ?
Marsh Posté le 08-12-2003 à 16:00:56
nraynaud a écrit : Inutile, comme ceux qui la pratiquent. Dis, je peux te mettre dans la poubelle moi-même dis ? |
n'y pense même pas ! je suis sur qu'une ame charitable va sortir un Asm .NET
Marsh Posté le 08-12-2003 à 16:02:02
Harkonnen a écrit : mais que va devenir la programmation en assembleur sous Windows ? |
langage d'assemblage équivalent -> CLR
Marsh Posté le 08-12-2003 à 16:03:47
Citation : mais que va devenir la programmation en assembleur sous Windows ? |
Des programmeurs assembleur MSIL ?
Marsh Posté le 08-12-2003 à 16:04:51
HelloWorld a écrit : Des programmeurs assembleur MSIL ? |
ah zut c'est ça que je voulais dire
Marsh Posté le 08-12-2003 à 16:07:58
http://csharpcomputing.com/Tutorials/Lesson2.htm
Marsh Posté le 08-12-2003 à 16:08:45
Cela dit, tant que longhorn n'est pas sorti on a un petit répis.
Marsh Posté le 08-12-2003 à 16:10:08
Kristoph a écrit : Il deviens alors facile de créer des applis qui ne marchent que sur un OS à cause de ces differences de comportement. Tout cela rallonge enormement les phases de validation. Alors avec un bon toolkit qui certifie un comportement uniforme entre les plateformes on gagne du temps. |
On rentre dans la classique dichotomie :
doit-on favoriser l'éditeur du logiciel ou l'utilisateur ?
Si on utilise un toolkit abstrait qui possède son propre look-and-feel (Xwindow, GTK, QT, mozilla etc.) alors c'est facile de porter d'une plateforme à l'autre, mais pour l'utilisateur c'est chierie, l'intégration est naze (pas les icones sous win, pas d'intégration dans le dock OS X, menu au movais endroit sous OS X etc.), le look-and-feel pas naturel, les raccourcis claver changent etc.
Si on utilise un toolkit qui repose sur les toolkits natifs alors il faut faire une partie de code spécifique pour chaque plateforme, parfois-même modifier l'interface pour respecter les normes de GUI de la plateforme etc. Et l'utilisateur il est même pas content : c'est normal quand on installe au application elle n'ait rien d'exotique, il est pas là pour se faire chier avec ces trucs, il est là pour bosser. Mais on peut se satisfaire du fait qu'il n'est pas énervé.
Perso, je pense que la première solution est une grosse connerie, qui fait partie des choses qui ont mis l'informatique en crise (faire chier l'utilisateur avec des connerie).
Marsh Posté le 08-12-2003 à 16:14:38
HelloWorld a écrit :
|
en CIL normalisé par l'ecma ce serait un peu plus intelligent, mais c'est une caractéristique étrangère aux assembleux.
Pour la poubelle, c'est vraiment pas négociable ? Et si je jette un amiga dans la poubelle avant ?
Marsh Posté le 08-12-2003 à 16:17:25
nraynaud a écrit : Pour la poubelle, c'est vraiment pas négociable ? Et si je jette un amiga dans la poubelle avant ? |
Marsh Posté le 08-12-2003 à 16:17:33
nraynaud a écrit : Perso, je pense que la première solution est une grosse connerie, qui fait partie des choses qui ont mis l'informatique en crise (faire chier l'utilisateur avec des connerie). |
+1
ça fait chier non seulement l'utilisateur, mais aussi le programmeur, la preuve...
Marsh Posté le 08-12-2003 à 16:24:02
nraynaud a écrit : Pour la poubelle, c'est vraiment pas négociable ? Et si je jette un amiga dans la poubelle avant ? |
nan ! je commencerais à l'envisager si tu balances un Atari ST ou un Falcon à la place
Marsh Posté le 08-12-2003 à 16:32:05
Harkonnen a écrit : |
Merde j'ai encore confondu Amiga et Atari : rien ne ressemble plus à une déchet qu'un autre déchet.
Marsh Posté le 08-12-2003 à 21:46:17
Harkonnen a écrit : |
XPFE c'est l'association de XUL, JavaScript et des CSS pour créer des applications qui étendent l'interface de Mozilla.
Et à mon avis ça suffit pour faire un convertisseur euro. Pas la peine de sortir l'artillerie lourde XPCOM et de créer un composant à part entière.
Harkonnen a écrit : (qui peut me dire le véritable intérêt du XUL ?) |
Mozilla n'est pas qu'un bête navigateur web. Mozilla c'est une plateforme à part entière. Donc XUL (et tout le bazard XPFE, XPCOM) existe pour :
- être multiplateforme
- permettre au développeur web moyen de créer de véritables applications sur la plateforme Mozilla comme il ferait des pages web (c'est le même genre de démarche qu'a adopté Microsoft avec son XAML)
Marsh Posté le 08-12-2003 à 21:47:53
nraynaud a écrit : Merde j'ai encore confondu Amiga et Atari : rien ne ressemble plus à une déchet qu'un autre déchet. |
surtout que Amiga est le nom d'une gamme d'ordinateurs alors qu'Atari est une société
Marsh Posté le 08-12-2003 à 23:53:20
Kristoph a écrit : |
Tu veux dire quand les composants sont homologues mais les fonctionalites differentes?
C'est la que joue toute l'experience du designer de la Framework. Faire un Look & Feel homogene quelque soit la plate forme, ou bien se rapprocher des guidelines pour chaque OS (Les guidelines Windows, Motif et MacOs par exemple) La premiere solution est generalement la plus simple, mais pas necessairement celle qui convient a l'utilisateur final.
A+,
Marsh Posté le 08-12-2003 à 23:58:22
Je viens de lire le post de nraynaud et je vois qu' il avait deja repondu (plus clairement bien sur) ce que je viens de poster.
A+,
Marsh Posté le 09-12-2003 à 00:31:21
gilou a écrit : plus clairement bien sur |
trop facile pour moi.
Marsh Posté le 09-12-2003 à 02:20:50
gm_superstar a écrit : |
moi j'y connais rien mais le prog de harko est super et c trop dommage qu'il ne fonctionne pas sous mozilla...
qq1 saurait le faire sous forme d'extension ?
http://xulfr.org/
http://linuxfr.org/2003/10/22/14347.html
http://www-106.ibm.com/developerwo [...] a-appmozx/
ou au pire en HTML...?
Tiens, y a une différence entre Firebird et Moz Ap Suite quand même :
"Changement du navigateur intégré basé sur XPFE pour le navigateur indépendant Mozilla Firebird. Note : l'interface utilisateur du nouveau navigateur est définie entièrement avec XUL. En le choisissant, nous montrons combien XUL est une base solide pour des applications rapides et multi-plateformes telles que Mozilla Firebird."
http://www.mozilla-france.org/sect [...] le&artid=3
Marsh Posté le 07-12-2003 à 23:14:22
Hello à tous !
J'ai codé voici quelque temps un petit convertisseur euro (dispo dans ma signature) qui permet de convertir en euro tout montant saisi dans une TextBox standard de Windows. Faites le test dans la zone de saisie d'URL d'IE, ou dans Démarrer/Exécuter, ça marche nickel (appuyez sur Pause pour convertir le montant saisi en Euro).
Par contre, impossible de convertir un montant saisi dans la zone de saisie de Mozilla.
Pour récupérer le contenu de la TextBox, je lui envoie un WM_GETTEXT via la fonction SendMessage(), tout simplement. Apparemment, les controles de Mozilla ne reçoivent jamais ce message.
J'ai vérifié le controle utilisé avec Winspector, il semble que ce controle n'en soit pas un, et fasse partie d'un controle global regroupant toute la fenêtre de Mozilla, appelé MozillaWindowClass. Du coup, le controle n'existant pas en tant que controle, il ne reçoit pas mon message et aucune conversion se fait.
Avez vous une piste pour pouvoir contourner le problème, en Win 32, afin d'éviter de devoir passer obligatoirement par une extension spécifique à Mozilla écrite en XUL ?
---------------
J'ai un string dans l'array (Paris Hilton)