/* examples/frame/resize2.c */ #include He_node *princ, *panel, *butt1, *butt2; int largeur_min; void fen_resize_proc (He_node *hn, int width, int height) { /* largeur minimale ; provoque un nouveau resize */ if (width < largeur_min) { HeSetWidth (hn, largeur_min); return; } /* ajuste largeur du panel pour que son contenu soit visible */ HeSetWidth (panel, width); /* Justifie butt2 à droite */ HeJustify (butt2, NULL, HE_RIGHT); } int main (int argc, char *argv[]) { HeInit (&argc, &argv); princ = HeCreateFrame (); HeSetFrameLabel (princ, "Bouton à droite"); HeSetFrameResizeProc (princ, fen_resize_proc); panel = HeCreatePanel (princ); butt1 = HeCreateButtonP (panel, "Gauche", NULL, NULL); butt2 = HeCreateButtonP (panel, "Droite", NULL, NULL); HeFit (panel); largeur_min = HeGetWidth(panel); HeFit (princ); return HeMainLoop (princ); }