Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

1

17.06.2006, 21:16

WinApi - Klicknachricht

Die Nachricht für einen Linksdoppelklick ist doch WM_LBUTTONDBLCLK oder? Wenn ja, warum wird dann unten stehender Code nicht richtig ausgeführt? Wenn nein welche dann? Und gibt es auch eine für einfache Klicks (habe keine gefunden)?

Bitte mal kurz überfliegen

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <windows.h>

//###############################################################


LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

const char szAppName[] = "WM_MOUSE";

//###############################################################


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 
                   PSTR szCmdLine, int iCmdShow)
{
    HWND       hWnd;
    MSG        msg;
    WNDCLASS   wc;
    wc.style         =  CS_HREDRAW | CS_VREDRAW  ;
    wc.lpfnWndProc   =  WndProc;
    wc.cbClsExtra    =  0;
    wc.cbWndExtra    =  0;
    wc.hInstance     =  hInstance;
    wc.hCursor       =  LoadCursor(NULL,IDC_ARROW);
    wc.hIcon         =  LoadIcon(NULL,IDI_APPLICATION);
    wc.hbrBackground =  (HBRUSH)GetStockObject(WHITE_BRUSH);
    wc.lpszClassName =  szAppName;
    wc.lpszMenuName  =  NULL;

    RegisterClass(&wc);

    hWnd = CreateWindow(szAppName,
                        szAppName,
                        WS_OVERLAPPEDWINDOW,
                        250,          
                        150,          
                        600,          
                        500,          
                        NULL,
                        NULL,
                        hInstance,
                        NULL);

    ShowWindow(hWnd, iCmdShow);
    UpdateWindow(hWnd);
   
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}

//###############################################################


LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
        case WM_DESTROY:
        {
            PostQuitMessage(0);
            return 0;
        }
        case WM_CHAR:

        {
            switch(wParam)
            {
            case 27:
                PostQuitMessage(0);
                return 0;
            }break;
        }
        case WM_LBUTTONDBLCLK:
        {
            RECT    rc;
            HDC hDC = GetDC(hWnd);
            char text[] = "Mausklick";

            rc.bottom   = 300;
            rc.left     = 20;
            rc.right    = 150;
            rc.top      = 50;

            DrawText(hDC,text,9,&rc,DT_CENTER);
            
            return 0;
        }break;
    }

    return DefWindowProc(hWnd, message, wParam, lParam);
}


mfg spacegaier

2

17.06.2006, 21:43

C-/C++-Quelltext

1
wc.style = CS_HREDRAW | CS_VREDRAW  | CS_DBLCLKS ; 


WM_LBUTTONDOWN
WM_LBUTTONUP

Und wenn dir die Wartezeit auf eine Antwort hier im Forum mal zu lang wird :arrow: http://msdn.microsoft.com/library/
Always remember to keep yourself alive

spacegaier

Alter Hase

  • »spacegaier« ist der Autor dieses Themas

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

3

17.06.2006, 21:47

Danke. Jetzt funzts.

Werbeanzeige