Bonjour,
je fais apparaitre un CDialog en modal, mais j'aimerai que ce position soit la meme que celle de l'appelant,
comment puis faire ?
merci
Version imprimable
Bonjour,
je fais apparaitre un CDialog en modal, mais j'aimerai que ce position soit la meme que celle de l'appelant,
comment puis faire ?
merci
La fonction GetWindowRect() devrait faire l'affaire.
Tu aura desoin de lui passer un handle de ta première dialog (this), et tu va récupérer un LPRECT, une structure grâce à laquelle tu auras les dimensions ainsi que la position de ta dialog.
Hope it helps.
apres il faudra faire un SetWindowPos
:DCode:
1
2
3 thedlg->SetWindowPos(NULL,x,y, 0,0,SWP_NOZORDER | SWP_NOSIZE);
ok, merci bien :)
[edit]
pour info, jme suis fais ca :
que j'appelle comme ca :Code:
1
2
3
4
5
6
7 void SetSameWindowPosition(CWnd* Origine, CWnd* Destination) { CRect rect ; Origine->GetWindowRect(&rect) ; CPoint TopLeft = rect.TopLeft(); Destination->SetWindowPos(NULL,TopLeft.x,TopLeft.y, 0,0,SWP_NOZORDER | SWP_NOSIZE); }
Code:
1
2
3 SetSameWindowPosition(this, GetParent()); et SetSameWindowPosition( GetParent(), this);