Avatar billede quaid Nybegynder
26. februar 2002 - 08:11 Der er 12 kommentarer og
1 løsning

Et lille kode eksempel

Har lige kastet mig over C++.
Bogen jeg sidder med indeholder ingen grafik eksempler.
Er der en der har lidt kildekode med et lille vindue og evt nogle textFields så jeg lige kan se lidt om hvordan det ser ud i dette sprog.
QD::
Avatar billede jpk Nybegynder
26. februar 2002 - 08:31 #1
Hvilket udviklingsmiljø bruger du?
Avatar billede quaid Nybegynder
26. februar 2002 - 08:35 #2
C++ builder 5
QD::
Avatar billede jpk Nybegynder
26. februar 2002 - 08:42 #3
Måske dette kan bruges?


#include "stdafx.h"

HINSTANCE hInst;                               
#define IDC_BUTTON 100

LRESULT CALLBACK    WndProc1(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK    WndProc2(HWND, UINT, WPARAM, LPARAM);

char *szTitle = "Test", *szMsgClass1 = "msgClass1", *szMsgClass2 = "msgClass2";

int APIENTRY WinMain(HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR    lpCmdLine,
                    int      nCmdShow)
{

    MSG msg;
    WNDCLASSEX wcex;
    HWND hWnd;

    wcex.cbSize = sizeof(WNDCLASSEX);
    wcex.style            = CS_HREDRAW | CS_VREDRAW;
    wcex.cbClsExtra        = 0;
    wcex.cbWndExtra        = 0;
    wcex.hInstance        = hInstance;
    wcex.hIcon            = NULL;
    wcex.hCursor        = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground    = (HBRUSH)COLOR_WINDOW;
    wcex.lpszMenuName    = NULL;
    wcex.hIconSm        = NULL;

    wcex.lpfnWndProc    = (WNDPROC)WndProc1;
    wcex.lpszClassName    = szMsgClass1;
    RegisterClassEx(&wcex);

    wcex.lpfnWndProc    = (WNDPROC)WndProc2;
    wcex.lpszClassName    = szMsgClass2;
    RegisterClassEx(&wcex);
   
    hInst = hInstance;

    hWnd = CreateWindow(szMsgClass1, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);

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

    return msg.wParam;
}


LRESULT CALLBACK WndProc1(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    HWND hWnd2;
    static HWND hButton;

    switch (message)
    {
        case WM_CREATE:
            hButton = CreateWindow("BUTTON", "Click me!", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 5, 5, 100, 20, hWnd, (HMENU)IDC_BUTTON, hInst, NULL);           
            break;

        case WM_COMMAND:

            switch (LOWORD(wParam))
            {
                case IDC_BUTTON:
                    hWnd2 = CreateWindow(szMsgClass2, "Vindue nr 2", WS_CHILD | WS_VISIBLE | WS_SYSMENU | WS_CAPTION,
                    30,30, 200, 200, hWnd, NULL, hInst, NULL);
                  break;
                default:
                  return DefWindowProc(hWnd, message, wParam, lParam);
            }
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
  }
  return 0;
}

LRESULT CALLBACK WndProc2(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {   
        case WM_DESTROY:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
  }
  return 0;
}
Avatar billede quaid Nybegynder
26. februar 2002 - 08:51 #4
Den kendre ikke headerfilen ??
Den burde vel ligge i standard biblioteket ??
QD::
Avatar billede jpk Nybegynder
26. februar 2002 - 08:53 #5
ja, prøv med:

#include <stdafx.h>
Avatar billede jpk Nybegynder
26. februar 2002 - 08:53 #6
Vrøvl, hvis du bruger Builder, skal du bare fjerne linien...
Avatar billede quaid Nybegynder
26. februar 2002 - 09:01 #7
Nej jeg får bare syntax error i lange baner.
Det er måske ikke gemt rigtigt ??
Jeg har kun programmeret Java med Ultra Edit, men denne editor ser meget smart ud, og let at lave grafik i.
Skal filen gemmes et bestemt sted?
QD::
Avatar billede jpk Nybegynder
26. februar 2002 - 09:17 #8
På siden:
http://codecentral.borland.com/codecentral/ccweb.exe/home
kan du finde kode delt op efter kategori
Avatar billede bone_head Nybegynder
26. februar 2002 - 10:53 #9
Kode eksemplet fra JPK er taget fra M$ Visual C og kan ikke umiddelbart kompileres i Builderen. Jeg mægtigt gerne smække et lille Builder projekt sammen og sende det til dig når jeg kommer jeg hjem fra arbejde, hvis det har interesse?
Avatar billede quaid Nybegynder
26. februar 2002 - 12:35 #10
Ja det lyder meget spændende. Gerne et lille eksempel med et par knapper og lidt logik inde bagved.
På forhånd tak.
QD::
Avatar billede bone_head Nybegynder
27. februar 2002 - 08:26 #11
Har du en email, eller et andet sted jeg kan lægge eksemplet? Men bortset fra det har jeg et lille eksempelt klar.
Avatar billede quaid Nybegynder
27. februar 2002 - 19:38 #12
Jep!!  kvu00108@edu.bornesko.dk
QD::
Avatar billede quaid Nybegynder
28. februar 2002 - 09:27 #13
Så har jeg noget at fuske med.
Tak. QD::
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