 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Faller Junior JLI'ler
Alter: 37 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
Verfasst am: 01.03.2007, 19:24 Titel: DIalog bauen |
|
|
ich spiele gerade mit dialogen rum und will mir eigentlich nur mal einfach ein simples ausgeben um das später weiter zu bauen so das problem ist das der zwar startet aber nix anzeigt warum auch immer hab schon werschiedene Sachen ausprobiert blos ein vernünftiges Tutorial zu Dialogen hab ich noch nicht gefunden.
hier ist mal der code
CPP: | #include <windows.h>
#include "resource.h"
#pragma comment(lib, "comctl32.lib")
#include <Commctrl.h>
LRESULT CALLBACK DlgProc(HWND hWnd, UINT uiMessage, UINT uiParamW, long lParamL);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{
InitCommonControls();
// Register window
WNDCLASSEX tWndClassEx;
tWndClassEx.cbSize = sizeof(WNDCLASSEX);
tWndClassEx.style = CS_HREDRAW | CS_VREDRAW;
tWndClassEx.lpfnWndProc = (WNDPROC)DlgProc;
tWndClassEx.cbClsExtra = 0;
tWndClassEx.cbWndExtra = DLGWINDOWEXTRA;
tWndClassEx.hInstance = hInstance;
tWndClassEx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
tWndClassEx.hCursor = LoadCursor(NULL, IDC_ARROW);
tWndClassEx.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
tWndClassEx.lpszMenuName = NULL;
tWndClassEx.lpszClassName = "DLGCLASS";
tWndClassEx.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if (!RegisterClassEx(&tWndClassEx)) return 0;
// Show dialog
HWND hDialog = CreateDialog(hInstance, "IDD_DIALOG2", NULL, NULL);
MSG tMessage;
while (GetMessage(&tMessage, NULL, NULL, NULL))
{
TranslateMessage(&tMessage);
DispatchMessage(&tMessage);
}
return 1;
}
LRESULT CALLBACK DlgProc(HWND hWnd, UINT uiMessage, UINT uiParamW, long lParamL)
{
// Check messages
switch (uiMessage)
{
case WM_COMMAND:
{
switch (LOWORD(uiParamW))
{
case IDB_OK:
{
//if (!GetDlgItemText(hwndDlg, ID_ITEMNAME, szItemName, 80)) *szItemName=0;
//EndDialog(hWnd, uiParamW);
return 1;
}
case IDB_CANCEL:
{
//EndDialog(hWnd, uiParamW);
return 1;
}
}
}
case WM_DESTROY:
{
PostQuitMessage(NULL);
return 1;
}
}
return DefWindowProc(hWnd,uiMessage, uiParamW, lParamL);
}
|
Edit(Kampfhund): Bitte Codeausschnitte mit cpp-Tags auszeichnen. _________________ versuche alles nur wann und wie ist die frage |
|
Nach oben |
|
 |
Deviloper Junior JLI'ler
Anmeldedatum: 31.05.2006 Beiträge: 77
Medaillen: Keine
|
Verfasst am: 01.03.2007, 19:30 Titel: |
|
|
CPP: | LRESULT CALLBACK DlgProc(HWND hWnd, UINT uiMessage, UINT uiParamW, long lParamL);
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{
InitCommonControls();
// Register window
WNDCLASSEX tWndClassEx;
tWndClassEx.cbSize = sizeof(WNDCLASSEX);
tWndClassEx.style = CS_HREDRAW | CS_VREDRAW;
tWndClassEx.lpfnWndProc = (WNDPROC)DlgProc;
tWndClassEx.cbClsExtra = 0;
tWndClassEx.cbWndExtra = DLGWINDOWEXTRA;
tWndClassEx.hInstance = hInstance;
tWndClassEx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
tWndClassEx.hCursor = LoadCursor(NULL, IDC_ARROW);
tWndClassEx.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
tWndClassEx.lpszMenuName = NULL;
tWndClassEx.lpszClassName = "DLGCLASS";
tWndClassEx.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if (!RegisterClassEx(&tWndClassEx)) return 0;
// Show dialog
HWND hDialog = CreateDialog(hInstance, "IDD_DIALOG2", NULL, NULL);
MSG tMessage;
while (GetMessage(&tMessage, NULL, NULL, NULL))
{
TranslateMessage(&tMessage);
DispatchMessage(&tMessage);
}
return 1;
} | ... mach da mal folgendes draus
CPP: | INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uiMessage, UINT uiParamW, long lParamL); // INT_PTR nicht LRESULT!!!
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
{
InitCommonControls();
// Show dialog
HWND hDialog = CreateDialog(hInstance, MAKEINTRESOURCE("IDD_DIALOG2"), NULL, DlgProc); // Musst die korrekten Parameter angeben!!!
return 0;
} | usw ... |
|
Nach oben |
|
 |
Faller Junior JLI'ler
Alter: 37 Anmeldedatum: 30.11.2006 Beiträge: 88 Wohnort: Dresden Medaillen: Keine
|
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|