Betatest



  • gibt das Hanf frei. Und den Quellcode vom Splitter auch.

    PS:Tut tuts auch 🙂



  • Ah ich wollt zum Programm noch was schreiben.

    Win98
    300MhZ

    Housten, wir haben keine Probleme. Das Design ist aber echt übel.



  • Das mit dem Design unter Win9x / WinME ist mir schon klar, das Programm ist eben vom Design her für WinXP geschieben :). Das mit der nicht angezeigten Scrollbar werd ich mir noch mal anschauen und das mit den Tooltips werd ich auch noch versuchen.

    M.T.



  • funZt net



  • Manuel: Wann postest du denn den Quellcode vom Splitter? Oder machst du das doch nicht mehr? 😞



  • Ich post den Quellcode schon noch 🙂 - ich arbeite aber erst mal an den Tooltips. - Das mit der Scrollbar liegt daran, dass kein Adressbuch geöffnet war -> das ListView deaktiviert war.

    M.T.



  • Die Toolbar-Buttons (ALTES Design) haben nur deaktivierte Bilder und im Menü sieht man auch keine Texte.



  • Zu dem Code für das Split-Control, ich hab ihn hier stehen, wenn noch irgendwas unklar ist, einfach fragen 😉

    //Globale Variablen
    bool move_bar;
    int  bar_pos;
    bool mouse_over_bar;
    
    //SizeControls muss eine Funktion sein, die die Steuerelemente nach bar_pos ausrichtet
    
    //In der Wnd-Proc
    case WM_MOUSEMOVE:
        GetClientRect(hWnd,&client_rect);
    
        if(move_bar && LOWORD(lParam)-2!=bar_pos)
        {
            static POINT last_cur_pos;
    
            RECT temp_rect_old;
            temp_rect_old.left=bar_pos;
            temp_rect_old.right=bar_pos+6;
            temp_rect_old.top=0;
            temp_rect_old.bottom=client_rect.bottom-1;
    
            if(LOWORD(lParam)<client_rect.right-10 && LOWORD(lParam)>10)
            {
                bar_pos=LOWORD(lParam)-2;
            }
    
            GetCursorPos(&last_cur_pos);
    
            RECT temp_rect;
            temp_rect.left=bar_pos;
            temp_rect.right=bar_pos+6;
            temp_rect.top=0;
            temp_rect.bottom=client_rect.bottom-1;
    
            SizeControls();
    
            InvalidateRect(hWnd,&temp_rect_old,1);
            InvalidateRect(hWnd,&temp_rect,1);
        }
    
        if(LOWORD(lParam)>=bar_pos && LOWORD(lParam)<=bar_pos+6)
        {
            if(HIWORD(lParam)>=0 && HIWORD(lParam)<=client_rect.bottom-1)
            {
                if(!mouse_over_bar && !lv_dragging)
                {
                    SetClassLong(hWnd,GCL_HCURSOR,(long)LoadCursor(NULL,IDC_SIZEWE));
                }
                mouse_over_bar=TRUE;
            }
            else
            {
                if(mouse_over_bar && !lv_dragging)
                {
                    SetClassLong(hWnd,GCL_HCURSOR,(long)LoadCursor(NULL,IDC_ARROW));
                }
                mouse_over_bar=FALSE;
            }
        }
        else
        {
            if(mouse_over_bar && !lv_dragging)
            {
                SetClassLong(hWnd,GCL_HCURSOR,(long)LoadCursor(NULL,IDC_ARROW));
            }
            mouse_over_bar=FALSE;
        }
        break;
    
    case WM_LBUTTONDOWN:
        if(mouse_over_bar)
        {
            move_bar=TRUE;
            SetCapture(hWnd);
        }
        break;
    
    case WM_LBUTTONUP:
        if(move_bar)
        {
            move_bar=FALSE;
            ReleaseCapture();
        }
        break;
    
    case WM_PAINT:
        GetClientRect(hWnd,&client_rect);
    
        HDC hDC;
        PAINTSTRUCT ps;
        HPEN pen;
    
        hDC=BeginPaint(hWnd,&ps);
    
        //1. Linie Bar
        pen=CreatePen(PS_SOLID,1,RGB(241,239,226));
        SelectObject(hDC,pen);
        MoveToEx(hDC,bar_pos,36,NULL);
        LineTo(hDC,bar_pos,client_rect.bottom-1);
                DeleteObject(pen);
    
        //2. Linie Bar
        pen=CreatePen(PS_SOLID,1,RGB(255,255,255));
        SelectObject(hDC,pen);
        MoveToEx(hDC,bar_pos+1,36,NULL);
        LineTo(hDC,bar_pos+1,client_rect.bottom-1);
        DeleteObject(pen);
    
        //3. und 4. Linie Bar
        pen=CreatePen(PS_SOLID,1,RGB(224,223,227));
        SelectObject(hDC,pen);
        MoveToEx(hDC,bar_pos+2,36,NULL);
        LineTo(hDC,bar_pos+2,client_rect.bottom-1);
        MoveToEx(hDC,bar_pos+3,36,NULL);
        LineTo(hDC,bar_pos+3,client_rect.bottom-1);
        DeleteObject(pen);
    
        //5. Linie Bar
        pen=CreatePen(PS_SOLID,1,RGB(157,157,161));
        SelectObject(hDC,pen);
        MoveToEx(hDC,bar_pos+4,36,NULL);
        LineTo(hDC,bar_pos+4,client_rect.bottom-1);
        DeleteObject(pen);
    
        //6. Linie Bar
        pen=CreatePen(PS_SOLID,1,RGB(113,111,100));
        SelectObject(hDC,pen);
        MoveToEx(hDC,bar_pos+5,36,NULL);
        LineTo(hDC,bar_pos+5,client_rect.bottom-1);
        DeleteObject(pen);
    
        EndPaint(hWnd,&ps);
        break;
    

    M.T.



  • @Mr N: Wenn du im Menü keine Texte siehst, fehlt dir irgenwie die German.ini

    M.T.



  • @Manuel: Das wars. Besonders find ich das jetz nicht (hab XP) *g*:



  • Für das Adressbuch die Ziele hab ich mir auch nicht wirklich hoch gesteckt - wollte nur mal ein Projekt wirklich zu Ende bringen.

    M.T.



  • Wenn ich halt ne adb-datei hätte, hab aber keine *gg*



  • Ich kappier das mit dem Splitter noch nicht. Wo gibt man denn die HWNDs an die getrennt werden sollen?



  • @Nitromaus: Was denkst du, was der Menüpunkt neues Adressbuch macht ? 😉

    @Allet: Die musst du selbst sizen, eben an der Stelle, die bar_pos die gibt

    M.T.


Anmelden zum Antworten