9
votes

C ++ / Win32 Une application professionnelle à la recherche - est-ce vraiment possible?

Je cherche partout pour trouver une bonne solution / conseil sur la façon de publier une application qui a l'apparence de «top-extrémité» d'aujourd'hui.

Comme nous le savons tous, lors de la codage avec Windows, nous obtenons normalement des couleurs / des boutons / listes de style Windows, etc. Ils ont juste l'air et se sentent laids.

Lorsque nous décidons que nous voulons vendre une demande, les gens veulent que cela a fière allure - évidemment parce qu'ils ont payé pour cela.

La question est la suivante:

  • Comment la bonne application est-elle obtenue aujourd'hui?
  • Propriétaire Dessin? (vraiment ??)
  • Contrôles personnalisés?
  • Certaines bonnes bibliothèques non libres qui font le travail "sale" et "peau" votre application?

    Je ne crois pas que les programmeurs font ces astuces et astuces «à découvert», il faut si longtemps d'avoir un contrôle complètement fait .. Outre, je préférerais passer ce temps à coder les choses de l'application interne que de jouer avec perfontrice Dessin ..

    Je n'ai aucun indice, mais j'ai une échéance et maintenant après avoir traversé tous ces contrôles «OutworyDrawed» sur Google - je suis venu que ce n'est pas la chose .. Il doit y avoir autre chose qui est pratique quand un programmateur a besoin Pour que sa demande ait l'air top-extrémité!.

    aide s'il vous plaît, des outils? des conseils? n'importe quoi ..?

    Peu d'exemples, comment réalisent-ils cet aspect:

    http://fooh.pl/pokaz/3198197337370da4cdfdebf0ae13933c_openfm.jpg


7 commentaires

Je crois, HTML peut être utilisé d'une manière ou d'une autre pour faciliter la tâche et séparer le design du code. Mais je voudrais aussi voir une bonne réponse à ce qusetion.


Eh bien, c'est un peu étrange que les codeurs C ++ (Vstudio / Winapi / W32) sont bloqués dans ces châges de Windows mal salines. Et je crois qu'il doit y avoir une solution - j'ai vu trop de bonnes applications lately, et si Celles-ci sont tirées du propriétaire - alors je veux savoir s'il s'agit de la seule option possible pour un programmeur gagnant du XXIST CENTY.


Cette application n'a pas d'interface utilisateur professionnelle. Bien sûr, il a beaucoup d'attrait sexuel des consommateurs, purement visuel, mais les contrôles sont trop petits, trop proches, et il n'y a aucune bonne indication visuelle ce qui est cliquable et ce qui n'est pas.


Ben, ouais mais comparé à une application Standard Windows-développée - ce look est comme une "whoah". Et il ne s'agit pas de «ce qui est cliquable ou non» - c'est plus à: comment s'est-il fait pour obtenir cet appel à «un appel sexuel à la consommation» à l'intérieur?


Qu'entendez-vous par «style Windows»? Si votre réclamation consiste à ne pas avoir de look personnalisé lorsque vous ne personnalisez pas, bien dans cette affaire, la question devrait être votée non réelle. Si votre complaisant est sur le point d'être par exemple. Windows 2000 Recherchez des boutons, etc., au lieu de la thématique, alors suivez un "manifeste" à votre application. Recherche le sur Google.


@Pees - Cela dépend de votre cible. J'achète des logiciels après "Est-ce utile", pas après "Wow, a l'air cool!". Ymmv.


@Bo - Mes clients ont tendance à dire: "Regardez mon application iPhone, voir ses couleurs et un look?". Les gens veulent aujourd'hui: fonctionnalité et conception. Mon client est mon patron, et oui droite - j'achète des applications parce que j'ai besoin de leur fonctionnalité au lieu de couleurs, mais je code les applications de codes - et quand j'entends 'pouvez-vous faire semblant plus cool? " - Je commence à me demander comment diable fais-je ça?


9 Réponses :


2
votes

Vous pouvez consulter Qt par exemple. En plus de sa fonctionnalité de base, vous pouvez également Style Tous les widgets à votre goût ( De manière très similaire à CSS) et, en tant que tels, créez des "thèmes" au contenu de votre cœur.

Pour le look non rectangulaire de la fenêtre dans l'image que vous liez, vous pouvez utiliser la fonctionnalité Setmask () de QT.


6 commentaires

Regardez le QT - il ressemble à une interface utilisateur Windows 3.11. Désolé, ce n'est pas ce que nous recherchons.


Si vous vous référez aux exemples, je ressemblerais un peu plus loin si j'étais vous. Certes, les exemples fournis ne sont pas «sexy», mais ils illustrent que tout ce qui est essentiellement, tout peut être changé pour ce que vous voulez.


Bart, s'il y a quelque chose qui a l'air top-extrémité et a été fait avec qt je voudrais le voir ..?


Google Earth a été écrit avec Qt. Est-ce que ça va? Sinon, choisissez-en un de ceux-ci que vous aimez: qt.nokia.com/qt-in-uuse


KDE ...? Et peut-être trouvez-vous quelque chose que vous voulez ici: Qt.nokia.com/qt-in-uuse? Mais vraiment, c'est au-delà du point et nos définitions de "professionnel de la recherche" diffèrent certainement. ;) Mon point simplement est que QT fournit à toutes les fonctionnalités de faire ce que vous voulez et n'est pas trop difficile de travailler avec IMHO. Enlevez de ce que vous voulez. Bonne chance. :)


Eh bien, l'interface utilisateur de Google Earth n'est pas «cool» à votre guise, juste une interface utilisateur standard qui a l'air laid. Je ne dis rien sur le moteur de rendu, car nous parlons de Windows Ui ici. Désolé je ne pouvais trouver rien de fait avec qt qui me soufflerait .. :) Oui, vous avez raison, peut-être que le terme "look professionnel" est ce qui diffère :)



0
votes

Habituellement, vous pouvez rendre des contrôles personnalisés avec GDI (+) Rendu.


2 commentaires

Ouais, mais cela me demanderait de concevoir / coder chaque contrôle de zéro - et je ne veux pas faire cela, il faudrait une année pour les avoir tous faits avec GDI +.


@Pees: Si vous voulez une interface utilisateur sexy, vous devez mettre des efforts. Vous pouvez aussi essayer WPF pour .NET.



0
votes

Si cela ne vous dérange pas d'entrer dans C ++ / CLI, il existe WPF, il offre un contrôle assez étendu sur des styles et des modèles définis par l'utilisateur.


2 commentaires

C'est quelque chose que je n'ai pas vu - mais de ce que les gens disent - il ne "coopère" pas avec C ++? quelque chose de plus sur ça?


