Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Annonce] BipCPP - aide à la programmation graphique - gratuit

4 réponses
Avatar
bipcpp
Les fonctions BipCPP fournissent une aide pour faciliter la
programmation en C++ sous interface graphique.

C'est une boîte à outils pour le programmeur.

BipCPP utilise la STL (standard template library) mais rien d'autre
(pas de MFC).
L'utilisation de BipCPP n'interdit pas d'utiliser aussi les fonctions
normales du système d'exploitation et/ou de l'interface graphique.

L'utilisation de BipCPP est gratuite pour toute utilisation non
commerciale.

Premier module BipGDI, disponible sur le site http://bipcpp.free.fr/
Il fournit des fonctions de gestion des fenêtres, des fonctions de
gestion du texte, une message box, une input box, ...

Quelques exemples sont disponibles sur le site, ci-dessous le source
du fameux "Hello World" en version minimale.

Merci de votre attention.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#include <windows.h>
#include <string>

// Include for Bip
#include "BipGDI.h"

//-------------------------------------------------------------
//! Procedure for main window !
//-------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hBGCurWnd, UINT message, WPARAM wParam,
LPARAM lParam)
{
switch (message)
{
case WM_PAINT:
{
// select window for drawing
BG_SelectWindow("MinHW");

// draw text on window
BG_DrawText("Hello World");

// release window from drawing
BG_ReleaseWindow();

break;
}
case WM_DESTROY:
PostQuitMessage(0);

return 0;
}

return DefWindowProc(hBGCurWnd, message, wParam, lParam);
}

//-------------------------------------------------------------
//! BEGINING OF PROGRAM !
//-------------------------------------------------------------
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
// open main window (position 100,100 size 300,100)
BG_CreateMainWindow("MinHW", hInstance, nCmdShow, WndProc);

// process message loop
return BG_MessageLoop();
}

4 réponses

Avatar
Remi Thomas
wrote:
Les fonctions BipCPP fournissent une aide pour faciliter la
programmation en C++ sous interface graphique.

C'est une boîte à outils pour le programmeur.

BipCPP utilise la STL (standard template library) mais rien d'autre
(pas de MFC).
L'utilisation de BipCPP n'interdit pas d'utiliser aussi les fonctions
normales du système d'exploitation et/ou de l'interface graphique.

L'utilisation de BipCPP est gratuite pour toute utilisation non
commerciale.

Premier module BipGDI, disponible sur le site http://bipcpp.free.fr/
Il fournit des fonctions de gestion des fenêtres, des fonctions de
gestion du texte, une message box, une input box, ...

Quelques exemples sont disponibles sur le site, ci-dessous le source
du fameux "Hello World" en version minimale.

Merci de votre attention.
































































































#include <windows.h>
#include <string>

// Include for Bip
#include "BipGDI.h"

//-------------------------------------------------------------
//! Procedure for main window !
//-------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hBGCurWnd, UINT message, WPARAM wParam,
LPARAM lParam)
{
switch (message)
{
case WM_PAINT:
{
// select window for drawing
BG_SelectWindow("MinHW");

// draw text on window
BG_DrawText("Hello World");

// release window from drawing
BG_ReleaseWindow();

break;
}
case WM_DESTROY:
PostQuitMessage(0);

return 0;
}

return DefWindowProc(hBGCurWnd, message, wParam, lParam);
}

//-------------------------------------------------------------
//! BEGINING OF PROGRAM !
//-------------------------------------------------------------
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
// open main window (position 100,100 size 300,100)
BG_CreateMainWindow("MinHW", hInstance, nCmdShow, WndProc);

// process message loop
return BG_MessageLoop();
}



Quelques petites remarques à la simple lecture de cet extrait:
- Ce n'est pas du tout objet. Comment je fais pour passer une référence sur
MinHW sans faire un select Windows ? Comme je spécialise la classe pour la
réutiliser plusieurs fois ?
- Pourquoi devoir implémenter une WndProc ? On peut très bien faire sans.
- Etudies GDI+ car il offre déjà de quoi faire du GDI en C++

Je te conseille de jeter un oeuil sur cet article
http://www.codeppc.com/evc/articles/pocket3d/pocket3d.htm
chapitre "Définissons une classe C++ pour structurer tout cela." et
suivants.
Ce n'est pas forcement un modèle très poussé mais c'est au moins vraiment
objet. Tu verra comment faire pour le WndProc en C++.

Rémi

--
Rémi Thomas - MVP Visual Studio .NET
Développeur Windows indépendant
http://www.xtware.com/cv
Avatar
Aurélien REGAT-BARREL
> Je te conseille de jeter un oeuil sur cet article
http://www.codeppc.com/evc/articles/pocket3d/pocket3d.htm
chapitre "Définissons une classe C++ pour structurer tout cela." et
suivants.
Ce n'est pas forcement un modèle très poussé mais c'est au moins vraiment
objet. Tu verra comment faire pour le WndProc en C++.



Une autre source d'inspiration, très didactique :
http://www.relisoft.com/win32/winnie.html

BG_CreateMainWindow("MinHW", hInstance, nCmdShow, WndProc);


hInstance ne sert à rien sous WinNT, et de manière générale c'est pénible à
trimballer.
Récupère-le via GetModuleHandle( NULL ); et supprime-le des paramètres.

--
Aurélien REGAT-BARREL
Avatar
bipcpp
On Wed, 28 Apr 2004 10:30:04 +0200, "Aurélien REGAT-BARREL"
hInstance ne sert à rien sous WinNT, et de manière générale c'est pénible à
trimballer.
Récupère-le via GetModuleHandle( NULL ); et supprime-le des paramètres.



Merci pour ta très bonne remarque.
Je vais voir comment implanter cela dans la prochaine release.
Avatar
bipcpp
On Wed, 28 Apr 2004 06:38:03 +0200, "Remi Thomas"
wrote:
- Ce n'est pas du tout objet. Comment je fais pour passer une référence sur



Oui, ce n'est pas programmé en objet (pour l'instant) et c'est
intentionnel.
Je pense que pour les petits projet ou pour les débutants, c'est plus
simple comme cela.