Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

1

09.11.2005, 21:57

Programmierung mit Frames

Wo findet man gute Tutorials für Programmierung mit Fenstern?
Ich hab einen 'Resource editor' und eine gute C++ IDE, aber ich komm einfach nicht weiter ???

Mit freundlichen Grüßen,
WhiteMike

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

2

09.11.2005, 22:05

-.- Frames?

Es gibt keine Frames nur Fenster. Frames gibt es Videos und im Internet.

Mein Beitrag:
https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=4310


Google, Faq im Forum und Bücher

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

3

09.11.2005, 22:18

ok, ich hab gerade gemerkt, das es ja nicht mal im FAQ ein einfaches Fenster Beispiel gibt, obwohl das nun wirklich nicht gerade wenig gefragt wird, deswegen poste ich mal ein Beispiel und erlaube mir einen Doppelpost :angel:

Man darf natürlich KEINE KONSOLENANWENDUNG auswählen, sondern eine Win32 Anwendung, wenn man eein Projekt erstellt.
Wir wollen ja kein klobiges Dos Fenster haben, sondern unser eigenes machen ^^.


C-/C++-Quelltext

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <windows.h>

// Weitere Resourcen Definition ffür unseren Button ^^

#define ID_BUTTON1 2001

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);

// Hauptfunktion

//-----------------------------------------------------

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
            LPSTR lpCommandLine, int iCmdShow)
{
   
    HWND        hWnd;
    MSG            msg;
    WNDCLASS    wndclass;

    // Fensterklasse erstellen, dazu UniCode benutzen */


    wndclass.style =            CS_VREDRAW | CS_HREDRAW;            // Style

    wndclass.lpszMenuName =        NULL;                                // Kein Menü

    wndclass.lpszClassName =    TEXT("Testprogramm");                // ProzessName

    wndclass.cbClsExtra =        0;                                    // Keine Extras

    wndclass.cbWndExtra =        0;
    wndclass.hbrBackground =    (HBRUSH)GetStockObject(LTGRAY_BRUSH);// Grauer Hintergrund

    wndclass.hCursor =            LoadCursor(hInstance, IDC_ARROW);    // Standart Cursor

    wndclass.hIcon =            NULL;                                // Kein Icon

    wndclass.hInstance =        hInstance;                            // Die Instanz

    wndclass.lpfnWndProc =        WndProc;                            // An diese Funktion werden unsere

                                                                    // Nachrichten geschickt

   
    // Das ganze nun Registrieren

    if(!RegisterClass(&wndclass))
    {
        // Die einzig vernünftige Fehlermgl. kann nur UniCode sein

        MessageBox(NULL, "Bitte benutzen Sie eine Windows Version ab NT.", "Fatal Error", MB_OK);
    }

    // Nun erstellen wir ein Fenster, dort ist im Moment nichts weiter als ein Rechteck

    // mit Symbolleiste. Das ist im Moment aber nur eine INTERE Datenstruktur

    hWnd = CreateWindow(TEXT("Testprogramm"),
                        TEXT("TestProgramm"),
                        WS_OVERLAPPEDWINDOW,
                        CW_USEDEFAULT, CW_USEDEFAULT,
                        CW_USEDEFAULT, CW_USEDEFAULT,
                        NULL,
                        NULL,
                        hInstance,
                        NULL);

    // die wir hiermit anzeigen ;)

    ShowWindow(hWnd, iCmdShow);

    // Diese Nachricht schickt u.a. eine WM_PAINT Nachricht. Damit werden Elemente,

    // die wir vllt. noch in WM_PAINT benutzen gemalt.

    UpdateWindow(hWnd);

    // die Nachrichtenwarteschlange

    while(GetMessage(&msg, NULL, 0, 0))
    {
        // Dient zur Umsetzung von einige Tastaturbefehlen, nicht

        // unbedingt notwenig jetzt

        TranslateMessage(&msg);

        // Verteilung der Nachrichten

        DispatchMessage(&msg);
    }
}

// Windows Prozedur

//-----------------------------------------------------------------------

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND hButton;
    static HINSTANCE hInstance;
   
    switch(message)
    {
    case WM_CREATE:
        // Die Instanz ermittel, die brauchen wir, so können

        // wir globale Variablen sparen

        hInstance = ((LPCREATESTRUCT)lParam)->hInstance;

        // Eine Schaltfläche erstellen

        hButton = CreateWindow( TEXT("button"),
                                TEXT("Eine sehr schöne Schaltfläche"),
                                BS_FLAT | WS_CHILD | WS_VISIBLE,
                                10, 10,
                                250, 23,
                                hWnd,
                                (HMENU)ID_BUTTON1,
                                hInstance,
                                NULL);
        break;
    case WM_CLOSE:
        // Wir wollen das Fenster schließen

        // Dazu schicken wir eine Nachricht

        SendMessage(hWnd, WM_DESTROY, 0, 0);
        break;
    case WM_DESTROY:
        // Programm beenden

        PostQuitMessage(0);
        break;
    };

    // Bearbeitung aller Nachrichten um die wir uns nicht kümmern wollen

    return DefWindowProc(hWnd, message, wParam, lParam);
}

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

4

09.11.2005, 22:22

Da brauch ich erst mal ne weile, aber keiner kennt wohl bücher oder irgendwas im internet dazu, oder!?

Mit freundlichen Grüßen,
WhiteMike

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

5

09.11.2005, 22:25

schau es dir in Ruhe an. Wenn du Fragen hast kannst du diese hier stellen oder mich auch per ICQ belästigen

kurz:
https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=4265
mein Beitrag

Bücher:
Windows Programmierung von Petzold.

"DAS BUCH" schlechthin. Die Windows Bibel.

Internet:
Google - such einfach nach "Fenster erstellen" oder sowas.

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

6

09.11.2005, 22:27

Danke - echt nett von dir ;)

Mit freundlichen Grüßen,
WhiteMike

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

7

10.11.2005, 00:07

Petzold is echt gut, aber da wird nur WinApi behandelt, keine MFC... nicht, dass du nen Fehlkauf machst.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

10.11.2005, 08:03

Ganz ehrlich, was kann man mit MFC was man mit Winapi nicht kann?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

9

10.11.2005, 08:47

Petzold ist nie ein Fehlkauf -.- wenn man es WIRKLICH lernen will

Sicaine

unregistriert

10

10.11.2005, 10:21

Zitat von »"koschka"«

-.- Frames?

Es gibt keine Frames nur Fenster. Frames gibt es Videos und im Internet.

Mein Beitrag:
https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=4310


Google, Faq im Forum und Bücher


Noch nie in Java programmiert wa?

JFrame isn Rahmen ein Fensterrahmen :P

Werbeanzeige