CC95

所属分类:按钮控件
开发工具:Delphi
文件大小:26KB
下载次数:4
上传日期:2009-10-12 07:15:04
上 传 者Yelang
说明:  delphi控件,为编程提供封装方法,为他们提供方便,希望他们能够读写方便!
(delphi controls, to provide packaging for the programming methods, to provide them with convenient, that they can easily read and write!)

文件列表:
ComCtrls95.pas (86726, 1999-02-22)
ComCtrls95.rtf (14827, 1999-02-22)
FloatingForm.DFM (262, 1998-04-02)
FloatingFormD2.DFM (232, 1998-07-05)
ComCtrls95.dcr (932, 1998-04-02)

Unit: ComCtrls95 Components: TPage95Control, TTab95Control, TTab95Sheet Author: Ryan J. Mills Author Email: rmills@freenet.edmonton.ab.ca Code Status: Freeware Additional Codeing: Daniel Parnell, Patrick O'Keeffe, Dave Lively (Floating Tabs), Earl F. Glynn (Rotation Routines), Mark Timmings, Andrea Sessa, Walter Sciancalepore, Flemming Gorzelak, Richard Chang, Juan Pedro Laencina. Disclaimer: THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. Because of the various software environments into which this code may be used, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. Good data processing procedure dictates that any program based on this code be thoroughly tested with non-critical data before relying on it. THE USER MUST ASSUME THE ENTIRE RISK OF USING THE ACCOMPANYING CODE. Comments: This code is being released as freeware. The author asks that if you modify the code that you email a copy of the new source back to him. Appreciation: Many thanks to Mark Timmings for his many emails reporting bugs in the controls and for adding his personal touch to the control interface. I appreciate all your help Mark! History: (mm/dd/yy) 04/01/*** - Started on the initial coding of the controls cause I got bored one day and because I found that Borland hadn't finished implementing the common tab controls from M$. 04/10/*** - Was asked to look at implementing the Floating Tab sheet idea. Updated and then implemented parts of the code from Dave Lively's FloatingTabSheet component. 04/14/*** - Determind to implement non-TrueType fonts on the Vertical Tab positions, I found the BMP rotation code from Earl F. Glynn on a DejaNews post and modified it for internal use. 04/19/*** - Modified the BMP rotation code to overcome the 24-bit limitation that existed with in it. Now is able to handle BMP bit levels from 16 color to 24 bit color. Currently unable to test 32 bit color, but the new code should be able to handle that as well. 04/21/*** - Began implementation of adding Images to tabs. Modifying the base class to try and use inheritance just screwed up the two control types. So I've implemented the Imgage handling in the two descendants of TCustomTab95Control. 04/23/*** - First release into public domain. (v1.0) 04/27/*** - Revised TPage95Control and TTab95Sheet to include the following changes. TPage95Control added two events, OnFloatTabSheet and OnDockTabSheet. TTab95Sheet added the same two events and also added a read only property called FloatingForm. FloatingForm allows you to change properties of the floating form. This property is only valid after the TTab95Sheet.OnFloatTabSheet event has been fired and while the tab is floating. Thanks to Mark Timmings for these changes. TPage95Contols OnFloatTabSheet and OnDockTabSheet events fire before TTab95Sheets events do. 04/28/*** - Fixed a bug with images displaying properly after a floating tab was returned to its TPage95Control. Thanks to Rick Beerendonk for finding that one. 04/29/*** - Rewrote the Grip portion of the TTab95Sheet control. It is no longer a seperate control but embedded in to the TTab95Sheet. Corrected a display bug found by Mark, when manually floating the tabs via the FloatTabSheet method. As well added TextRotation to the control to allow vertical or horizontal text when the tabs are at any position, thanks to Andrea Sessa and Walter Sciancalepore. Publishing next release of the components today. (v2.0) 04/30/*** - Mark added the TabInactiveColor property. (Started v2.1) 05/03/*** - Fixed about half a dozen problems with the TTab95Sheet and TPage95Control. Included in the Tab Access Violation message a string to determine from which method the access occured. This has turned out to be a god send for debugging purposes. (v 2.2) 05/04/*** - Added Color and InactiveTabFonts to the controls. Thanks to Troy Penke for the Color stuff. I didn't think it would be that easy! Oh well I guess that's why I release this stuff as PD. 05/21/*** - After a break from these controls I've added a touch more sophisication to the controls. I've cleaned up the code a little and added some property logic to the way buttons and tabs work together. The code clean up needs to be way more substancial but I don't have the time right now. 05/27/*** - After a quick bug demo I've corrected a big problem in the logic of what happens when a user tries to add a tab to a page/tab control and there is a tab hidden within the control. (v 2.3) 06/05/*** - After a long lull Mark has provided me with the the last of his changes. This includes the Floating property of the TTab95Sheet component. (v 2.3.1) 07/06/*** - Here it is at last! I've finally implemented the D2 stuff and it wasn't as hard as I thought it was going to be. This version has the D3 consts declared in it that D2 are missing and I've added a sucky image rotation for non-TTF's. I've tested it a little on both systems and I think it's ready....Thanks to Flemming Gorzelak for sending me a bug fix for the components that he discovered while using them in C++ Builder. So now I've decided to declare these things ready for D2, D3 and C++ Builder (v3). I've also added tab hints! I've also added a method to do tabtracking for people who want to do Drag'n'Drop stuff(?) Hey, it was asked for and I could see a use for it! (v2.5) 07/12/*** - I got my hands on a beta copy of D4 and tried to install the controls. BIG Mistake!! It seems that Borland (Inprise) has decided to do away with a couple of D3's published (and documented) components and method declarations in D4. I wasn't impressed. I've gone through and changed the code and added in conditional defines for D2 and D4. With these changes I've been able to successfully compile the controls (and run them) under D2, D3 and D4. I've also been told that they run under BCB as well. The default defines SHOULD work in all cases. As usual use at your own risk. 07/28/*** - I've finally tested the controls under a full release version of D4 and everything seems to work fine. I've also added a GetTabAt function from a suggestion of Richard Chang. I've noted a couple of discrepencies in the way the TabHints work so I've started looking at correcting them. Nobody has complained yet so I think I'll leave them until the next release. (v2.7) 08/04/*** - After receiving an email from Stefan Marte I've discovered and fixed a bug in trying to retrieve the imageindex of a TTab95Sheet when the page is floating. 08/13/*** - After arguing with a co-worker about how a floating form should behave after the pagecontrol was freed up, I've fixed a problem arising from that situation. I've also added in the ability to lock a forms position to always floatontop of the applications mainform. Thanks to Juan Pedro Laencina for this enhancement. I've received a number of requests for the floating forms icon to match the Tab images on the pagecontrol and so I've made that the default action. To see the floating forms icon you need to set the borderstyle of the floatingform during the OnFloatChange event to a border style that supports the visible icon. **NOTE** The floatingform property is only available after a OnFloatChange event. You should test it for nil before using it!!! (v2.72) 08/30/*** - After recieving a note from Magnus Gittins, I've discovered a bug in the controls. I haven't quite got a handle on this one yet but here is what happens: Under WinNT, with MS San Serif (8pt), if you set the tabs vertical and the textrotation to trvertical when you type a word who's textwidth is *** pixels long you get an access violation. It's not just *** pixels I've also determined that 178 (and others before and after) cause the same problem. Under Win95 this error doesn't occur so I'm assuming that it's a WinNT problem with TBitmaps but I'm not positive. If you can shed any light on this problem please let me know. Thanks. 08/31/*** - Arrgh!! I hate it when I do something really dumb and it comes back to kick me in the rump. I found what was causing the AVE with the font rotation stuff and have fixed it. It was one errant line of code where I was setting a brush but not with an assign statement. As soon as I fixed it there was no longer any problem. Releasing the fix today. (v2.8) 02/06/99 - After a long break I've been alerted to a problem with v2.8 of the controls. It seems that some people like to use images larger than 16x16. I don't personally understand why but I've now fixed the problem with images being larger that 16x16. It seems that a normal 32x32 image icon didn't map correctly with the text that was being displayed on the tab. So I've now corrected this and at the same time I've corrected a nagging problem with the text and images on the veritcal tabs as well. I've also replaced a portion of the image rotation code and text drawing code. These changes were done to speed up the drawing of static fonts and to draw the accelerator key text properly. (Sombody sent me most of the code that did this and I've included it but I've in this version of the control. Unfortunatly I've lost the email, with his name. I appoligize for that. I'm attempting to recover the lost message but....) Accelerator keys now work for both TPage95Control and TTab95Control. One problem that has been discovered and no fix found yet is the fact that DrawText doesn't draw the accelerator key properly if the TrueType font is rotated (vertical). This is an anoying problem. (v2.9) 02/10/99 - Thanks to Tom Lisjac I've discovered that I've got a rather nasty D2 problem with the existing ComCtrl95 code. I've fixed the code have have started releasing it. (v2.91) 02/22/99 - Thanks to Eric Grange, Michael Powers and Joo Lira for pointing out some bugs that really shouldn't have been there in the first place! I've got more support in the controls now for D4, better support for BCB3 (I hope) and fewer problems with D2. Thanks to Michael for running most of the BCB3 testing. We're still working on a few minor issues but I hoppe to have those out of the way with the next public release. Thanks goes to Bob Daneshfar for pointing out the Shortcut shortfall I left when I implemented the shortcut keys on the controls.(v2.92)

近期下载者

相关文件


收藏者