---
title: "Mouse X, Y ?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/27995-mouse-x-y"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "M@rtin"
published: "2000-09-27T19:40:00.000Z"
updated: "2000-10-07T08:34:00.000Z"
replies: 10
views: 528
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/27995-mouse-x-y"
---

# Mouse X, Y ?

## #1 — M@rtin, 2000-09-27T19:40Z

Hur gör man för att kolla musens x och y position i tc++? Vilka include filer etc. behövs?

//M@rtin

Permalänk: https://www.webforum.nu/p/27995

## #2 — Swey, 2000-09-27T21:29Z

I vilken plattform?
Med Windows API använder du denna kod för att få fram musens skärmposition.
\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>POINT p;
GetCursorPos(&p);
Eftersom musens fönsterposition skickas till det aktuella fönstret så behöver man sällan hämta positionen.

Include-filer? Det är gamla vanliga "windows.h" som gäller.

Permalänk: https://www.webforum.nu/p/400872

## #3 — WiNNe, 2000-09-28T06:56Z

Om man använder tc++ är det troligtsvis Dos man kör.
Jag tror man använde nånting typ GetMousePos, kolla lite i hjälpen. Det var väldigt länge sedan man programmerade i Turbo C, typ 10 år sedan... :)

Permalänk: https://www.webforum.nu/p/400873

## #4 — Swey, 2000-09-28T11:21Z

DOS? Då är det nog dax att byta plattform. DOS är dött.

Permalänk: https://www.webforum.nu/p/400874

## #5 — M@rtin, 2000-09-28T18:55Z

Hurvida dos e dött eller inte vet inte jag. Men det e tc+ vi proggar i skolan o det är det jag ska kunna så jag väntar med windows tills senare...

Ska försöka söka lite..

//M@rtin

Permalänk: https://www.webforum.nu/p/400875

## #6 — WiNNe, 2000-09-29T07:54Z

Dos kanske är gammalt men det är definitift inte dött. Du skulle bli förvånad om du visste hur många företag som fortfarande sitter och kör på sina Dos system, särskillt företag med få anställda, typ Bilmeckare, Bokningssystem på små hotell osv...

Här är lite urklipp ur min hex-editor jag skrev i TC för dos ett bar tag sedan. Hela källkoden finns att ladda ner från [http://www.hbg.lth.se/\~e94jwi/whe/index.htm](http://www.hbg.lth.se/~e94jwi/whe/index.htm) 

\*Header filen\*
\*\*\*\*\*\*\*\*\*\*\*\*\*\*
// Mouse routines ////////////////////////////////////////////////////////////
void mouse_init(void) { \_AX=0; geninterrupt(0x33); \_AX=7; \_CX=8; \_DX=631; geninterrupt(0x33); \_AX=8; \_CX=16; \_DX=191; geninterrupt(0x33); \_AX=1; geninterrupt(0x33); }
void mouse_show(void) { \_AX=1; geninterrupt(0x33); }
void mouse_hide(void) { \_AX=2; geninterrupt(0x33); }

\* C filen \*
\*\*\*\*\*\*\*\*\*\*\*
int 	      mousex,        // Mouse X koordinate (1-80)
	      mousey,        // Mouse Y koordinate (1-25)

int check_mouse(void)
{
 \_AX=3;
 geninterrupt(0x33);
 if(\_BX==1) { mousex=\_CX/8+1; mousey=\_DX/8+1; /\* gotoxy(1,1); cprintf("%00.2d,%00.2d",mousex,mousey); \*/
	      if(mousex==1 && mousey==1) { textattr(7); quit(); }
   /\* F1 \*/   if(mousex\>=3 && mousex\<=9 && mousey==22) help();
   /\* F2 \*/   if(mousex\>=12 && mousex\<=18 && mousey==22 && save==1) save_sector();
   /\* F3 \*/   if(mousex\>=21 && mousex\<=27 && mousey==22) { if (save==1) save_sector(); new_file(); open_file(); fseek(f,0,SEEK_SET); fread(&sector,256,1,f); filepos=0; xx=0; yy=0; currentfile(); printscreen(); markor_on(); key_control(); }
 return 0;
}

Aktivera musen med 
mouse_Init(); // ska bara göras en gång
mouse_Show(); // visar pekaren

Stäng av pekaren med
mouse_Hide(); // Döljer pekaren

Kontrollera musens position med ett anrop till
check_mouse();

Permalänk: https://www.webforum.nu/p/400876

## #7 — Muzzafarath, 2000-09-29T08:57Z

> DOS? Då är det nog dax att byta plattform. DOS är dött.

Kanske är dött, men den är bra för att lära sig (skulle du verkligen rekommendera att en nybörjare ger sig på Windows programmering direkt?).

Permalänk: https://www.webforum.nu/p/400877

## #8 — M@rtin, 2000-09-30T11:09Z

Tack WiNNe!

Ska testa o se så att det funkar :)

//M@rtin

Permalänk: https://www.webforum.nu/p/400878

## #9 — Swey, 2000-09-30T12:53Z

Swey förklarar sig.

Vill man inte skapa grafiska Windows-program kan man göra konsol-program. I konsol-program kan man använda både Windows-funktioner och konsol-funktioner. Att skriva program för DOS är ingen bra idé eftersom DOS inte stöds av Windows 2000 och Windows ME som är de aktuella operativsystemen idag. Därför är DOS dödförklarat. :)

Permalänk: https://www.webforum.nu/p/400879

## #10 — WiNNe, 2000-10-02T10:34Z

Tror nog att de funktionerna för mus hantering hanteras av dos-emulatorn i Win2000, ska testa min Hex-Editor i Win2000 och ME ikväll. I'll keep you posted...

Permalänk: https://www.webforum.nu/p/400880

## #11 — WiNNe, 2000-10-07T08:34Z

Dos-emulatorn i Win2000 klarar fint av de anrop som krävs för att aktivera musen i Dos-läge... Antar att DOS inte är så dött som vissa tror... :)

Permalänk: https://www.webforum.nu/p/400881

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/27995-mouse-x-y
