tabelle???



  • gargamel schrieb:

    kannst du mir jetzt helfen???
    wenn ja tu es ansonsten poste doch einfach nicht!!! 😡

    Ja, ich kann Dir helfen:
    Arbeite ein WinAPI-Turorial durch oder lese ein WinAPI-Buch (wie z. B. den Petzold (Referenz auf dem Sektor)!

    Das ist die beste Hilfe, die man Dir geben kann!



  • also ich habs mal mit resourcen center probiert nur das es wieder nich schafft die zeilen einfügen und hwndList is immer NULL wieso????

    case WM_INITDIALOG:
    
                           hwndList = GetDlgItem(hwnd, ID_HELP_ABOUT); 
                           sprintf(buf,"window=%d",hwndList);
                           MessageBox(NULL, buf, "Handle", MB_ICONERROR); 
                           for (i = 0; i < 10; i++) 
                            { 
                                 SendMessage(hwndList,LB_ADDSTRING, 0,(LPARAM) "hallo"); 
                                 SendMessage(hwndList,LB_SETITEMDATA, i, (LPARAM) i); 
                            } 
                            SetFocus(hwndList); 
                           return FALSE;
    


  • LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
    
    static char g_szClassName[]  = "MyWindowClass";
    static HINSTANCE g_hInstance = NULL;
    
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
            WNDCLASSEX WndClass;
            HWND hwnd;
            MSG Msg;
    
            g_hInstance = hInstance;
    
            WndClass.cbSize        = sizeof(WNDCLASSEX);
            WndClass.style         = 0;
            WndClass.lpfnWndProc   = WndProc;
            WndClass.cbClsExtra    = 0;
            WndClass.cbWndExtra    = 0;
            WndClass.hInstance     = g_hInstance;
            WndClass.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
            WndClass.hCursor       = LoadCursor(NULL, IDC_ARROW);
            WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
            WndClass.lpszMenuName  = "ID_MENU";
            WndClass.lpszClassName = g_szClassName;
            WndClass.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);
    
            if(!RegisterClassEx(&WndClass)) {
                    MessageBox(0, "Window Registration Failed!", "Error!", MB_ICONSTOP | MB_OK);
                    return 0;
            }
    
            hwnd = CreateWindowEx(
                    WS_EX_STATICEDGE,
                    g_szClassName,
                    "Windows Title",
                    WS_OVERLAPPEDWINDOW,
                    CW_USEDEFAULT, CW_USEDEFAULT,
                    320, 240,
                    NULL, NULL,
                    g_hInstance,
                    NULL);
    
            if(hwnd == NULL) {
                    MessageBox(0, "Window Creation Failed!", "Error!", MB_ICONSTOP | MB_OK);
                    return 0;
            }
    
            ShowWindow(hwnd, nCmdShow);
            UpdateWindow(hwnd);
    
            while(GetMessage(&Msg, NULL, 0, 0)) {
                    TranslateMessage(&Msg);
                    DispatchMessage(&Msg);
            }
            return Msg.wParam;
    }
    
    LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
            switch(Message) {
                   case WM_COMMAND:
                           switch(LOWORD(wParam)) {
                                   case ID_FILE_EXIT:
                                           PostMessage(hwnd, WM_CLOSE, 0, 0);
                                           break;
                                   case ID_HELP_\1:
                                           DialogBox(g_hInstance, "Listbox", hwnd, DlgProc);
                                   break;
                           }
                           break;
                   case WM_CLOSE:
                           DestroyWindow(hwnd);
                           break;
                   case WM_DESTROY:
                           PostQuitMessage(0);
                           break;
                   default:
                           return DefWindowProc(hwnd, Message, wParam, lParam);
            }
            return 0;
    }
    
    BOOL CALLBACK DlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
            int i;
            HWND hwndList;
            char buf[100];
    
            switch(Message) {
                    case WM_INITDIALOG:
    
                           hwndList = GetDlgItem(hwnd, ID_HELP_ABOUT); 
                           sprintf(buf,"window=%d",hwndList);
                           MessageBox(NULL, buf, "Handle", MB_ICONERROR); 
                           for (i = 0; i < 1; i++) 
                            { 
                                 SendMessage(hwndList,LB_ADDSTRING, 0,(LPARAM) "hallo"); 
                                 SendMessage(hwndList,LB_SETITEMDATA, i, (LPARAM) i); 
                            } 
                            SetFocus(hwndList); 
                           return FALSE; 
    
                    case WM_COMMAND:
                            switch(LOWORD(wParam)) {
                                    case IDOK:
                                            EndDialog(hwnd, IDOK);
                                            return TRUE;
    
                            }
                            break;
            }
            return FALSE;
    }
    

    da is mal der ganze code bevor noch jemand meckert



  • Hast du jetzt einen Dialog als Ressource hinzugefügt, der eine List-Box mit der ID ID_HELP_ABOUT enthält?!
    Wird denn der Dialog angezeigt? Falls nicht solltest du bei DialogBox für lpTemplate mal MAKEINTRESOURCE(ID_DEINES_DIALOGS) angeben 🙂



  • flenders schrieb:

    der eine List-Box mit der ID ID_HELP_ABOUT enthält?!

    Kann nicht, flenders, da sich die Konstante dann mit dem Menüeintrag (siehe case ID_HELP_\1: in der WndProc) beißen würde...



  • Hatte es mir nicht so genau angeschaut, dachte mir aber schon, dass er da wohl die falsche ID eingesetzt hat 😉



  • also es entsteht auch ein dialog aber mehr auch nich



  • Dann setzt halt für ID_HELP_ABOUT bei GetDlgItem in WM_INITDIALOG mal die richtige ID ein, also die, die du im Ressourcen-Editor für die List-Box vergeben hast. Die List-Box wird ja schon angezeigt, nur eben leer, oder?! 🙂



  • genau



  • genau des hab ich vergessen richtig zudiffinieren autsch


Anmelden zum Antworten