Réponse acceptée !
Salut,
Voici une piste:
Tu peux créer des controles ayant l'apparence des portes logiques. Pour créer un controle on déclare et initialise une structure
WNDLASS. Le membre
cbWndExtra permet de spécifier le nombre d'octets à allouer individuellement à chaque instance du controle. Cela permet de conserver l'état des entrées et sortie. Le membre
lpfnWndProc contiendra le nom de la procédure de gestion du controle. C'est cette procédure qui se chargera du dessin du controle pendant
WM_PAINT et assurera le bon fonctionnement du controle. Le membre
lpszClassName précise le nom de la classe du controle. Par exemple "AND", "NAND", "OR", "NOR", "XOR" ou "NOT" etc. Une fois tous les membres correctement initialisés, on enregistre la classe avec
RegisterClass(). On utilisera ensuite
CreateWindow() pour créer autant d'instances des différents controles qu'on veut. On définit des messages du genre
WM_USER pour pouvoir connecter les portes entre elles en utilisant des
SendMessage() . Les états peuvent être visualisés sous forme de petites figures de couleur différentes.
Tout cela est faisable en WIN32 avec les APIs de Windows. Je pense que c'est facilement adaptable si tu préfères travailler autrement.