Changeset 38

Show
Ignore:
Timestamp:
02/26/08 08:58:11 (11 months ago)
Author:
Chris Miller
Message:

Minor changes.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/win32/dfl/form.d

    r37 r38  
    25202520     
    25212521     
     2522    package BOOL _isNonMdiChild(HWND hw) 
     2523    { 
     2524        assert(isHandleCreated); 
     2525         
     2526        if(!hw || hw == this.hwnd) 
     2527            return false; 
     2528         
     2529        if(IsChild(this.hwnd, hw)) 
     2530        { 
     2531            version(NO_MDI) 
     2532            { 
     2533            } 
     2534            else 
     2535            { 
     2536                if(mdiClient && mdiClient.isHandleCreated) 
     2537                { 
     2538                    if(IsChild(mdiClient.hwnd, hw)) 
     2539                        return false; // ! 
     2540                } 
     2541            } 
     2542            return true; 
     2543        } 
     2544        return false; 
     2545    } 
     2546     
     2547     
    25222548    package HWND _lastSelBtn; // Last selected button (not necessarily focused), excluding accept button! 
    25232549    package HWND _lastSel; // Last senected and focused control. 
     
    25322558        { 
    25332559            wasselbtn = true; 
    2534             if(IsChild(this.hwnd, _lastSelBtn)) 
     2560            //if(IsChild(this.hwnd, _lastSelBtn)) 
     2561            if(_isNonMdiChild(_lastSelBtn)) 
    25352562            { 
    25362563                auto lastctrl = Control.fromHandle(_lastSelBtn); 
     
    25902617    package final void _selactivate() 
    25912618    { 
    2592         if(_lastSel
     2619        if(_lastSel && _isNonMdiChild(_lastSel)
    25932620        { 
    25942621            Control ctrl = Control.fromChildHandle(_lastSel); 
     
    26922719                +/ 
    26932720                //_selonecontrol(); 
     2721                 
     2722                version(NO_MDI) 
     2723                { 
     2724                } 
     2725                else 
     2726                { 
     2727                    if(isMdiChild) 
     2728                    { 
     2729                        // ? 
     2730                        //msg.result = DefMDIChildProcA(msg.hWnd, msg.msg, msg.wParam, msg.lParam); 
     2731                        msg.result = dfl.internal.utf.defMDIChildProc(msg.hWnd, msg.msg, msg.wParam, msg.lParam); 
     2732                        return; 
     2733                    } 
     2734                } 
     2735                 
    26942736                // Prevent DefDlgProc from getting this message because it'll focus controls it shouldn't. 
    26952737                return; 
     
    27222764                    case WA_CLICKACTIVE: 
    27232765                        _selactivate(); 
     2766                         
     2767                        /+ 
     2768                        version(NO_MDI) 
     2769                        { 
     2770                        } 
     2771                        else 
     2772                        { 
     2773                            if(isMdiContainer) 
     2774                            { 
     2775                                auto amc = getActiveMdiChild(); 
     2776                                if(amc) 
     2777                                    amc._selactivate(); 
     2778                            } 
     2779                        } 
     2780                        +/ 
    27242781                        break; 
    27252782                     
    27262783                    case WA_INACTIVE: 
     2784                        /+ 
     2785                        version(NO_MDI) 
     2786                        { 
     2787                        } 
     2788                        else 
     2789                        { 
     2790                            if(isMdiContainer) 
     2791                            { 
     2792                                auto amc = getActiveMdiChild(); 
     2793                                if(amc) 
     2794                                    amc._seldeactivate(); 
     2795                            } 
     2796                        } 
     2797                        +/ 
     2798                         
    27272799                        _seldeactivate(); 
    27282800                        break; 
     
    28982970                { 
    28992971                    HWND hwfocus = GetFocus(); 
    2900                     if(IsChild(form.handle, hwfocus)) 
     2972                    // Don't need _isNonMdiChild here; mdistuff excludes MDI stuff. 
     2973                    if(hwfocus != form._lastSel && IsChild(form.handle, hwfocus)) 
    29012974                        form._lastSel = hwfocus; // ? 
    29022975                }