• Welcome to Valhalla Legends Archive.
 

Problem: Loading a winapi window from main class then a separate class

Started by JJBot, July 23, 2006, 11:25 PM

Previous topic - Next topic

JJBot

Hello,

After figuring out how to add a WndProc to a seperate class and handle a window I've come across a problem:

In my main.cpp file I load a window with classname "PokerMain" and then create a class of type CardTable. When CardTable is initialized it is supposed to load a window of classname "PokerTable" but does not appear - that is, unless I change the window so that it's parent is HWND_DESKTOP rather than identifying PokerMain's hwnd as it's parent, then it appears after the PokerMain window is closed.

However, when using PokerMain's hwnd as the parent and loading the application I close PokerMain's window yet the program is not terminated. So the PokerTable window is loaded but not visible?

Heres what I have in main.cpp (PokerMain)

    hwndMain = CreateWindowEx (0, szClassName, "Poker Main", (WS_CLIPCHILDREN | WS_OVERLAPPEDWINDOW) & 0xFFFEFFFF,
                              CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, HWND_DESKTOP, 0, hThisInstance, NULL);
    ShowWindow(hwndMain, 1);
    CardTable cd("pokerbgd.dat", 800, 600, hwndMain);


And what I have in the CardTable class initialization:


CardTable::CardTable(char* sBackground, int width, int height, HWND hWndParent){
    HINSTANCE hInst    = GetModuleHandle(NULL);
    char szClassName[] = "PokerTable";
    WND_WIDTH          = width;
    WND_HEIGHT         = height;
    hMemDC             = 0;
    origDC             = 0;
   
    hBackground        = LoadBitmapFile(sBackground);
    cm.gDeck           = cm.createDeck();
    hRichEdit          = LoadLibrary("RICHED32.DLL");
   
    RegisterWindowClass(szClassName, hInst);
   
    hWnd = CreateWindowEx (0, szClassName, "John's Poker Table", (WS_CLIPCHILDREN | WS_OVERLAPPEDWINDOW) & 0xFFFEFFFF, CW_USEDEFAULT,
                          CW_USEDEFAULT, WND_WIDTH, WND_HEIGHT, hWndParent, 0, hInst, this);

    ShowWindow (hWnd, 1);
<more code here>
}



Also it seems that if I create 2 CardTable classes after the PokerMain window closes both of them will appear. Yet why can't they appear while the PokerMain window is open? What am I doing wrong?

Any help is greatly appreciated. Thanks!
Quote from: Spilled[DW] on November 17, 2005, 03:19 PM
I want to make a Diablo II Meph Bot, but first lets work on the connection. What would be the login sequence? Then after i log in wouldn't I need a UDP winsock? So that would make a requirement of 2 Winsock's. After I do the connection, what would I do with the UDP Socket?  Doesn't Diablo II use the Huffman algorithm?
::)