![]() |
To Mark Doubson: ReportHeader + column resizing |
Post Reply
|
| Author | |
xcentric
Groupie
Joined: 04 September 2008 Status: Offline Points: 41 |
Post Options
Thanks(0)
Quote Reply
Topic: To Mark Doubson: ReportHeader + column resizingPosted: 03 August 2009 at 4:55pm |
|
Mark, there is a method CXTPDockingPaneManager::UseSplitterTracker(BOOL bSplitterTracker).
It sets the flag for display the contents for child pane while the splitter is resized. I would like to ask you to add the same functionality to CXTPReportHeader for column resizing. The code would be pretty simple and I can do it by myself, but it would be great to have this feature out of the box. Thank you. |
|
![]() |
|
mdoubson
Senior Member
Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
Quote Reply
Posted: 06 August 2009 at 7:13pm |
|
OK - I will consider this feature. Is is something similar to Spitter Keyboard support (MFC - CSplitterWnd::DoKeyboardSplit)?
Give me more details please as DockingPaneManagent is not my component
|
|
![]() |
|
xcentric
Groupie
Joined: 04 September 2008 Status: Offline Points: 41 |
Post Options
Thanks(0)
Quote Reply
Posted: 13 August 2009 at 1:56pm |
|
Sorry for the delay, here is the video (.avi):
1) current implementation: uploads/20090813_134803_1.rar 2) the feature I am talking about uploads/20090813_135213_2.rar Thank you |
|
![]() |
|
mdoubson
Senior Member
Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
Quote Reply
Posted: 13 August 2009 at 4:10pm |
|
This both video show standard mouse-base behaviour - so useless (don't see diffs between avi1 and avi2 - except draw during resizing - in second case). I like to know - are you want pure keyboard UI? How you will select column and this column border?
Or you will use mouse to select column border (where cursor switch to <> arrows) and now want to use keyboard Left - Right arrow to resize column?
|
|
![]() |
|
mdoubson
Senior Member
Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
Quote Reply
Posted: 13 August 2009 at 4:27pm |
|
Looks like I understand - you don't care about keyboard at all - just want something like this:
CPoint ptOffset = CPoint(rc.left - point.x, 0) ; SetCapture(); while (CWnd::GetCapture() == this){ MSG msg; while (::PeekMessage(&msg, NULL, WM_PAINT, WM_PAINT, PM_NOREMOVE)){ if (!GetMessage(&msg, NULL, WM_PAINT, WM_PAINT)) return;DispatchMessage(&msg); } if (!GetMessage(&msg, NULL, 0, 0)) break; if (msg.message == WM_MOUSEMOVE){ point = CPoint(msg.lParam); ClientToScreen(&point); point += ptOffset; point.x = max(min(point.x, rcAvail.right), rcAvail.left); point.y = max(min(point.y, rcAvail.bottom), rcAvail.top); if (!m_bHorizSplitting){ if (rc.left == point.x) continue;rc.OffsetRect(point.x - rc.left, 0); } else{ if (rc.top == point.y) continue;rc.OffsetRect(0, point.y - rc.top); } REDRAW REPORT }
else if (msg.message == WM_KEYDOWN && msg.wParam == VK_ESCAPE) break;
else if (msg.message == WM_LBUTTONUP) break;
else ::DispatchMessage(&msg);
} if (CWnd::GetCapture() == this) ReleaseCapture();You can use it in your derived ReportHeader class
|
|
![]() |
|
xcentric
Groupie
Joined: 04 September 2008 Status: Offline Points: 41 |
Post Options
Thanks(0)
Quote Reply
Posted: 14 August 2009 at 3:50am |
|
Exactly, I want draw during resizing feature.
I have implemented it in my code, but it would be nice to have this feature in Report Control ![]() Anyway, thank you. |
|
![]() |
|
mdoubson
Senior Member
Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
Quote Reply
Posted: 14 August 2009 at 8:36am |
|
No - it costly. Windows Explorer, Outlook and most other efficient program does not use this with purpose
|
|
![]() |
|
Post Reply
|
|
|
Tweet
|
| Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |