2017-06-22 2 views
1

J'aime le C++, et j'ai utilisé l'interface graphique plusieurs fois en C#, mais cette fois je voudrais créer une interface graphique en C++. Je connais déjà les bases de l'API Win32, comme la création d'une fenêtre, les scripts de ressources, les commandes et le traitement des commandes, ainsi que les bases de certains contrôles. Mais ce que je voudrais savoir, est de savoir comment choisir entre pur API Win32 ou MFC pour faire des applications avec des barres latérales qui peuvent être déconnectés et connectés de la fenêtre en cliquant et en tirant, comme l'image ci-dessous:Questions sur les types de projets et les contrôles de l'interface graphique C++

Sidebar in question

Et l'autre type de contrôle que j'aimerais savoir, c'est quel genre de liste est-ce en rouge dans l'image ci-dessous? Dans le bas encerclé, je sais que c'est un mélange de vue arborescente avec ce genre de liste. Je pensais que c'était un contrôle de table ou similaire, mais ce n'est pas le cas.

List I want to know what kind of control is

Quoi qu'il en soit, je dois continuer à étudier l'API Win32 pur, ou devrais-je passer directement à MFC? Je n'ai pas l'intention d'utiliser .NET ou C#, seulement du C++ pur avec quelques libs.

+1

Il est généralement appelé "TreeList". Pas un contrôle standard mais couramment vendu par les fournisseurs de composants. Il faudra un certain temps avant que vous n'en connaissiez suffisamment pour en créer un vous-même, assurez-vous de prendre le temps. –

+0

Le même effet peut être obtenu dans Win32 pur en utilisant une vue Liste dessinée par le propriétaire en mode rapport. –

+0

Ok mais, et la barre latérale qui peut être déplacée, quel est le nom de ce composant, je regarde les wxWidgets suggérés par la personne ci-dessous. –

Répondre

1

Vous pouvez également jeter un oeil à des frameworks C++ plus modernes, comme Qt.

Si vous voulez en savoir plus sur Windows, vous pouvez utiliser Winapi ou MFC. // MFC est juste un joli couche mince (et oop) sur Winapi.

QBittorrent utilise Qt framework, donc ceux qui sont le plus probablement un QListWidget/QListView et QTreeWidget/QTreeView.

+0

Vous pouvez également considérer wxWidgets. Sa structure est très similaire à MFC, mais elle ne nécessite pas de ressources de dialogue. –

+0

@DanKorn: MFC ne nécessite pas non plus de ressources de dialogue. Il rend simplement la création de boîtes de dialogue en utilisant un langage de script et un éditeur visuel beaucoup plus facile. – IInspectable

+0

Merci l'homme j'ai jeté un coup d'oeil à qt et il semble être intéressant, mais comme il est payé, je jette un coup d'oeil à wxWidgets –