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

1

30.03.2010, 16:15

fenster verschieben

wie verschiebe ich in c++ ein windows dialogfenster?
brauche code

mfg

3

30.03.2010, 16:29

kannst du mir den code bitte auch erklären?
am besten so schreiben wie man es ins programm einbringen würde

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

4

30.03.2010, 17:27

Beispiel:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
SetWindowPos(
  fenster_handle,
  HWND_TOP, // das Fenster wird über allen anderen Fenstern angeordnet
  x_position,  // Position
  y_position,  // und
  0,            // Größe
  0,            // des Fensters (in Pixeln; 0/0 = links oben)
  SWP_NOSIZE // die Größe nicht ändern; die beiden vorherigen Parameter werden ignoriert
);


Das hättest du durch des ersten links lesen innerhalb von maximal 2 Minuten selbst herausgefunden (außer wenn du kein Englisch kannst)... :wacko:
Signaturen werden überbewertet

BlazeX

Alter Hase

Beiträge: 478

Wohnort: DD

Beruf: Maschinenbau-Student

  • Private Nachricht senden

5

30.03.2010, 18:25

Bei einem Dialogfenster solltest du aber vorher die Größe mit GetWindowRect abfragen, damit das Dialogfenster hinterher nicht kleiner oder größer ist. ;)

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

6

30.03.2010, 19:05

Bei einem Dialogfenster solltest du aber vorher die Größe mit GetWindowRect abfragen, damit das Dialogfenster hinterher nicht kleiner oder größer ist. ;)

SWP_NOSIZE (siehe Beispiel) ftw...
Signaturen werden überbewertet

7

30.03.2010, 20:02

wenn ichd as so mache:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
SetWindowPos(
  "Information",
  HWND_TOP, // das Fenster wird über allen anderen Fenstern angeordnet
 x,  // Position
 y,  // und
  0,            // Größe
  0,            // des Fensters (in Pixeln; 0/0 = links oben)
  SWP_NOSIZE // die Größe nicht ändern; die beiden vorherigen Parameter werden ignoriert
);



kommt dieser fehler raus:

...\main.cpp|46|error: cannot convert `const char*' to `HWND__*' for argument `1' to `BOOL SetWindowPos(HWND__*, HWND__*, int, int, int, int, UINT)'|

C--

Alter Hase

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

8

30.03.2010, 20:08

Du musst ja auch als ersten Parameter n Fenster-Handle angeben, was du z.B in deiner WndProc als ersten Parameter bekomms -.-
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

9

30.03.2010, 20:10

C-/C++-Quelltext

1
2
3
4
5
6
7
8
    // Fenster erstellen
    window = CreateWindowEx(NULL, "Class", "Fenstertitel", WS_SYSMENU, 0, 0, breite, hoehe, NULL, NULL, hInstance, NULL);

    // Fenster zentral auf dem Screen positionieren
    const long screenWidth = GetSystemMetrics(SM_CXSCREEN);
    const long screenHeight = GetSystemMetrics(SM_CYSCREEN);

    SetWindowPos(window, 0, (screenWidth / 4), (screenHeight / 4), breite, hoehe, SWP_FRAMECHANGED);


So, hoffe damit sollte alles klar sein Oo
Ich weiß es dauert viel zu lange, aber ich habe echt nur Pech. Habe mir heute mal eben im Zeigefinger Nerv und Sehne durchtrennt. Dennoch kann es nicht mehr all zu lange dauern mit dem Tutorial. Außerdem kamen auch noch Prüfungen und dergleichen dazwischen.
Klatscht die Hopper an die Wand, Deutschland ist ein Raverland! :D

10

30.03.2010, 20:37

C-/C++-Quelltext

1
2
3
4
5
6
7
8
    // Fenster erstellen
    window = CreateWindowEx(NULL, "Class", "Fenstertitel", WS_SYSMENU, 0, 0, breite, hoehe, NULL, NULL, hInstance, NULL);

    // Fenster zentral auf dem Screen positionieren
    const long screenWidth = GetSystemMetrics(SM_CXSCREEN);
    const long screenHeight = GetSystemMetrics(SM_CYSCREEN);

    SetWindowPos(window, 0, (screenWidth / 4), (screenHeight / 4), breite, hoehe, SWP_FRAMECHANGED);


So, hoffe damit sollte alles klar sein Oo

naja ich möchte gerne ein dialogfenster verschieben:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
HINSTANCE hInst;


BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{

MessageBox(hwndDlg, "JA oder NEIN?", "Achtung",MB_OK);
    return FALSE;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
    hInst = hInstance;
    HWND hwnd;
    hwnd = FindWindow( "Information",NULL);
    return DialogBox(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, DialogProc);

}

Werbeanzeige