Print Page | Close Window

To Mark Doubson: ReportHeader + column resizing

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Report Control
Forum Description: Topics Related to Codejock Report Control
URL: http://forum.codejock.com/forum_posts.asp?TID=14898
Printed Date: 27 September 2024 at 11:41am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: To Mark Doubson: ReportHeader + column resizing
Posted By: xcentric
Subject: To Mark Doubson: ReportHeader + column resizing
Date Posted: 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.




Replies:
Posted By: mdoubson
Date 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


-------------
Mark Doubson, Ph.D.


Posted By: xcentric
Date Posted: 13 August 2009 at 1:56pm
Sorry for the delay, here is the video (.avi):
1) current implementation: uploads/20090813_134803_1.rar - uploads/20090813_134803_1.rar
2) the feature I am talking about uploads/20090813_135213_2.rar - uploads/20090813_135213_2.rar

Thank you





Posted By: mdoubson
Date 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?
 
 


-------------
Mark Doubson, Ph.D.


Posted By: mdoubson
Date 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
 


-------------
Mark Doubson, Ph.D.


Posted By: xcentric
Date 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.



Posted By: mdoubson
Date Posted: 14 August 2009 at 8:36am
No - it costly. Windows Explorer, Outlook and most other efficient program does not use this with purpose

-------------
Mark Doubson, Ph.D.



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net