Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » ReadConsoleInput

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.03.2006, 00:57 Uhr
Antialc



Hi

Ich will mit dem Befehl ReadConsoleInput() den Konsolenbuffer auslesen um damit zu erkenn ob die Maus an einer bestimmten Stelle gedrückt wurde. Das ganze klappt soweit ganz gut. Das Prob is nur, dass des in nem extra thread läuft. Und in der main habe ich ein getlline() paralell laufe.
Ich hab zwar keine Ahnung warum aber sobald das getline kommt, kann ich nicht mehr auf den ir.Event.MouseEvent.dwButtonState zufreifen. Er gibt mir dann nur irgendwelche Zahlenkombinationen aus.
Ich denke es liegt daran, dass getline irgendwie den buffer blockiert oder so. Ka wie die Befehle und Stream genau ablaufen.

Wär auf jeden Fall cool wenn Jemand ne Lösung wüsste wie ich trotz getline (oder mit einer Alternative) weiter auf ir.Event.MouseEvent.dwButtonState zugreifen kann.


C++:
DWORD count;
    while(running())
    {
        //PeekConsoleInput(ihandle, &ir, 1, &count);
        //FlushConsoleInputBuffer(ihandle);
        ReadConsoleInput(ihandle, &ir, 1, &count);
        //FlushConsoleInputBuffer(ihandle);

        GetWindowRect(conwnd, &conrect);
        GetCursorPos(&mousepos);

        switch(ir.EventType)
        {
        case MOUSE_EVENT:
            if(ir.Event.MouseEvent.dwButtonState & FROM_LEFT_1ST_BUTTON_PRESSED &&
                ((mousepos.x-conrect.left > 565) && (mousepos.x-conrect.left < 595))&&
                ((mousepos.y-conrect.top > 25) && (mousepos.y-conrect.top < 35)))
            {
                //std::cout << "Left mousebutton pressed. ";
                MessageBox(NULL, "lol", "lol", MB_OK);
                
            }
            break;
        }

        Sleep(500);
    }


--
Microsoft Visual C++.NET Version 7
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.03.2006, 19:25 Uhr
Oliver
S2-Pixelgeneral


Wozu fragt man in einer Konsolenanwendung die Maus ab?
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.03.2006, 11:36 Uhr
proggaa



@threadstarter:
ich schätze du möchtest in dein programm eine mausfunktion einbauen, richtig??
dann mach dein programm lieber mit windows-programmierung, da geht das ganze viel einfacher.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: