Click here to Skip to main content
15,885,048 members
Articles / Desktop Programming / MFC

The Ultimate Toolbox - Updates and User Contributions

Rate me:
Please Sign up or sign in to vote.
4.79/5 (26 votes)
12 Feb 2013CPOL8 min read 254.7K   23.6K   170  
Updates and User Contributions for the Ultimate Toolbox Libraries
<html>

<head>

<title>Ultimate ToolBox Change History</title>
<style>
BODY, P, H1, H2, H3, H4, H5, H6, LI, TD, TH, DD, DT
{
	font-family: Verdana, Helvetica, Arial, sans-serif;
	font-size: 10pt;
	color: black;
}
BODY
{
	background-color: #ffffff;
	color: #000000;
}
LI,UL,OL
{
	list-style-image: none;
}
H1, H2, H3, H4, H5, TH
{
	font-weight: bold;
}
H2, H3, H4, H5
{
	color: #009999;
}
H1
{
	font-size: 16pt;
	color: #007777;
}
H2
{
	font-size: 13pt;
}
H3
{
	font-family: Arial, sans-serif;
	font-size: 11pt;
}
H4
{
	font-size: 10pt;
	margin-bottom: 2px;
}
H5
{
	font-size: 9pt;
	margin-bottom: 2px;
}
H6
{
	color: #626262;
	font-size: 65%;
	font-weight: normal;
}
CODE
{
	color: #1111BB;
	font-family: "Courier New", Courier, mono;
	font-weight: bold;
}</style>

</head>

<body lang=EN-US>

<span id="intelliTXT">
<h1><strong>Ultimate Grid Change History</strong></h1>
<h2>Version 7.2 (Update 01)</h2>
<h3>Changes and fixes as discussed by The Code Project 
community</h3>
<p>The major source file changes referenced in this update should all be annotated 
with 'v7.2 - update 01' in comments.&nbsp; Changes include: </p>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Fixes for proper pen selection for the <b>
	<font COLOR="#1111BB" face="Courier New" size="2">CUGCheckBoxType</font></b><font SIZE="3" COLOR="#008000" face="Courier New">
	</font>celltype as suggested by Brett R. and charshep. This corrects the 
	'disabled' look of the checkboxes. Files affected:<p>
	UGCBType.cpp</li>
</ul>
<ul>
	<li>Code added to <b><font face="Courier New" color="#1111BB">CUGTopHdg::ToolTipNeedText</font></b> and 
	<b><font color="#1111BB" face="Courier New">CUGSideHdg::ToolTipNeedText</font></b> 
	to ensure that multiline tooltips are available for top and side headings - 
	reported by kassinen. Files affected:<br>
	<br>
	ugsidehd.cpp<br>
	UGTopHdg.cpp<br>
&nbsp;</li>
	<li>Modification to <b><font face="Courier New" color="#1111BB">
	CUGCtrl::CopySelected</font></b> to allow copy without clearing selections - 
	Jerry Evans. Files affected:<br>
	<br>
	ugctrl.cpp<br>
	<br>
&nbsp;</li>
	<li>Changes to <b><font face="Courier New" color="#1111BB">
	CUGGrid::OnMouseMove</font></b> remove a while(1) loop / message pump 
	sequence - this gets rid of unwanted CPU usage. This change should be 
	monitored. Original code commented out - suggested by lazymiken. Files 
	affected:<br>
	<br>
	UGGrid.cpp<br>
	<br>
&nbsp;</li>
	<li>Change to <b><font face="Courier New" color="#1111BB">
	CUGCell::SetFormatClass</font></b> now allows reset of format class if NULL
	<b><font face="Courier New" color="#1111BB">CugCellFormat</font></b> class 
	pointer passed in. Submitted by mgampi. Files affected:<br>
	<br>
	UGCell.cpp<br>
	<br>
&nbsp;</li>
	<li>Access specifier for the first section of the <b>
	<font face="Courier New" color="#1111BB">CUGExpandType</font></b> cell type 
	changed from private to protected to allow derived classes access. Submitted 
	by mhorowit. Files affected:<br>
	<br>
	UGCTExpand.h<br>
	<br>
&nbsp;</li>
	<li>Added <b><font face="Courier New" color="#1111BB">DetachGrid</font></b> 
	method to <b><font face="Courier New" color="#1111BB">CUGCtrl</font></b> to 
	allow quick replacement of one grid with another on a dialog control. 
	Submited by Timothy W. Okrey. Files affected:<br>
	<br>
	ugctrl.h<br>
	ugctrl.cpp<br>
	<br>
