Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[C++ / WIN32] Kan DS_MODALFRAME niet vinden.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hello mede tweakers,

Ik ben nu sinds een weekje bezig met C++ om dmv het WIN32 API windows te schrijven. Nu lukt het me wel goed, maar nu ik begin met Dialogs krijg ik een rare foutmelding.

Zodra ik de volgende resources in mijn .rc file zet en probeer te compilen:
C++:
1
2
3
4
5
6
7
8
9
10
11
IDD_ABOUT DIALOG DISCARDABLE  0, 0, 239, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "My About Box"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "&OK",IDOK,174,18,50,14
    PUSHBUTTON      "&Cancel",IDCANCEL,174,35,50,14
    GROUPBOX        "About this program...",IDC_STATIC,7,7,225,52
    CTEXT           "An example program showing how to use Dialog Boxes\r\n\r\nby theForger",
                    IDC_STATIC,16,18,144,33
END


Dan krijg ik de volgende fout:

code:
1
error RC2104 : undefined keyword or key name: DS_MODALFRAME


Via google vond ik eigelijk alleen de tip om "afxres.h" te includen, maar deze kon hij niet vinden. :S

Zou iemand mij kunnen vertellen wat ik fout doe? Alvast bedankt! :)

.

Ik gebruik overgens Visual C++ Express met de SDK. En een empty project -> .cpp file.

  • The End
  • Registratie: Maart 2000
  • Laatst online: 14:40

The End

!Beginning

Bij mij staat hij iig niet in de afxres.h file. (Dit is toch ook een MFC file?) Ik heb hem wel gevonden in de winuser.h file.

Verwijderd

Topicstarter
Bedankt The End! Nu vind hij DS_MODALFRAME :). Echter krijg ik nu de fout dat ik IDC_STATIC niet kan vinden. :S

Volgens mij heb ik een verkeerd project, welk project type raden jullie aan voor het zelf makan van windows in VC++ Express?

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 30-11 00:17
Heb je niet een of andere XXX_LEAN_AND_MEAN define aan staan zodat de helft van de windows headers niet wordt geinclude?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Nee zover ik weet niet, ik heb enkel die resources, en de volgende code:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <windows.h>

const char g_szClassName[] = "myWindowClass";

// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
        break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    MSG Msg;

    //Step 1: Registering the Window Class
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.style         = 0;
    wc.lpfnWndProc   = WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hInstance;
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = g_szClassName;
    wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);

    if(!RegisterClassEx(&wc))
    {
        MessageBox(NULL, "Window Registration Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    // Step 2: Creating the Window
    hwnd = CreateWindowEx(
        WS_EX_CLIENTEDGE,
        g_szClassName,
        "The title of my window",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
        NULL, NULL, hInstance, NULL);

    if(hwnd == NULL)
    {
        MessageBox(NULL, "Window Creation Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    // Step 3: The Message Loop
    while(GetMessage(&Msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
    return Msg.wParam;
}


Wat voor een project zouden jullie gebruiken? Een project beslist toch ook deel van de soort resources die je kan gebruiken?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:38

.oisyn

Moderator Devschuur®

Demotivational Speaker

Nee.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
Bedankt voor je inzichtvolle antwoord! :)

Topic kan op slot, in DevC++ de resources met #include <windows.h> compiled perfect! :)

Het probleem was IDC_STATIC, dit zou -1 moeten zijn (ID). Maar als dat deel van een dialog niet aangestuurd hoeft te worden heeft het geen ID nodig. En daarom geef je die dan een -1. Echter kon hij IDC_STATIC niet vinden dus heb ik die zelf maar aangemaakt. :)

[ Voor 34% gewijzigd door Verwijderd op 28-07-2007 12:27 ]

Pagina: 1