---
title: "WIN 32 API Ruta"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/91785-win-32-api-ruta"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Napoleon"
published: "2003-12-03T21:44:02.000Z"
updated: "2003-12-08T16:16:27.000Z"
replies: 7
views: 370
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/91785-win-32-api-ruta"
---

# WIN 32 API Ruta

## #1 — Napoleon, 2003-12-03T21:44Z

Jag har gjort ett första försök att göra en windows ruta genom att använda win 32 api:t. Mitt problem är att rutan bara blinkar fram och sen genast försvinner. Borde vara nåt fel med min (väldigt standard) msg handler eller med min message loop, eller?

Så här ser i alla fall dessa två ut:

```
Messageloop:

while (GetMessage(&msg, NULL, 0, 0)) 
	{   
		TranslateMessage(&msg);        
		DispatchMessage(&msg);   
	}

Message Handler:

LRESULT CALLBACK MsgHandler(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
	return(DefWindowProc(hwnd, msg, wparam, lparam));
}
```

Tack på förhand!

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

## #2 — niko, 2003-12-04T07:50Z

Det verkar ju vara ganska "by the book" så det är svårt att se att fönstret skulle försvinna pga den koden.

Sätt en break-point tidigt i WinMain och steppa framåt så ser du antagligen att det smäller redan innan.

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

## #3 — Napoleon, 2003-12-05T10:29Z

Break-point?

Vad är en Break-point?

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

## #4 — PeW, 2003-12-05T13:13Z

En breakpoint sätts där man vill att programmet ska stanna upp när man kör debug. Då får man tillfälle att t.ex kolla variablers värden, stacken m.m..  men ofta kan det ju räcka med att man placerar ut lite brytpunkter strategiskt för att se hur långt in i programmet felet uppstår. Kolla i hjälpen på ditt IDE så bör det framgå hur du ska göra i just den miljön.

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

## #5 — Sang-drax, 2003-12-05T23:21Z

Man måste hantera WM_CREATE, dvs returnera noll för att fönstret skall skapas.

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

## #6 — niko, 2003-12-05T23:37Z

Sang-drax:

Han hanterar redan WM_CREATE via [DefWindowProc](http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/windowprocedures/windowprocedurereference/windowprocedurefunctions/defwindowproc.asp?frame=true).

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

## #7 — Sang-drax, 2003-12-07T16:31Z

Ja, det stämmer. Efter en kontroll ser jag att DefWindowProc returnerar 0 för WM_CREATE.

I övrigt ser jag inget fel med koden. En titt på koden som skapar fönstret skulle kanske inte skada.

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

## #8 — Napoleon, 2003-12-08T16:16Z

Genom att använda debuggern så vet jag nu alldeles säkert att rutan skapas. Har inte lyckats så bra med debuggern annars än, får läsa på litet för att se hur den funkar bättre.

Det är mycket kod (med kommentarerna iaf som skapar detta enkla fönster, därför föredrar jag att utelämna den.

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

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/91785-win-32-api-ruta
