Avatar billede duesjov Nybegynder
24. oktober 2008 - 13:20 Der er 14 kommentarer

messagebox i win32api

hey. er meget stille og roligt gået igang med at lære win32api

og første eksempel


#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
    MessageBox(NULL, "Goodbye, cruel world!", "Note", MB_OK);
    return 0;
}

laver jo bare en messagebox
men af en eller anden grund står der ikke det jeg skriver, men i stedet står der en række kinesiske tegn. både i boks titel og i selve boksen. nogen der ved hvorfor

MVH Morten Due
Avatar billede duesjov Nybegynder
24. oktober 2008 - 13:22 #1
og på min anden pc kommer der bare en bunke firkanter frem i stedet for teksten
Avatar billede arne_v Ekspert
24. oktober 2008 - 14:42 #2
Proev:

MessageBox(NULL, _T("Goodbye, cruel world!"), _T("Note"), MB_OK);
Avatar billede duesjov Nybegynder
24. oktober 2008 - 17:30 #3
hjalp ikke noget. gav bare en bunke fejl
Avatar billede arne_v Ekspert
24. oktober 2008 - 17:40 #4
Proev og tilfoej en:

#include <tchar.h>

i toppen.
Avatar billede bertelbrander Praktikant
24. oktober 2008 - 19:52 #5
Vi bør nok vide hvilken compiler du bruger.

Det bør virke som i dit eksempel, medmindre du har slået wide-chars til. Men så burde det ikke kunne compileres.
Avatar billede duesjov Nybegynder
25. oktober 2008 - 09:43 #6
visual studio 2008
Avatar billede bertelbrander Praktikant
25. oktober 2008 - 14:31 #7
Med Visual C++ Express:

File->New->Project
Win32 og Win32 Project, giv projektet et navn.
Next og Finish i de to næste boxe.

Den opretter en .cpp fil, du sletter indholdet og erstatter det med dit eget, som i det oprindelige indlæg.

Under Project->Properties, Configuration Properties, C++, PreCompiled Headers, vælger du "Not Using Precompiled Headers". I samme dialogbox, under General, Under "Character Set", Vælger du "Not Set".
Luk boxen med Ok

Nu skulle dit program gerne kunne bygge og køre, samt vise det korrekte.
Avatar billede duesjov Nybegynder
25. oktober 2008 - 15:09 #8
ahh. lækkert. det var det med character set der gjorde det. tak for hjælpen. giv et svar :-D
Avatar billede bertelbrander Praktikant
25. oktober 2008 - 16:55 #9
Jeg samler ikke på point.
Avatar billede arne_v Ekspert
25. oktober 2008 - 21:17 #10
_T er den rigtige måde at bruge strenge på i Win32 API.
Avatar billede bertelbrander Praktikant
25. oktober 2008 - 22:01 #11
Tja, hvis man forventer at ens program en gang skal bruges med unicode, så er det måske mest rigtigt at bruge _T. Men ellers er der ikke sket nogen større skade ved at springe det over.
Avatar billede arne_v Ekspert
25. oktober 2008 - 22:50 #12
Medmindre man hænger fast på Windows 9x, så vil man vel også gerne have Unicode support.

Hele ANSI/Unicode problematikken er helt central i Win32 API. Petzold har det som
kapitel 2 i hans bog.
Avatar billede duesjov Nybegynder
27. oktober 2008 - 08:09 #13
arne. vil du have pointene så? du har jo også hjulpet
Avatar billede arne_v Ekspert
28. oktober 2008 - 03:16 #14
Jeg samler, men jeg fornemmer ligesom at _T ikke trængte igennem.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester