begin process at 2012 05 28 20:37:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Deplacer une form


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Deplacer une form

dimanche 25 mai 2003 à 16:23:15 | Deplacer une form

bdkiller

Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:

J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!

Merci d'avance.
::.:[bdk]:.::
dimanche 25 mai 2003 à 16:41:29 | Re : Deplacer une form

BruNews

Administrateur CodeS-SourceS
doit te manquer la capture souris.
Regarde SetCapture() dans le MSDN.
Ne pas oublier ReleaseCapture(), son pendant, qui doit etre surveille et appele dans differents contextes.
Pendant la capture, SetWindowPos() fera tout a fait le travail, je te conseille cette solution car mieux parametrable que MoveWindow().
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:
>
> J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!
>
> Merci d'avance.
> ::.:[bdk]:.::
dimanche 25 mai 2003 à 18:32:55 | Re : Deplacer une form

bdkiller

heuh, comme je le disais je suis newbie :D
regarde ce que j'ai mis dans OnMouseDown:


POINT pt;
GetCursorPos(&pt); //je prends les coordonnés x et y de la souris
SetCapture(Form1); //je pose la capture sure la Form1
SetWindowPos(Form1, Form1, pt.x, pt.y, 200, 320, SWP_NOSIZE); //pt.x et pt.y sont les coordonnées de souris


voilà, mais ca marche pas tout de meme, je ne sais pas ou est le probleme en effet..

si tu pourrais m'écrire un ptit exemple stp
a plus
::.:[bdk]:.::


-------------------------------
Réponse au message :
-------------------------------

> doit te manquer la capture souris.
> Regarde SetCapture() dans le MSDN.
> Ne pas oublier ReleaseCapture(), son pendant, qui doit etre surveille et appele dans differents contextes.
> Pendant la capture, SetWindowPos() fera tout a fait le travail, je te conseille cette solution car mieux parametrable que MoveWindow().
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:
> >
> > J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!
> >
> > Merci d'avance.
> > ::.:[bdk]:.::
>
dimanche 25 mai 2003 à 18:48:39 | Re : Deplacer une form

BruNews

Administrateur CodeS-SourceS
Bon, voila petit extrait d'un prog genre Post-it.
Pas de MFC, jamais avec moi, si toi oui faudra interpreter.
Cet extrait de wndproc te montre deplacement d'une fiche qui n'a pas de barre de titre et fonctionne quel que soit endroit ou on l'attrape.
Note bien qu'il faut convertir les coordonnees.

case WM_LBUTTONDOWN:
mouseX = LOWORD(lParam); mouseY = HIWORD(lParam);
SetCapture(hDlg); bCapture = 1;
return 0;
case WM_LBUTTONUP:
if(GetCapture() == hDlg) {
ReleaseCapture(); bCapture = 0;
GetCursorPos(&pt);
SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
}
return 0;
case WM_RBUTTONUP:
if(bCapture) return 0;
pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
ClientToScreen(hDlg, &pt);
TrackPopupMenu(GetSubMenu(hMenu, 0), TPM_RIGHTBUTTON, pt.x, pt.y, 0, hDlg, NULL);
return 0;
case WM_MOUSEMOVE:
if(bCapture) {
pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
ClientToScreen(hDlg, &pt);
SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
}
return 0;
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> heuh, comme je le disais je suis newbie :D
> regarde ce que j'ai mis dans OnMouseDown:
>
>

> POINT pt;
> GetCursorPos(&pt); //je prends les coordonnés x et y de la souris
> SetCapture(Form1); //je pose la capture sure la Form1
> SetWindowPos(Form1, Form1, pt.x, pt.y, 200, 320, SWP_NOSIZE); //pt.x et pt.y sont les coordonnées de souris
>

>
> voilà, mais ca marche pas tout de meme, je ne sais pas ou est le probleme en effet..
>
> si tu pourrais m'écrire un ptit exemple stp
> a plus
> ::.:[bdk]:.::
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > doit te manquer la capture souris.
> > Regarde SetCapture() dans le MSDN.
> > Ne pas oublier ReleaseCapture(), son pendant, qui doit etre surveille et appele dans differents contextes.
> > Pendant la capture, SetWindowPos() fera tout a fait le travail, je te conseille cette solution car mieux parametrable que MoveWindow().
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:
> > >
> > > J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!
> > >
> > > Merci d'avance.
> > > ::.:[bdk]:.::
> >
>
dimanche 25 mai 2003 à 20:22:36 | Re : Deplacer une form