L'inconvénient serait que vous auriez besoin de déployer le framework .NET avec votre application et, comme vous l'avez mentionné, C ++ / CLI ne peut pas coopérer (je ne suis pas au courant d'un concepteur) mais qu'il est faisable, au moins de manière programmable. Quant à mon approche de ce problème, j'ai écrit la couche d'interface graphique en C # / WPF et en utilisant Interop pour appeler en C ++.



0
votes

Vous voudrez peut-être jeter un coup d'œil à SkinCrafter . C'est mature, stable et très flexible. Je ne l'utilise plus mais mon expérience avec elle était assez agréable.


3 commentaires

Chet, ça a l'air bien! Quelle est la chose que vous utilisez maintenant au lieu de SkinCrafter?


@Pees Les applications que je développe maintenant ne nécessitent pas d'aspect et de sensations augmentées. S'ils le faisaient, je continuerais à utiliser SkinCrafter.


Merci Chet, je le commandais maintenant.



1
votes

Il n'y a probablement pas un seul contrôle de cette application.

Au lieu de cela, tout est rendu comme une image. Il y a une image d'arrière-plan, avec certaines images de superposition (principalement transparentes) pour fournir des contrôles de la main-d'œuvre, des contrôles handicapés, etc. La seule chose qui n'est pas pré-évaluée est la piste et la liste de lecture actuelles, qui est un texte pur avec une police particulière.

Le test de frappe peut être effectué avec une autre image.

Le programmeur ne fonctionne pratiquement aucun travail à mettre en œuvre la conception fantaisie, tout est fait par un artiste (et des programmes tels que des couches de support Photoshop dans l'éditeur, ce qui facilite la construction de toutes les superpositions).

L'inconvénient, bien sûr, est que les boutons n'agissent pas exactement comme des boutons Win32 normaux. Ils ne prennent pas la prise de vue sur le clavier (bien qu'il y ait probablement des correctes) et activez simplement sur MouseUp. Et l'accessibilité est horrible, il n'y a aucune information pour un screenreader et l'application ne respecte pas les paramètres de taille des polices système. Afin de rendre l'interface utilisateur lisible par des personnes ayant une mauvaise vue, une peau entièrement différente est requise.


0 commentaires

1
votes

L'équipe C ++ a rassemblé un échantillon appelé Hilo (comme l'endroit à Hawaii) qui utilise Aucun cadre (non ATL, pas de MFC) et est tout le code natif. Il utilise un certain nombre de capacités Windows 7 et de délicieux graphismes et animations. Tout le code et la conception sont disponibles et documentés. Jetez un coup d'œil.


0 commentaires

1
votes

Si vous souhaitez creuser sous les capots d'une application spécifique, vous pouvez enfiler un utilitaire d'espionnage et voir combien de contrôle une interface a été décomposée dans:

Je veux espion ++ mais je n'ai pas de studio visuel

Y a-t-il un spy ++ comme utilitaire pour WPF?

Par exemple ... L'espionnage dans Windows Media Player en mode peau indique qu'il existe une classe de fenêtre appelée WMP Skin hôte , et vous pouvez voir qu'il a zéro Fenêtres enfants. (Le mode non skinifié régulier est divisé dans des cases de liste et des boutons tels.)

Dans mon expérience, la peau "moderne" est généralement une catastrophe lorsque les gens se rétablissent trop pour essayer de "regarder cool". Il entrave la fois l'automatisation (à travers des choses comme AutoIt ) non Pour mentionner le Fonctions d'accessibilité pour les personnes handicapées. En outre, qu'est-ce qui a l'air cool aujourd'hui ne restera pas à jour si vous n'utilisez pas d'API à thème basé sur le système d'exploitation.

(Remarque: parce que je suis fan de QT en général, je suggère de regarder dans le qstyle et qstylepainter . Mais c'est plus" à thème "que" skinning ".)

Je serais très méfiant d'utiliser Skinning dans une application, à moins que je puisse découvrir que je développais pour un marché qui l'exigeait absolument (comme des joueurs de musique).


0 commentaires

2
votes

On dirait que vous voulez une application entièrement sensible, mais sans aucun effort que les commandes Win32 typiques. ce est impossible. Mais la cagiculture n'est pas difficile en général, il suffit de consommer plus de temps que vous êtes prêt à dépenser.

Votre prochain problème est la suivante: une fois que vous avez une application à la peau, vous avez besoin d'un graphiste professionnel pour développer une bonne peau. Trop de développeurs de petits projets pensent pouvoir faire leur propre peau, mais il a presque toujours l'air terrible. Ce look professionnel sexy que vous voulez est impossible sans expert de design.

Et enfin, quelle que soit la peau personnalisée de fantaisie, la fonctionnalité devra probablement être personnalisée. C'est-à-dire que si vous voulez des commandes non rectangulaires ou des animations, ce sont des choses que vous devez passer le temps de développer.

Utiliser une boîte à outils comme Qt peut être un bon investissement. Mais c'est le genre de détail qui prend beaucoup d'efforts, peu importe la façon dont vous le couperez.

Un peu à côté du point: Conçu correctement par un expert UI, les contrôles Windows par défaut ont tendance à être très professionnels. Il y a tellement d'avantages à utiliser des contrôles de Windows natifs, vous devriez vraiment réfléchir avec soin avant d'essayer de réinventer la roue:

  1. Caractéristiques d'accessibilité telles que la navigation du clavier, les lecteurs d'écran, le contraste élevé. Allez-vous vraiment essayer de réinventer toutes les fonctionnalités d'accessibilité que Windows fournit les commandes? Ou vaut-il la peine d'exclure les personnes handicapées d'utiliser votre application pour que vous puissiez utiliser une peau (sans parler des personnes non handicapées qui utilisent des fonctionnalités d'accessibilité)?
  2. redimensionnement. Votre peau signifie-t-elle désactiver tout redimensionnement de votre fenêtre? Encore une fois, ça vaut la peine?
  3. Certaines choses ne peuvent pas être très bien cuites. Par exemple, des barres de défilement et des menus. Certains développeurs les réinventent (les barres de défilement étant particulièrement difficiles à réinventer), d'autres les quittent simplement non cuites.
  4. Thème Windows. Le thème Windows n'est pas seulement la couleur de votre menu de démarrage; C'est censé dicter l'apparence de tout votre système d'exploitation. L'utilisation des contrôles Windows standard permet aux utilisateurs d'utiliser un mécanisme intégré pour sélectionner l'apparence et la sensation.

8 commentaires

+1 "Mais c'est le genre de détail qui prend beaucoup d'efforts, peu importe la façon dont vous le découpez."


Je pense que vous avez raison de souligner qu'un graphiste professionnel est ce qui est nécessaire pour atteindre ce «bon look final». La raison pour laquelle je demande tout cela est parce que j'ai fini de coder le moteur de jeu Realtime OpenGL en temps réel il y a deux semaines et devait coder tout à partir de zéro par moi-même (y compris l'interface utilisateur). Lorsque nous (The Dev Team) a finalement terminé de travailler sur le moteur, nous avons reçu une demande de code une petite application Bluetooth pour un client .. Et je suis choqué que, en 2011, ma demande ne ressemble à un contrôle standard à l'intérieur. un membre pro gfx peut faire le "truc" mais je


Je pense que même que même l'utilisation de contrôles standard pouvant aller de la recherche de terrible à la recherche de professionnels. Les experts de l'UI ont un talent légitime pour cela, et ils sont malheureusement sous-utilisés.


(suite) Mais je pensais que je vais trouver un outil / la technologie qui me permettra d'avoir au moins avoir un "contrôle supplémentaire" de quel est le look final d'une application ..


Tennosour, vous avez vraiment raison. Je vais probablement rester au regard tel qu'il est, et voir si mon client se plaint de dire: "Pourquoi cela a-t-il l'air de cette façon? C'est un XXIe siècle, regardez mon interface utilisateur Apple"


Au fait, le moyen absolu le moyen le plus simple de la peau Une application est une combinaison de UpdateLayeredWindow + un fichier .png + manipulation manuelle des entrées utilisateur et des événements d'expédition. Vous venez de sacrifier toutes les caractéristiques d'accessibilité typiques comme je l'ai mentionnée. Mais sur un budget serré, c'est toujours ce que je fais. C'est super simple, il n'ya donc aucune crainte de "Oh, j'ai trop investi dans cette peau".


Et il est un peu juste, les gens se sont habitués à un look «iph0ne», je sais que comme je code pour plusieurs clients. Ils "veulent une application pour avoir l'air cool" sur leurs ordinateurs portables, et j'ai été choqué qu'il n'y ait pas de solution définitive pour cela - "Tirage personnalisé" ou d'avoir l'air vieuxkskewl.


UpdateLayeredWindow - est quelque chose que j'utilise depuis longtemps, et oui, c'était génial depuis un certain temps, mais la demande est la suivante: more. ;)



0
votes

Vous pouvez utiliser des moteurs de mise en page externes, un tel est HTMLayout de Terra Informatica, celui-ci est également utilisé de certains logiciels professionnels.


0 commentaires