J'ai besoin d'aide pour créer un certain programme MFC. Je dois créer un programme qui va dessiner une ligne de la façon suivante: l'utilisateur choisit le point de départ en cliquant sur le bouton gauche, et le dernier point en cliquant gauche la deuxième fois, après quoi les points sont connectés et la ligne est dessinée. J'ai réussi à obtenir les coordonnées du premier avec ceci:MFC tracer une ligne
void CsemView::OnLButtonDown(UINT nFlags, CPoint point)
{
CsemDoc* pDoc= GetDocument();
// TODO: Add your message handler code here and/or call default
pDoc->a_pos=point;
Invalidate();
CView::OnLButtonDown(nFlags, point);
}
Le problème est, je ne sais pas comment obtenir les coordonnées du second avec le second clic gauche. J'ai réussi à le faire en utilisant la fonction double clic gauche (et en y plaçant pDoc-> b_pos = point), mais ce n'est pas vraiment ce que j'étais censé faire. (Je mettais les coordonnées du premier dans MoveTo et le second dans LineTo). J'apprécierais que quelqu'un puisse m'aider (je soupçonne qu'il y a peut-être une façon différente et plus simple de faire cela). Merci d'avance.
Les lignes sont habituellement établis en commençant un point sur le bouton vers le bas puis mettre fin à un point et la ligne sur le bouton haut, puis invalidant, puis dans OnDraw ou OnPaint, tirant la ligne de ces deux points. Êtes-vous sûr de vouloir faire deux descentes successives pour le faire? –