&nbsp;</li>
	<li>Change to <b><font face="Courier New" color="#1111BB">
	CUGCTDateTimePicker::OnLClicked</font></b> and <b>
	<font face="Courier New" color="#1111BB">OnKeyDown</font></b> to prevent 
	showing calendar for read only cells. Submitted by mhorowit. (Note: Other 
	celltypes could be checked regarding this behavior as well as updated 
	drawing for disabled button). Files affected:<br>
	<br>
	UGCTdtp.cpp<br>
	<br>
&nbsp;</li>
	<li>Change to <b><font face="Courier New" color="#1111BB">
	CUGCtrl::GetCellIndirect</font></b> - a call to OnGetCell was using column 
	translation inappropriately. Submitted by JohnBarnes2858. Files affected:<br>
	<br>
	ugctrl.cpp<br>
	<br>
&nbsp;</li>
	<li>Change to <b><font color="#1111BB" face="Courier New">
	UGXPThemes::GetThemeRect</font></b> checks for inclusion of vssym32.h to 
	avoid redefining constant - resolves conflict for VS2008 compilation. TD. 
	Files affected:<br>
	<br>
	ugxpthemes.cpp<br>
	<br>
&nbsp;</li>
</ul>
<h2><strong>Ultimate Grid 7.2</strong></h2>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	An update to the XML classes (courtesy user kvt) 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Addition of AllExamples and AllDemos projects. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Various fix ups to the existing <code>CUGDatasource </code>based classes for 
	Unicode and VS2005 support </li>
</ul>
<h2>Ultimate Grid 7.0/7.1</h2>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Full support for VC++ 2005 compilation (with 0 warnings) 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Support for XP themes 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Drop Down Grid Cell Type 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	A powerful new Grid cell type allowing you to add Master Detail 
	functionality to the grid 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	XML Import/Export Functionality - Define the Grid layout, defaults and data 
	using XML 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Autofit Column Cell Type - Automatically increase the row height to show the 
	entire text string 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Improved ADO Datasource - Sorting and additional improvements have been made 

	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Excel XP look and feel - Configure Ultimate Grid 2005 to have an Office 
	XP-like look and feel 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Backwards compatible with Ultimate Grid 97 and Ultimate Grid 6.1. So you 
	don't have to worry about any upgrading issues. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Common MFC customer suggestions added - We've listened to the developers 
	using the old version and done what you wanted 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Enhanced Numeric Support </li>
</ul>
<h2>Ultimate Grid 6.0</h2>
<h4>Cell-types:</h4>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	New drop-down grid celltype, providing functionality to display another 
	Ultimate Grid within a popup window 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	New auto-fit celltype, providing ability for cells to adjust its column and 
	row size in order for the text to be fully displayed. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	All celltypes were improved to respect the <code>ReadOnly </code>flag 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	All celltypes were improved to function properly with <code>BestFit </code>
	function 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The droplist celltype will now properly display when opened with keyboard 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The multi-font celltype will now properly draw when center or right 
	alignments are selected. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	A <code>CUGCellType::DrawBackground</code> virtual function was added. This 
	function takes care of drawing the background area of the cells. All 
	standard celltypes were modified to use this function whenever required. 
	<ul style="list-style-image: none">
		<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
		By default the <code>DrawBackground </code>function uses the <code>
		FillRect </code>(with a brush) function to fill-in specified rect. This 
		change provides the grid with a better support for 256 color 
		environments. </li>
	</ul>
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>CUGCellType::GetBestSize </code>virtual function will now be 
	called with a size parameter initialized to current cells height and width. 
	<ul style="list-style-image: none">
		<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
		This information is used by cells with a bitmap to properly calculate 
		width of the bitmap image. </li>
	</ul>
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>CUGCellType::DrawText </code>will now unselect the font object 
	selected. </li>
</ul>
<h4>Data-sources:</h4>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	New XML parser class was added to provide functionality to load and save XML 
	documents. The XML format supported is compatible with XML files used by the 
	MS Excel XP. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	An <code>IsOpen </code>virtual function was added to the <code>CUGDataSource
	</code></li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Improved on the ADO datasource 
	<ul style="list-style-image: none">
		<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
		Implemented sorting functionality 
		</li>
		<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
		Implemented <code>IsOpen </code>function to check if a connection is 
		currently open </li>
	</ul>
	</li>
</ul>
<h4>CUGCell:</h4>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Numbers are stored as numbers now 
	<ul style="list-style-image: none">
		<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
		For display purposes the numbers are formatted using clients local 
		settings 
		</li>
		<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
		During edit the numeric value is shown without formatting 
		</li>
		<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
		The formatting of numbers can be disabled using <code>
		UGCELL_DONOT_LOCALIZE </code>cells property flag. Set through <code>
		CUGCell::SetPropertyFlags</code>. 
		</li>
	</ul>
	</li>
</ul>
<h4>CUGCtrl:</h4>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The BestFit function will now send <code>CUGCellType::OnChangedCellWidth</code> 
	and <code>CUGCtrl::OnColSized </code>notifications 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>OnSheetSetup </code>will now allow users to setup all of the 
	sheets properly, including side heading width. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>CUGCtrl::AdjustComponentSizes </code>and <code>CUGCtrl::Moved</code> 
	will not redraw the grid when paint mode is disabled. The <code>
	AdjustComponentSizes</code> will perform all sizing calculations, but will 
	not redraw any of the grids components. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>CUGCtrl::OnPaint</code> and <code>SetPaintMode (TRUE) </code>will 
	call <code>AdjustComponentSizes </code>instead of <code>RedrawAll </code>
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>CUGCtrl::OnPaint</code> will not pre-paint the entire grid view 
	area with a button face-color, now this function will only draw the bottom 
	right area that is not covered by the scrollbars or any other grids 
	component 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Added new notification <code>CUGCtrl::OnSelectionChanged</code>, which is 
	called by the multiselect class to inform the user that selection has 
	changed. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Added a <code>CUGCtrl::EnableScrollOnParialCells</code> function which 
	control how grid behaves when user drags mouse over partially visible cells 
	(bottom or right side of the grid area), by default we will treat this area 
	as outside of the grid and we will scroll using current ballistics settings. 
	The benefit of this flag is that it is now possible to prevent the grid from 
	taking any action when the mouse is over this (gray) area. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>CUGCtrl::BestFit</code> and <code>CUGCtrl::FitToWindow</code> 
	functions are now virtual 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Added <code>CUGCtrl::AddFontIndirect </code>function that allows users to 
	add <code>CFont </code>objects to the grids font list by passing a <code>
	LOGFONT </code>object 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>CUGCtrl::OnKillFocus </code>will now provide pointer to the new 
	window along with the section that lost focus. </li>
</ul>
<h4>CUGGrid:</h4>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Added <code>TempDisableFocusRect </code>and <code>PaintDrawHintsNow </code>
	functions to allow for even quicker redraw 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>CUGGrid::OnPaint</code> determines what are the cells that should 
	be updated (if a rect is invalidated), and redraws only the required cells 
	plus the current cell. </li>
</ul>
<h4>CUGTab:</h4>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Added a <code>CUGTab::GetTabLabel </code>function to allow retrieval of a 
	tab label string </li>
</ul>
<h4>Miscellaneous:</h4>
<ul style="list-style-image: none">
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	Tooltips will now work on heading cells 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The <code>m_paintMode </code>flag is now set to <code>FALSE </code>when the 
	grid is created, this will prevent repainting until the grid creation/setup 
	is completed. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The multiselect class will now report number of groups properly. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The multiselection will now clear when user selects a block of cells 
	(dragging, or SHIFT-click) and clicks on the last selected cell. 
	</li>
	<li style="list-style-image: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: black">
	The Ultimate Grid will properly compile now when <code>UG_ENABLE_PRINTING
	</code>is not defined</span></li>
</ul>

</body>

</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
Canada Canada
In January 2005, David Cunningham and Chris Maunder created TheUltimateToolbox.com, a new group dedicated to the continued development, support and growth of Dundas Software’s award winning line of MFC, C++ and ActiveX control products.

Ultimate Grid for MFC, Ultimate Toolbox for MFC, and Ultimate TCP/IP have been stalwarts of C++/MFC development for a decade. Thousands of developers have used these products to speed their time to market, improve the quality of their finished products, and enhance the reliability and flexibility of their software.
This is a Organisation

476 members

Comments and Discussions