bdkiller

lol merci beacoup mais lol.. j'ai pas pigé grand chose dans ton src

dis moi pourquoi c'est si long? il n'y a pas de trucs plus rapides du genre:

void CNCHitDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
CDialog::OnLButtonDown(nFlags, point);
// fake windows into thinking your clicking on the caption, does not
// maximize on double click
PostMessage( WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM( point.x, point.y));
}

j'ai trouvé ca sur codeguru je crois.. mais.. zut j'ai bcb et ca ne veut pas marcher nan plus.. et pis dis moi, c'est quoi un MFC , j'ai l'air d'un con je sais, mais bon.. je ne pige pas grand chose ;) moi j'ai choisi nouveau>application dans bcb et donc je peux pas te dire si c'est un MFC ou j'sais pas quoi lol
app
::.:[bdk]:.::


-------------------------------
Réponse au message :
-------------------------------

> Bon, voila petit extrait d'un prog genre Post-it.
> Pas de MFC, jamais avec moi, si toi oui faudra interpreter.
> Cet extrait de wndproc te montre deplacement d'une fiche qui n'a pas de barre de titre et fonctionne quel que soit endroit ou on l'attrape.
> Note bien qu'il faut convertir les coordonnees.
>
> case WM_LBUTTONDOWN:
> mouseX = LOWORD(lParam); mouseY = HIWORD(lParam);
> SetCapture(hDlg); bCapture = 1;
> return 0;
> case WM_LBUTTONUP:
> if(GetCapture() == hDlg) {
> ReleaseCapture(); bCapture = 0;
> GetCursorPos(&pt);
> SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> }
> return 0;
> case WM_RBUTTONUP:
> if(bCapture) return 0;
> pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> ClientToScreen(hDlg, &pt);
> TrackPopupMenu(GetSubMenu(hMenu, 0), TPM_RIGHTBUTTON, pt.x, pt.y, 0, hDlg, NULL);
> return 0;
> case WM_MOUSEMOVE:
> if(bCapture) {
> pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> ClientToScreen(hDlg, &pt);
> SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> }
> return 0;
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > heuh, comme je le disais je suis newbie :D
> > regarde ce que j'ai mis dans OnMouseDown:
> >
> >

> > POINT pt;
> > GetCursorPos(&pt); //je prends les coordonnés x et y de la souris
> > SetCapture(Form1); //je pose la capture sure la Form1
> > SetWindowPos(Form1, Form1, pt.x, pt.y, 200, 320, SWP_NOSIZE); //pt.x et pt.y sont les coordonnées de souris
> >

> >
> > voilà, mais ca marche pas tout de meme, je ne sais pas ou est le probleme en effet..
> >
> > si tu pourrais m'écrire un ptit exemple stp
> > a plus
> > ::.:[bdk]:.::
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > doit te manquer la capture souris.
> > > Regarde SetCapture() dans le MSDN.
> > > Ne pas oublier ReleaseCapture(), son pendant, qui doit etre surveille et appele dans differents contextes.
> > > Pendant la capture, SetWindowPos() fera tout a fait le travail, je te conseille cette solution car mieux parametrable que MoveWindow().
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:
> > > >
> > > > J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!
> > > >
> > > > Merci d'avance.
> > > > ::.:[bdk]:.::
> > >
> >
>
dimanche 25 mai 2003 à 20:41:14 | Re : Deplacer une form

BruNews

Administrateur CodeS-SourceS
bcb ??? connais pas, tu vois, 1 partout. Je bosse le C sur Visual Studio et me va impec, tu devrais essayer.
En ce qui concerne win32 et code court, faut pas y compter.
Ce que je t'ai passe marche nickel, c'est du win32 direct par API. Ce que tu as pris sur codeguru est du MFC. Faut que tu trouves de la doc, trop long pour moi d'expliquer les differences.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> lol merci beacoup mais lol.. j'ai pas pigé grand chose dans ton src
>
> dis moi pourquoi c'est si long? il n'y a pas de trucs plus rapides du genre:
>

> void CNCHitDlg::OnLButtonDown(UINT nFlags, CPoint point)
> {
> CDialog::OnLButtonDown(nFlags, point);
> // fake windows into thinking your clicking on the caption, does not
> // maximize on double click
> PostMessage( WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM( point.x, point.y));
> }
>

> j'ai trouvé ca sur codeguru je crois.. mais.. zut j'ai bcb et ca ne veut pas marcher nan plus.. et pis dis moi, c'est quoi un MFC , j'ai l'air d'un con je sais, mais bon.. je ne pige pas grand chose ;) moi j'ai choisi nouveau>application dans bcb et donc je peux pas te dire si c'est un MFC ou j'sais pas quoi lol
> app
> ::.:[bdk]:.::
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bon, voila petit extrait d'un prog genre Post-it.
> > Pas de MFC, jamais avec moi, si toi oui faudra interpreter.
> > Cet extrait de wndproc te montre deplacement d'une fiche qui n'a pas de barre de titre et fonctionne quel que soit endroit ou on l'attrape.
> > Note bien qu'il faut convertir les coordonnees.
> >
> > case WM_LBUTTONDOWN:
> > mouseX = LOWORD(lParam); mouseY = HIWORD(lParam);
> > SetCapture(hDlg); bCapture = 1;
> > return 0;
> > case WM_LBUTTONUP:
> > if(GetCapture() == hDlg) {
> > ReleaseCapture(); bCapture = 0;
> > GetCursorPos(&pt);
> > SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> > }
> > return 0;
> > case WM_RBUTTONUP:
> > if(bCapture) return 0;
> > pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> > ClientToScreen(hDlg, &pt);
> > TrackPopupMenu(GetSubMenu(hMenu, 0), TPM_RIGHTBUTTON, pt.x, pt.y, 0, hDlg, NULL);
> > return 0;
> > case WM_MOUSEMOVE:
> > if(bCapture) {
> > pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> > ClientToScreen(hDlg, &pt);
> > SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> > }
> > return 0;
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > heuh, comme je le disais je suis newbie :D
> > > regarde ce que j'ai mis dans OnMouseDown:
> > >
> > >

> > > POINT pt;
> > > GetCursorPos(&pt); //je prends les coordonnés x et y de la souris
> > > SetCapture(Form1); //je pose la capture sure la Form1
> > > SetWindowPos(Form1, Form1, pt.x, pt.y, 200, 320, SWP_NOSIZE); //pt.x et pt.y sont les coordonnées de souris
> > >

> > >
> > > voilà, mais ca marche pas tout de meme, je ne sais pas ou est le probleme en effet..
> > >
> > > si tu pourrais m'écrire un ptit exemple stp
> > > a plus
> > > ::.:[bdk]:.::
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > doit te manquer la capture souris.
> > > > Regarde SetCapture() dans le MSDN.
> > > > Ne pas oublier ReleaseCapture(), son pendant, qui doit etre surveille et appele dans differents contextes.
> > > > Pendant la capture, SetWindowPos() fera tout a fait le travail, je te conseille cette solution car mieux parametrable que MoveWindow().
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:
> > > > >
> > > > > J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!
> > > > >
> > > > > Merci d'avance.
> > > > > ::.:[bdk]:.::
> > > >
> > >
> >
>
dimanche 25 mai 2003 à 23:55:59 | Re : Deplacer une form

bdkiller

bcb = Borland C++ Builder
bah MFC apparement est mieux lol vu que c'est plus court :D
mais bon, merci quand meme que tu a essayé de m'aider, c'est gentil de ta part.
a++
::.:[bdk]:.::


-------------------------------
Réponse au message :
-------------------------------

> bcb ??? connais pas, tu vois, 1 partout. Je bosse le C sur Visual Studio et me va impec, tu devrais essayer.
> En ce qui concerne win32 et code court, faut pas y compter.
> Ce que je t'ai passe marche nickel, c'est du win32 direct par API. Ce que tu as pris sur codeguru est du MFC. Faut que tu trouves de la doc, trop long pour moi d'expliquer les differences.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > lol merci beacoup mais lol.. j'ai pas pigé grand chose dans ton src
> >
> > dis moi pourquoi c'est si long? il n'y a pas de trucs plus rapides du genre:
> >

