wm_lbuttonup

Guten Tag,

ich habe ein Problem, und zwar möchte ich dass ein Button nicht nur funktioniert wenn er normal angeklickt wird, sondern das Ereignis soll auch ausgelöst werden wenn erst irgendwo anders die linke Maustaste gedrückt wird, auf den Button gezeigt und losgelassen wird. Ich dachte dies funktioniere mit dem Ereignis WM_LBUTTONUP, jedoch wird dieses Ereignis nur aufgerufen, wenn ein Doppelklick gemacht wird.

Ich wollte nun fragen, wie man dieses Ereignis, dass die linke Maustaste losgelassen wird, behandeln kann.

Vielen Dank schonmal im Vorraus.

Mit freundlichen Grüßen,
Daniel der Verzweifelte :smile:

Hallo Daniel.

das Ereignis soll auch ausgelöst werden wenn erst irgendwo
anders die linke Maustaste gedrückt wird, auf den Button
gezeigt und losgelassen wird.

Also ein drag-and-drop willst Du machen?

Ich dachte dies funktioniere mit
dem Ereignis WM_LBUTTONUP,

Tut es auch. Du kriegst die Koordinaten von der WM_LBUTTONUP, die fragst Du ab, ob sie in dem Rechteck drin sind, und gebongt. Wenn Du die WM_MOUSEMOVE ausserdem behandeln willst, steht Dir das auch frei, brauchst Du aber nicht dafür.

jedoch wird dieses Ereignis nur
aufgerufen, wenn ein Doppelklick gemacht wird.

Da bin ich mir nicht so sicher. Vesuch mal das hier:

void onMouse(UINT message, LPARAM lp)
 { 
 dc = GetDC(hWnd);
 int x = ((lp \> 16);
 int y = (lp \>\> 16);

 switch (message)
 {
 case WM\_LBUTTONDOWN:
 TextOut(dc, x, y, "WM\_LBUTTONDOWN", strlen("WM\_LBUTTONDOWN"));
 break;
 case WM\_LBUTTONUP:
 TextOut(dc, x, y, "WM\_LBUTTONUP", strlen("WM\_LBUTTONUP"));
 break;
 default:
 return;
 } 

 ReleaseDC(hWnd, dc);
 }

Ich wollte nun fragen, wie man dieses Ereignis, dass die linke
Maustaste losgelassen wird, behandeln kann.

Kein Problem, siehe oben.

Vielen Dank schonmal im Vorraus.

Aber bitte!

lg
Martin B

Vielen Dank, ich habe im Moment keine Zeit es auszuprobieren, ich werde mich aber wieder melden ob es funktioniert hat oder nicht :wink:

Dankeschön
Gruß Daniel