From: Steven P. <sp...@ms...> - 2009-04-30 22:04:32
|
Hi, I wish to fully disable scrollbars in a Win32::GUI::Grid. Even with AddGrid() options -hscroll=>0 and -vscroll=>0, scrollbars appear whenever the "virtual" spreadsheet is larger than the Grid's "viewing" area. - Does an option exist to banish scrollbars forever? - If not, can someone point me to build/install instructions for my modified GridCtrl source? I've bought Microsoft Visual C++ 6.0 (thanks, ebay), and have successfully built DLLs and "Inline C" sections, but I can't get past c:\gridctrl\memdc.h(27) : error C2504: 'CDC' : base class undefined and subsequent errors. (I think it'd meet my goal to insert return; immediately after GridCtrl.cpp line 3021): 3020: void CGridCtrl::EnableScrollBars(int nBar, BOOL bEnable /*=TRUE*/) 3021: { 3022: if (bEnable) 3023: { 3024: if (!IsVisibleHScroll() && (nBar == SB_HORZ || nBar == SB_BOTH)) 3025: { 3026: m_nBarState |= GVL_HORZ; 3027: CWnd::EnableScrollBarCtrl(SB_HORZ, bEnable); 3028: } 3029: 3030: if (!IsVisibleVScroll() && (nBar == SB_VERT || nBar == SB_BOTH)) 3031: { 3032: m_nBarState |= GVL_VERT; 3033: CWnd::EnableScrollBarCtrl(SB_VERT, bEnable); 3034: } 3035: } 3036: else 3037: { 3038: if ( IsVisibleHScroll() && (nBar == SB_HORZ || nBar == SB_BOTH)) 3039: { 3040: m_nBarState &= ~GVL_HORZ; 3041: CWnd::EnableScrollBarCtrl(SB_HORZ, bEnable); 3042: } 3043: 3044: if ( IsVisibleVScroll() && (nBar == SB_VERT || nBar == SB_BOTH)) 3045: { 3046: m_nBarState &= ~GVL_VERT; 3047: CWnd::EnableScrollBarCtrl(SB_VERT, bEnable); 3047: } 3049: } 3050: } - Or is there a better approach? (If I /can/ get this to build, is more "installation" involved than merely overwriting "c:/perl/site/lib/auto/Win32/GUI/Grid/Grid.dll"?) - Or, can someone (only if easily and quickly) build and post a modified Grid.dll? (FWIW, I've built test DLLs to identify the (four bytes or so) opcodes necessary to patch Grid.dll, but it's also getting time-consuming to find its GridCtrl.dll location.) Thanks in advance, Steven |