> > void CNCHitDlg::OnLButtonDown(UINT nFlags, CPoint point)
> > {
> > CDialog::OnLButtonDown(nFlags, point);
> > // fake windows into thinking your clicking on the caption, does not
> > // maximize on double click
> > PostMessage( WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM( point.x, point.y));
> > }
> >

> > j'ai trouvé ca sur codeguru je crois.. mais.. zut j'ai bcb et ca ne veut pas marcher nan plus.. et pis dis moi, c'est quoi un MFC , j'ai l'air d'un con je sais, mais bon.. je ne pige pas grand chose ;) moi j'ai choisi nouveau>application dans bcb et donc je peux pas te dire si c'est un MFC ou j'sais pas quoi lol
> > app
> > ::.:[bdk]:.::
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bon, voila petit extrait d'un prog genre Post-it.
> > > Pas de MFC, jamais avec moi, si toi oui faudra interpreter.
> > > Cet extrait de wndproc te montre deplacement d'une fiche qui n'a pas de barre de titre et fonctionne quel que soit endroit ou on l'attrape.
> > > Note bien qu'il faut convertir les coordonnees.
> > >
> > > case WM_LBUTTONDOWN:
> > > mouseX = LOWORD(lParam); mouseY = HIWORD(lParam);
> > > SetCapture(hDlg); bCapture = 1;
> > > return 0;
> > > case WM_LBUTTONUP:
> > > if(GetCapture() == hDlg) {
> > > ReleaseCapture(); bCapture = 0;
> > > GetCursorPos(&pt);
> > > SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> > > }
> > > return 0;
> > > case WM_RBUTTONUP:
> > > if(bCapture) return 0;
> > > pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> > > ClientToScreen(hDlg, &pt);
> > > TrackPopupMenu(GetSubMenu(hMenu, 0), TPM_RIGHTBUTTON, pt.x, pt.y, 0, hDlg, NULL);
> > > return 0;
> > > case WM_MOUSEMOVE:
> > > if(bCapture) {
> > > pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> > > ClientToScreen(hDlg, &pt);
> > > SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> > > }
> > > return 0;
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > heuh, comme je le disais je suis newbie :D
> > > > regarde ce que j'ai mis dans OnMouseDown:
> > > >
> > > >

> > > > POINT pt;
> > > > GetCursorPos(&pt); //je prends les coordonnés x et y de la souris
> > > > SetCapture(Form1); //je pose la capture sure la Form1
> > > > SetWindowPos(Form1, Form1, pt.x, pt.y, 200, 320, SWP_NOSIZE); //pt.x et pt.y sont les coordonnées de souris
> > > >

> > > >
> > > > voilà, mais ca marche pas tout de meme, je ne sais pas ou est le probleme en effet..
> > > >
> > > > si tu pourrais m'écrire un ptit exemple stp
> > > > a plus
> > > > ::.:[bdk]:.::
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > doit te manquer la capture souris.
> > > > > Regarde SetCapture() dans le MSDN.
> > > > > Ne pas oublier ReleaseCapture(), son pendant, qui doit etre surveille et appele dans differents contextes.
> > > > > Pendant la capture, SetWindowPos() fera tout a fait le travail, je te conseille cette solution car mieux parametrable que MoveWindow().
> > > > > BruNews, ciao...
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:
> > > > > >
> > > > > > J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!
> > > > > >
> > > > > > Merci d'avance.
> > > > > > ::.:[bdk]:.::
> > > > >
> > > >
> > >
> >
>
lundi 26 mai 2003 à 00:08:53 | Re : Deplacer une form

BruNews

Administrateur CodeS-SourceS
Regarde que VB est encore + court mais c'est pas forcement mieux, c'est different.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> bcb = Borland C++ Builder
> bah MFC apparement est mieux lol vu que c'est plus court :D
> mais bon, merci quand meme que tu a essayé de m'aider, c'est gentil de ta part.
> a++
> ::.:[bdk]:.::
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > bcb ??? connais pas, tu vois, 1 partout. Je bosse le C sur Visual Studio et me va impec, tu devrais essayer.
> > En ce qui concerne win32 et code court, faut pas y compter.
> > Ce que je t'ai passe marche nickel, c'est du win32 direct par API. Ce que tu as pris sur codeguru est du MFC. Faut que tu trouves de la doc, trop long pour moi d'expliquer les differences.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > lol merci beacoup mais lol.. j'ai pas pigé grand chose dans ton src
> > >
> > > dis moi pourquoi c'est si long? il n'y a pas de trucs plus rapides du genre:
> > >

> > > void CNCHitDlg::OnLButtonDown(UINT nFlags, CPoint point)
> > > {
> > > CDialog::OnLButtonDown(nFlags, point);
> > > // fake windows into thinking your clicking on the caption, does not
> > > // maximize on double click
> > > PostMessage( WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM( point.x, point.y));
> > > }
> > >

> > > j'ai trouvé ca sur codeguru je crois.. mais.. zut j'ai bcb et ca ne veut pas marcher nan plus.. et pis dis moi, c'est quoi un MFC , j'ai l'air d'un con je sais, mais bon.. je ne pige pas grand chose ;) moi j'ai choisi nouveau>application dans bcb et donc je peux pas te dire si c'est un MFC ou j'sais pas quoi lol
> > > app
> > > ::.:[bdk]:.::
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Bon, voila petit extrait d'un prog genre Post-it.
> > > > Pas de MFC, jamais avec moi, si toi oui faudra interpreter.
> > > > Cet extrait de wndproc te montre deplacement d'une fiche qui n'a pas de barre de titre et fonctionne quel que soit endroit ou on l'attrape.
> > > > Note bien qu'il faut convertir les coordonnees.
> > > >
> > > > case WM_LBUTTONDOWN:
> > > > mouseX = LOWORD(lParam); mouseY = HIWORD(lParam);
> > > > SetCapture(hDlg); bCapture = 1;
> > > > return 0;
> > > > case WM_LBUTTONUP:
> > > > if(GetCapture() == hDlg) {
> > > > ReleaseCapture(); bCapture = 0;
> > > > GetCursorPos(&pt);
> > > > SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> > > > }
> > > > return 0;
> > > > case WM_RBUTTONUP:
> > > > if(bCapture) return 0;
> > > > pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> > > > ClientToScreen(hDlg, &pt);
> > > > TrackPopupMenu(GetSubMenu(hMenu, 0), TPM_RIGHTBUTTON, pt.x, pt.y, 0, hDlg, NULL);
> > > > return 0;
> > > > case WM_MOUSEMOVE:
> > > > if(bCapture) {
> > > > pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> > > > ClientToScreen(hDlg, &pt);
> > > > SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> > > > }
> > > > return 0;
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > heuh, comme je le disais je suis newbie :D
> > > > > regarde ce que j'ai mis dans OnMouseDown:
> > > > >
> > > > >

> > > > > POINT pt;
> > > > > GetCursorPos(&pt); //je prends les coordonnés x et y de la souris
> > > > > SetCapture(Form1); //je pose la capture sure la Form1
> > > > > SetWindowPos(Form1, Form1, pt.x, pt.y, 200, 320, SWP_NOSIZE); //pt.x et pt.y sont les coordonnées de souris
> > > > >

> > > > >
> > > > > voilà, mais ca marche pas tout de meme, je ne sais pas ou est le probleme en effet..
> > > > >
> > > > > si tu pourrais m'écrire un ptit exemple stp
> > > > > a plus
> > > > > ::.:[bdk]:.::
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > doit te manquer la capture souris.
> > > > > > Regarde SetCapture() dans le MSDN.
> > > > > > Ne pas oublier ReleaseCapture(), son pendant, qui doit etre surveille et appele dans differents contextes.
> > > > > > Pendant la capture, SetWindowPos() fera tout a fait le travail, je te conseille cette solution car mieux parametrable que MoveWindow().
> > > > > > BruNews, ciao...
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:
> > > > > > >
> > > > > > > J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!
> > > > > > >
> > > > > > > Merci d'avance.
> > > > > > > ::.:[bdk]:.::
> > > > > >
> > > > >
> > > >
> > >
> >
>
lundi 26 mai 2003 à 00:16:07 | Re : Deplacer une form

bdkiller

lol c'est bon, en effet

ReleaseCapture();
Form1->Perform(WM_SYSCOMMAND, 0xF012, 0);

