Avatar billede code_freak Nybegynder
13. april 2003 - 16:39 Der er 8 kommentarer og
1 løsning

Win32 application

Jeg vil gerne lære lidt om Win32applications, så det kan sammenlignes med et VB program... fordi jeg ikke bruger VB er fordi jeg gerne vil lære mere om C++, og så mange functioner der skal bruges, til at lave et mindre spil, nogen der kender bøger eller hjemmesider om C++ Win32 Application/games, har læst IDG's C++ Grundbog (Sams Teach Yourself C++ in 24 Hours, Complete starter Kit, 3rd edition) af Jesse Liberty...
Så jeg vil gerne gå direkte til Win32, istedet for Dos, hvis altså ingen har en bedre idé?
Avatar billede arne_v Ekspert
13. april 2003 - 16:49 #1
En klassiker er jo:

ISBN            : 1-57231-995-X
Title            : Programming Windows
Author          : Charles Petzold
Publisher        : Microsoft
Year            : 1999
Pages            : 1479
Avatar billede arne_v Ekspert
13. april 2003 - 16:50 #2
Virkelig god bog som går igennem vigtige dele af Win32 API
med hovedvægt på rigtigt at forstå det.

Bemærk: dækker ikke MFC.
Avatar billede arne_v Ekspert
13. april 2003 - 16:52 #3
Programming Windows With MFC
by Jeff Prosise

siges at være meget god omkring MFC.
Avatar billede arne_v Ekspert
13. april 2003 - 16:53 #4
Der er masser af Win32 C++ på nettet.
Avatar billede arne_v Ekspert
13. april 2003 - 16:54 #5
Google puttede den her øverst:
  http://www.winprog.org/tutorial/
Avatar billede code_freak Nybegynder
13. april 2003 - 17:01 #6
okey lyder meget godt... har lige et spørgesmål, jeg vil gerne lige se hvordan C++ virker, og hvordan det kan bruge, og nu hvor jeg er RPG freak, vil jeg lave en D&D: Class calc, defor skal jeg lave nogen Input Forms, og da jeg bruger standart Win32 API fra Dev C++:
#include <windows.h>

/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)

{
    HWND hwnd;              /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                /* Catch double-clicks */
    wincl.cbSize = sizeof(WNDCLASSEX);

    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use light-gray as the background of the window */
    wincl.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);

    /* Register the window class, if fail quit the program */
    if(!RegisterClassEx(&wincl)) return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx(
          0,                  /* Extended possibilites for variation */
          szClassName,        /* Classname */
          "D&D: Class calculator",        /* Title Text */
          WS_OVERLAPPEDWINDOW, /* default window */
          CW_USEDEFAULT,      /* Windows decides the position */
          CW_USEDEFAULT,      /* where the window ends up on the screen */
          400,                /* The programs width */
          700,                /* and height in pixels */
          HWND_DESKTOP,        /* The window is a child-window to desktop */
          NULL,                /* No menu */
          hThisInstance,      /* Program Instance handler */
          NULL                /* No Window Creation data */
          );

    /* Make the window visible on the screen */
    ShowWindow(hwnd, nFunsterStil);
    /* Run the message loop. It will run until GetMessage( ) returns 0 */
    while(GetMessage(&messages, NULL, 0, 0))
    {
          /* Translate virtual-key messages into character messages */
          TranslateMessage(&messages);
          /* Send message to WindowProcedure */
          DispatchMessage(&messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage( ) gave */
    return messages.wParam;
}

/* This function is called by the Windows function DispatchMessage( ) */
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
          case WM_DESTROY:
          PostQuitMessage(0);        /* send a WM_QUIT to the message queue */
          break;
          default:                  /* for messages that we don't deal with */
          return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
}



hvordan laver jeg så standart form input... altså  Select-Bar, text-input, int-input, knap med action

nogen der kan give et eksempel på et virkende eksmpel?
Avatar billede soreno Praktikant
13. april 2003 - 17:56 #7
Det er altsammen beskrevet i den tutorial som Arne linker til.
Avatar billede arne_v Ekspert
27. april 2003 - 16:03 #8
Har du fundet det du skal bruge ?
Avatar billede code_freak Nybegynder
29. april 2003 - 18:59 #9
:)
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