Trouble selecting AllDayEvent |
Post Reply |
Author | |
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
Posted: 12 October 2009 at 6:26am |
Run Samples/CalendarDemo with sample data.
Switch to work week view. It's only possible to select an multiday AllDayEvent if you click on the start day of the event. Clicking on the following days of an event is ignored and the event can't be selected. Tested with 13.2 beta of 09-09-21 |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
I tried your case with same demo - https://forum.codejock.com/uploads/DemoVersion/CalendarDemoStatic.rar
In WorkWeek view I had 3-days event - covered 3 columns. I can click in middle part and event editor show this 3-days selected event properties.
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
Okay, have to make it more clear.
See my pic below. Create a 3 day multidayevent and try to select it on "Donnerstag" (Thursday). Not possible (for me). Also tested with your demo sample code above. |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
I agree - it can happened because sometimes your long event will be draw as one-day-width event with arrow directed to right (as sign of continue). It depends on sort order of allday events, height of allday area and mode.
So better use initial part of visual event to make selection in multi-column view mode. This is not serious restriction.
Try this mode:
CXTPCalendarDayView* pDayView = DYNAMIC_DOWNCAST(CXTPCalendarDayView, GetCalendarCtrl().GetDayView());
if (pDayView) pDayView->m_bEcoAllDayMode = TRUE; and you will understand logic of the case better.
(You need to use now scrollbar to see some of allday events but you will have more space for usual events - many clients asked it)
See my snaoshot with fragments from different mode run:
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
Sorry Mark, I don't understand your answer... and I can't see any arrows.
For my customer it's absolutely a bug. Not being able to click and edit a truely visible alldayevent is not the expected behavior. |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
Hi, Marco1, I attached snapshot to my prev post where you can see effect of different modes. >>absolute a bug: - consider that this "spreadsheet-like" mode (multi-column) similar to Excel where cell text (in long text case) can also use neighbour cells if they are empty but user still need to select initial cell to start edit.
If you don't like this behaviour - you can overwrite it in your derived class - as you are using MFC source
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
Okay, but Eco mode is not an option in this case.
I tried my sample above in Outlook 2007 and of course it works like expected. Even if I consider the calendar spreadsheet-like, if the mouse pointer is above an event and I want to click/select it - and instead the event below (or the background) gets selected, I see it as my customer - as a bug. Not a big one, but it's there. I do not have time in the moment to trace and debug calendar module any futher, so I reported it. Working around and selecting different display mode is not wanted. |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
I understand it, Marco1, I attached snapshot from Excel to my prev post to show the case (A and B).
May be I can extend HitTest function to analyze previous column and make selection.
Still even in your non-eco mode case what will you do if you will havve say 20 AllDay events?
Still need scroll - so it will be similar to eco-mode but with more events to show at once.
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
Mark, I understand the scrolling problem and totally agree with you, but this is not the issue here. Problem is, as you say, the failing/wrong HitTest.
However, regardless how many AllDayEvents there are, if I click anywhere on one, it should get selected (or edited, whatever). |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
Right but why you not confirm that Microsoft do the same in Excel - I see content in B1 but my click on B1 do nothing while click on A1 initiate editor
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
I confirm MS does this in Excel, but this is not Excel - it's a calendar like Outlook - and there MS doesn't do it.
Anyway it's way of inconsitent, because I can select a multiday event on its last day, if there is only one (per day)... |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
Please try Outlook2003 and add say 23 AllDay events - see how it works....
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
So, will this be fixed? E.g. in 13.2?
|
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
I am not sure that this is a good reason to delay 13.2 - it still minor and you report about it very recently. Let's see - may be this fix will go to next upgrade but in the moment I will fix it - I will publish code update and you will get it as all MFC users - I keep permanent link to most recent updates here: https://forum.codejock.com/uploads/DemoVersion/CalendarControlMFCUpdated.rar |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
You can try my current fix for your case - https://forum.codejock.com/uploads/DemoVersion/CalendarControlMFCUpdated.rar
Please give me your opinion
|
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
I also updated sample with current code - https://forum.codejock.com/uploads/DemoVersion/CalendarDemoStatic.rar |
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
No, Mark, as far as I can see after a quick test this fix causes new problems.
In your demo I create a 3 day AllDayEvent from 19.10.2009 to 21.10.2009. Then I try to select the background of 20.10 to 22.10.2009 to create a new event. But selecting the (empty) background causes another event to get selected and dragged. Not good at all. :-( |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
If you need to select background for multiday event - use Shift while you make selection - it will take proper range for new event in event editor and keep Shift during double click to call event Editor or use context menu AddEvent in this case.
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
Mark, I still have trouble with wrong selections. Tested with your actual demo code. See image below.
3 AllDeyEvents created. If you click in 10/29/09 AllDayEvent area (arrow head), NOT on an event, event "test2" gets selected, same for "test3". So I guess there's still a bug in the hittest logic. |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
Please retest your case with updated version of - https://forum.codejock.com/uploads/DemoVersion/CalendarDemoStatic.rar
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
Retested. Sorry, still not there.
Take your actual example, provide data and try to select the all day area on Nov 04, 2009 (or on 05) ABOVE the "AllDay Event; Old Location" - not possible. Below seems to work. |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
So use bottom part for selection in this case |
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
I still think, it's a bug there. If one clicks in an area and nothing/something else gets selected, that's not okay and should be fixed (and tested well). |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
There is no false Event selection. There are many ways to create new all day event - background highlighting on click - just one of many.
|
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
Please make a more detailed test! |
|
mdoubson
Senior Member Joined: 17 November 2008 Status: Offline Points: 1705 |
Post Options
Thanks(0)
|
I repeat as you don't wan't to cofirm it - there is no false event selection. Click on bottom part of AllDay area to select empty AllDay space as potential new event - this is a rule to follow - put it in your user manual. Very simple. |
|
Marco1
Senior Member Joined: 16 January 2004 Location: Germany Status: Offline Points: 251 |
Post Options
Thanks(0)
|
Mark, seems to be fixed in your latest demo version, nice.
Thanx! Hopes it makes its way in 13.2.2 (please, don't change back again) |
|
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 |