ca marche à tous les coups ;)
ce qui bloquait c'était la property de la form ALIGN elle était sur alCustom alors que je l'ai mis en alNone ca marche :)
je sais pas à quoi exactement sert ce align mais bon, l'essentiel que ca marche :D
a+
::.:[bdk]:.::


-------------------------------
Réponse au message :
-------------------------------

> Regarde que VB est encore + court mais c'est pas forcement mieux, c'est different.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > bcb = Borland C++ Builder
> > bah MFC apparement est mieux lol vu que c'est plus court :D
> > mais bon, merci quand meme que tu a essayé de m'aider, c'est gentil de ta part.
> > a++
> > ::.:[bdk]:.::
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > bcb ??? connais pas, tu vois, 1 partout. Je bosse le C sur Visual Studio et me va impec, tu devrais essayer.
> > > En ce qui concerne win32 et code court, faut pas y compter.
> > > Ce que je t'ai passe marche nickel, c'est du win32 direct par API. Ce que tu as pris sur codeguru est du MFC. Faut que tu trouves de la doc, trop long pour moi d'expliquer les differences.
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > lol merci beacoup mais lol.. j'ai pas pigé grand chose dans ton src
> > > >
> > > > dis moi pourquoi c'est si long? il n'y a pas de trucs plus rapides du genre:
> > > >

> > > > void CNCHitDlg::OnLButtonDown(UINT nFlags, CPoint point)
> > > > {
> > > > CDialog::OnLButtonDown(nFlags, point);
> > > > // fake windows into thinking your clicking on the caption, does not
> > > > // maximize on double click
> > > > PostMessage( WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM( point.x, point.y));
> > > > }
> > > >

> > > > j'ai trouvé ca sur codeguru je crois.. mais.. zut j'ai bcb et ca ne veut pas marcher nan plus.. et pis dis moi, c'est quoi un MFC , j'ai l'air d'un con je sais, mais bon.. je ne pige pas grand chose ;) moi j'ai choisi nouveau>application dans bcb et donc je peux pas te dire si c'est un MFC ou j'sais pas quoi lol
> > > > app
> > > > ::.:[bdk]:.::
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bon, voila petit extrait d'un prog genre Post-it.
> > > > > Pas de MFC, jamais avec moi, si toi oui faudra interpreter.
> > > > > Cet extrait de wndproc te montre deplacement d'une fiche qui n'a pas de barre de titre et fonctionne quel que soit endroit ou on l'attrape.
> > > > > Note bien qu'il faut convertir les coordonnees.
> > > > >
> > > > > case WM_LBUTTONDOWN:
> > > > > mouseX = LOWORD(lParam); mouseY = HIWORD(lParam);
> > > > > SetCapture(hDlg); bCapture = 1;
> > > > > return 0;
> > > > > case WM_LBUTTONUP:
> > > > > if(GetCapture() == hDlg) {
> > > > > ReleaseCapture(); bCapture = 0;
> > > > > GetCursorPos(&pt);
> > > > > SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> > > > > }
> > > > > return 0;
> > > > > case WM_RBUTTONUP:
> > > > > if(bCapture) return 0;
> > > > > pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> > > > > ClientToScreen(hDlg, &pt);
> > > > > TrackPopupMenu(GetSubMenu(hMenu, 0), TPM_RIGHTBUTTON, pt.x, pt.y, 0, hDlg, NULL);
> > > > > return 0;
> > > > > case WM_MOUSEMOVE:
> > > > > if(bCapture) {
> > > > > pt.x = LOWORD(lParam); pt.y = HIWORD(lParam);
> > > > > ClientToScreen(hDlg, &pt);
> > > > > SetWindowPos(hDlg, 0, pt.x - mouseX, pt.y - mouseY, 0, 0, SWP_NOZORDER | SWP_NOSIZE);
> > > > > }
> > > > > return 0;
> > > > > BruNews, ciao...
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > heuh, comme je le disais je suis newbie :D
> > > > > > regarde ce que j'ai mis dans OnMouseDown:
> > > > > >
> > > > > >

