Thread: i need help with directx

  1. #1
    Registered User
    Join Date
    Nov 2002
    Posts
    319

    i need help with directx

    right ive created a window and registered it
    now when i create the D3D device and set the Windowed to FALSE;
    it dosent set the screen to full , infact when i run the exe nothing happens

    Code:
    // directxwork.cpp : Defines the entry point for the application.
    //
    
    #include "stdafx.h"
    #include "resource.h"
    #include <d3d9.h>
    
    #define MAX_LOADSTRING 100
    
    // Global Variables:
    HINSTANCE hInst;								// current instance
    TCHAR szTitle[MAX_LOADSTRING];								// The title bar text
    TCHAR szWindowClass[MAX_LOADSTRING];								// The title bar text
    HWND hWnd; //main window handle
    MSG msg;
    HACCEL hAccelTable;
    // Foward declarations of functions included in this code module:
    
    
    VOID RESTIGER();
    LRESULT CALLBACK	WndProc(HWND, UINT, WPARAM, LPARAM);
    LRESULT CALLBACK	About(HWND, UINT, WPARAM, LPARAM);
    
    //link d3d9.lib 
    //Directx globals..
    IDirect3D9* g_pDirect3D = NULL;
    IDirect3DDevice9* g_pDirect3DDevice = NULL;
    D3DPRESENT_PARAMETERS D3DPresentParams;
    
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
     
    
        //create the window..
        WNDCLASSEX wcex;
        wcex.cbSize = sizeof(WNDCLASSEX); 
        wcex.style			= CS_HREDRAW | CS_VREDRAW;
    	wcex.lpfnWndProc	= (WNDPROC)WndProc;
    	wcex.cbClsExtra		= 0;
    	wcex.cbWndExtra		= 0;
    	wcex.hInstance		= hInstance;
    	wcex.hIcon			= LoadIcon(hInstance, (LPCTSTR)IDI_DIRECTXWORK);
    	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
    	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+14);
    	wcex.lpszMenuName	= (LPCSTR)IDC_DIRECTXWORK;
    	wcex.lpszClassName	= szWindowClass;
    	wcex.hIconSm		= LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);
        RegisterClassEx(&wcex); //register winddow
    	
        hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
          CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
    	
        hInst = hInstance;
    
    	ShowWindow(hWnd, SW_MAXIMIZE);
        UpdateWindow(hWnd);
    
       
    
    	// Initialize global strings
    	LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    	LoadString(hInstance, IDC_DIRECTXWORK, szWindowClass, MAX_LOADSTRING);
    
    
        
    	//Directx
    	g_pDirect3D = Direct3DCreate9(D3D_SDK_VERSION);
        if(g_pDirect3D == NULL) return E_FAIL;
       
    	HRESULT hResult = g_pDirect3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,hWnd,D3DCREATE_SOFTWARE_VERTEXPROCESSING,&D3DPresentParams,&g_pDirect3DDevice);
    	if(FAILED(hResult)) return E_FAIL;
        ZeroMemory(&D3DPresentParams, sizeof(D3DPRESENT_PARAMETERS));
    	D3DPresentParams.Windowed = FALSE;
        D3DPresentParams.BackBufferCount = 1;
    	D3DPresentParams.BackBufferWidth = 800;
    	D3DPresentParams.BackBufferHeight = 600;
    	D3DPresentParams.BackBufferFormat = D3DFMT_X8R8G8B8;
    	D3DPresentParams.SwapEffect = D3DSWAPEFFECT_DISCARD;
        D3DPresentParams.hDeviceWindow = hWnd;
    //need to finish this structure..
    
    
        hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_DIRECTXWORK);
    
    	// Main message loop:
    	while (GetMessage(&msg, NULL, 0, 0)) 
    	{
    		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
    		{
    			TranslateMessage(&msg);
    			DispatchMessage(&msg);
    		}
    	}
    
    	return msg.wParam;
    }
    
    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	int wmId, wmEvent;
    	PAINTSTRUCT ps;
    	HDC hdc;
    	TCHAR szHello[MAX_LOADSTRING];
    	LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);
    
    	switch (message) 
    	{
    		case WM_COMMAND:
    			wmId    = LOWORD(wParam); 
    			wmEvent = HIWORD(wParam); 
    			// Parse the menu selections:
    			switch (wmId)
    			{
    				case IDM_ABOUT:
    				   DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
    				   break;
    				case IDM_EXIT:
    				   DestroyWindow(hWnd);
    				   break;
    				default:
    				   return DefWindowProc(hWnd, message, wParam, lParam);
    			}
    			break;
    		case WM_PAINT:
    			hdc = BeginPaint(hWnd, &ps);
    			// TODO: Add any drawing code here...
    			RECT rt;
    			GetClientRect(hWnd, &rt);
    			DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
    			EndPaint(hWnd, &ps);
    			break;
    		case WM_DESTROY:
    			PostQuitMessage(0);
    			break;
    		default:
    			return DefWindowProc(hWnd, message, wParam, lParam);
       }
       return 0;
    }
    
    // Mesage handler for about box.
    LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	switch (message)
    	{
    		case WM_INITDIALOG:
    				return TRUE;
    
    		case WM_COMMAND:
    			if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
    			{
    				EndDialog(hDlg, LOWORD(wParam));
    				return TRUE;
    			}
    			break;
    	}
        return FALSE;
    }

  2. #2
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Set your back buffer format to:

    D3DFMT_UNKNOWN

    for Windowed Direct3D.

  3. #3
    Registered User
    Join Date
    Nov 2002
    Posts
    319
    the problem is the window just flash's and doesent stay

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Isometric Tile Engine using DirectX
    By Wraithan in forum Game Programming
    Replies: 3
    Last Post: 07-17-2006, 12:16 PM
  2. DirectSound header issues
    By dxfoo in forum C++ Programming
    Replies: 0
    Last Post: 03-19-2006, 07:16 PM
  3. DirectX - Starting Guide?
    By Zeusbwr in forum Game Programming
    Replies: 13
    Last Post: 11-25-2004, 12:49 AM
  4. DirectX 8 with Borland
    By Tommaso in forum Game Programming
    Replies: 11
    Last Post: 08-12-2003, 09:30 AM
  5. Directx SDK Documentation
    By Zoalord in forum Game Programming
    Replies: 4
    Last Post: 05-08-2003, 06:07 AM