Scrollbar ....!!

Résolu
aabdoos Messages postés 39 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 septembre 2008 - 15 déc. 2006 à 14:48
aabdoos Messages postés 39 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 septembre 2008 - 19 déc. 2006 à 02:51
salut a tout le groupe :)
bon voila......j'ai cree une application MFC que ,la taillede son cadre(Dialog) depace la taille de mon ecrant, car il y en a plein de controles. quand j'ogumente la resolution d'affichage de Windwos, mon Dialog aparet completement, mais la taille des controles, plices....etc devien miniature, un ami m'apropose d'utiliser un scrollbar vertical (ascenseur), bon j'ai chercher un peux dans le net et j'ai trouver un articl (MSDN Q29.....) qui montre les etapes pour creer un scrollbar , il cite qu'il faus invoker les handlers WM_VSSCROLL et WM_SIZE , et il detail le code....bon le probleme n'ete pas que le code n'a pas marcher...au contraire....il marche mais pas completement comme je voulais,
le code necessite que la feuneitre du Dialog sois redimentionnee pour qu'il fonctionne ,or ma feuneitre et beaucoup plus longe qu'elle sois redimentionnee...... je ne sais pas si j'eclaicis le problem ou suis je bavard....
s'il vous plais, si il ya quelqu'un qui peux m'aider, j'en serais tres reconaissant
merci d'avance pour vos suggestions :)
je travail avec VC++ 6.0v

3 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
16 déc. 2006 à 22:45
Ou encore plus pratique, l'utilisation d'un tabControl, avec 2 ou 3 volets tu regroupes tes controlles par catégories.
Il n'est pas bon de surcharger une vue avec beaucoup de controles d'un seul coup, cela simplifiera aussi l'organisation de ton code.
Tchao.
3
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
16 déc. 2006 à 22:42
// Si ta vue dérive de FormView

// Tu peux définir la taille du frame

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
    if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE;


    // Fenetre non resizable, 800/600, placé au milieu de l'écran


    cs.style &= ~WS_THICKFRAME;
    cs.style &= ~WS_MAXIMIZEBOX;
 
    cs.cx = 805;
    cs.cy = 605; 
 
    cs.x  = (::GetSystemMetrics(SM_CXSCREEN) - 805)/2;
    cs.y  = (::GetSystemMetrics(SM_CYSCREEN) - 605)/2;
 
    return TRUE;
}

// Puis dans la vue

void CMyView::OnInitialUpdate()
{
    CFormView::OnInitialUpdate();
    GetParentFrame()->RecalcLayout();
    ResizeParentToFit();
}

Sinon je te conseille l'utilisation de CScrollView qui te mets les scrollBar automatiquement.
0
aabdoos Messages postés 39 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 septembre 2008
19 déc. 2006 à 02:51
dsl pour ce scilence, ;erci d'abord Mr.yan_lo_san pour votre reponse, oui je pense aussi que ;a vue est un peux surchargee, pour ce lq je vais adapter votre idee du TabControl, elle meme moin penible en code et plus souple en utilisation
bon merci encore.
:)
0
Rejoignez-nous