Changeset 62
- Timestamp:
- 04/07/08 19:04:18 (6 months ago)
- Files:
-
- trunk/win32/dfl/control.d (modified) (8 diffs)
- trunk/win32/dfl/groupbox.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/win32/dfl/control.d
r61 r62 1776 1776 1777 1777 1778 /// 1779 final void enabled(bool byes) // setter 1778 package final void _venabled(bool byes) 1780 1779 { 1781 1780 if(isHandleCreated) 1782 1781 { 1783 if(byes == enabled)1784 return;1785 1786 1782 EnableWindow(hwnd, byes); 1787 1783 // Window events will update -wstyle-. … … 1796 1792 } 1797 1793 1794 1795 /// 1796 final void enabled(bool byes) // setter 1797 { 1798 if(byes) 1799 cbits |= CBits.ENABLED; 1800 else 1801 cbits &= ~CBits.ENABLED; 1802 1803 /+ 1804 if(!byes) 1805 { 1806 _venabled(false); 1807 } 1808 else 1809 { 1810 if(!parent || parent.enabled) 1811 _venabled(true); 1812 } 1813 1814 _propagateEnabledAmbience(); 1815 +/ 1816 1817 _venabled(byes); 1818 } 1819 1798 1820 /// 1799 1821 final bool enabled() // getter … … 1804 1826 1805 1827 return (wstyle & WS_DISABLED) == 0; 1828 } 1829 1830 1831 private void _propagateEnabledAmbience() 1832 { 1833 /+ // Isn't working... 1834 if(cbits & CBits.FORM) 1835 return; 1836 1837 bool en = enabled; 1838 1839 void pa(Control pc) 1840 { 1841 foreach(Control ctrl; pc.ccollection) 1842 { 1843 if(ctrl.cbits & CBits.ENABLED) 1844 { 1845 _venabled(en); 1846 1847 pa(ctrl); 1848 } 1849 } 1850 } 1851 1852 pa(this); 1853 +/ 1806 1854 } 1807 1855 … … 2375 2423 Color foreColor; 2376 2424 RightToLeft rightToLeft; 2425 //CBits cbits; 2426 bool enabled; 2377 2427 2378 2428 … … 2386 2436 foreColor = ctrl.foreColor; 2387 2437 rightToLeft = ctrl.rightToLeft; 2438 //cbits = ctrl.cbits; 2439 enabled = ctrl.enabled; 2388 2440 } 2389 2441 /+else … … 2394 2446 foreColor = Color.empty; 2395 2447 rightToLeft = RightToLeft.INHERIT; 2448 //cbits = CBits.init; 2449 enabled = true; 2396 2450 }+/ 2397 2451 } … … 2454 2508 } 2455 2509 } 2510 2511 /+ 2512 if(newinfo.enabled != oldinfo.enabled) 2513 { 2514 if(cbits & CBits.ENABLED) 2515 { 2516 _venabled(newinfo.enabled); 2517 _propagateEnabledAmbience(); 2518 } 2519 } 2520 +/ 2456 2521 } 2457 2522 … … 6856 6921 VSTYLE = 0x400000, // If not forced off. 6857 6922 FORMLOADED = 0x800000, // If not forced off. 6923 ENABLED = 0x1000000, // Enabled state, not considering the parent. 6858 6924 } 6859 6925 6860 6926 //CBits cbits = CBits.ALLOW_LAYOUT; 6861 6927 //CBits cbits = CBits.NONE; 6862 CBits cbits = CBits.VISIBLE | CBits.VSTYLE ;6928 CBits cbits = CBits.VISIBLE | CBits.VSTYLE | CBits.ENABLED; 6863 6929 6864 6930 trunk/win32/dfl/groupbox.d
r61 r62 154 154 COLORREF cr; 155 155 auto getThemeColor = cast(typeof(&GetThemeColor))GetProcAddress(hmuxt, "GetThemeColor"); 156 auto gtcState = enabled ? (1 /*PBS_NORMAL*/) : (2 /*GBS_DISABLED*/); 156 157 if(getThemeColor 157 && 0 == getThemeColor(htd, 4 /*BP_GROUPBOX*/, 1 /*PBS_NORMAL*/, 3803 /*TMT_TEXTCOLOR*/, &cr))158 && 0 == getThemeColor(htd, 4 /*BP_GROUPBOX*/, gtcState, 3803 /*TMT_TEXTCOLOR*/, &cr)) 158 159 c = Color.fromRgb(cr); 159 160 else 160 c = foreColor;161 c = enabled ? foreColor : SystemColors.grayText; // ? 161 162 162 163 Size tsz = g.measureText(txt, f, tfmt);
