|
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
|