> > > > > > POINT pt;
> > > > > > GetCursorPos(&pt); //je prends les coordonnés x et y de la souris
> > > > > > SetCapture(Form1); //je pose la capture sure la Form1
> > > > > > SetWindowPos(Form1, Form1, pt.x, pt.y, 200, 320, SWP_NOSIZE); //pt.x et pt.y sont les coordonnées de souris
> > > > > >

> > > > > >
> > > > > > voilà, mais ca marche pas tout de meme, je ne sais pas ou est le probleme en effet..
> > > > > >
> > > > > > si tu pourrais m'écrire un ptit exemple stp
> > > > > > a plus
> > > > > > ::.:[bdk]:.::
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > doit te manquer la capture souris.
> > > > > > > Regarde SetCapture() dans le MSDN.
> > > > > > > Ne pas oublier ReleaseCapture(), son pendant, qui doit etre surveille et appele dans differents contextes.
> > > > > > > Pendant la capture, SetWindowPos() fera tout a fait le travail, je te conseille cette solution car mieux parametrable que MoveWindow().
> > > > > > > BruNews, ciao...
> > > > > > >
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > Salut all, je suis newbie dans le cpp et j'ai l'habitude de fouiller dans les forums et dans les sources afin d'apprendre en douceur la fameuse prog cpp :) en bref voilà mon blème:
> > > > > > > >
> > > > > > > > J'ai une form crée sans les bords avec une image (genre Winamp) donc pas de barre de titre, donc le deplacement doit se faire à l'aide de l'image (bitmap) utilisé, et mon bleme est là, je sais pas comment?! J'ai essayé de faire sur l'image OnMouseDown les trucs genre SetWindowPos - passe pas, avec MoveWindow, passe pas nan plus :( enfin peut etre ca passerait mais le bleme ce que je sais pas le faire exactement.. quelqu'un de sympa peut m'aider svp?!
> > > > > > > >
> > > > > > > > Merci d'avance.
> > > > > > > > ::.:[bdk]:.::
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : form, image, genre, deplacer, cpp


Répondre à ce message

Sujets en rapport avec ce message

C++B6 : Deplacer une form sans la barre du titre [ par fabiin ] Salutj'utilise C++builder 6,j'ai une form sans barre de titreet je voudrai la déplacer en cliquant n'import ou ailleur,g pensé utiliser le même code k portrait robot en c++ [ par demo42 ] bonjours a tous et a toutes j ai un projet informatique a faire et je galere trop je doit realiser un logiciel en c++ de portrait robot et je ne sais Intégrer une image dans un programme [Dev-cpp] [ par by_rabbit_08 ] Salut!! Je me demandais si quelqu'un savait comment intégrer une image dans un exécutable, et pouvoir l'utiliser ensuite... Est-ce que quelqu'un peut Deplacer une image sur un bouton [ par hadrien1 ] Voila je ne sais plus quoi faire, ca fais 2 semaine que je cherche, je trouve quelque bibe de code mais pas ce que je cherche :( Mon problème : Je su Acquisition d'image aved dev cpp [ par sultan_kafila ] the peace cannot be kept by forcebonjour tt le monde je suis en stage actuellement et je cherche un code source qui fait de l'acquisition d'image avec ressources dev-cpp [ par deck_bsd ] Bonjour,Voila je veu mettre une image dans un controle static. Tout vas bien pour ce qui est des OBM (OBM_CHECK,...) tout s'affiche parfaitement. Le p afficher une image comme fond sous dev-cpp [ par sebastienmz ] bonjour j'ai essayer http://www.cppfrance.com/code.aspx?ID=16811 mais elle marche pas j'ai l'impression que le case WM_PAINT marche pas comment faire IMAGE_OPTIONAL_HEADER32 [ par kiki67100 ] Bonjour a tous, Voila j'ai trouvez un code http://rafb.net/p/CPapmn32.html mais dev c++ me fait un erreur 14 C:\Dev-Cpp\id.cpp `IMAGE_OPTIONAL_HEAD .h et .cpp avec DEV [ par medACK ] salut, après avoir avoir fais plein d'applications en 2D, je veux maintenant monter 1 moteur.mon problème n'est pas coté algorithmique mais plutôt cot afficher image dans un picture visual cpp j'ai déjà debuté l' application [ par maxoule ] afficher image dans un picture visual cpp j'ai déjà debuté l' application ,si quelqu'un veux bien m'aider


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,404 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales