http://www.dbi-tech.com/DeveloperBulletins/June08.htm
DBI Developer Bulletin June 2008
We're closing in on the end of the second quarter of 2008 and the outlook is still strong. Increasing development activity both in .NET and COM-based IDE's supports our latest product releases and confirms the new product upgrades and releases we have on tap for the balance of the year. This month our tech tips speak to development techniques for .NET and ActiveX using ctMDay and dbiDayView.
In this issue...
* June '08 Special Offer - Buy One get One FREE * TechTips - ctMDay all day ellipse click, .NET combo box by enumerator
and Intellisense for Access2003/2007 ActiveX
* Released - dbiExplorerBar 2.0 for .NET * Released - Calendar Tools 2.5 for .NET * Released - dbiList 1.0 for .NET * Released - Solutions Schedule 2.0 for .NET * DBI Product Info Quick Links
=================================================================
June '08 Special Offer:
Purchase a DBI product license* and receive a second license of equal or lesser value FREE
for example: a) a purchase of Solutions::Schedule 2.0 for .NET - Standard ($989) and receive a second license FREE
b) purchase Solutions::Schedule 8.0 (COM) and get Component Toolbox 7.0 FREE
Get the Details at:
https://www.dbi-tech.com/Special_Offers.asp ( Offer ends June 30, 2008, *special offer not combinable with other discounts or specials, upgrades, enterprise licenses and source code products are excluded )
=================================================================
Tech Tip – ctMday all day ellipse click, .NET combo box by enumerator
and Intellisense in MSAccess 2003/2007 ActiveX Hello and welcome to this week’s DBI Tech Tips, since we are having a two-for promotion we thought we’d toss in a three-for tip… For the COM developers out there, we have been asked how to trap the ellipse click in ctMday. By itself, the control just shows the ellipse to indicate that there are more all day appointments than are visible in the column. To that end, it was never intended to be clicked on, we always thought a whiteboard type approach with a listbox was within the domain of the developers. We’ve had some requests wherein people want to throw a dialog with a listbox or a custom tree view for that particular area when the ellipse is clicked. 
So we put some ideas to the task and discovered that we can use the internal drag/drop methods/events to capture when the all day area has been clicked, but not on an appointment. Here is the code in vb6… Dim booIsDragDrop As Boolean 'Used to indicate wether or not we are in true drag/drop mode. Dim curX As Integer Dim curY As Integer Private Sub ctMDay1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) booIsDragDrop = False 'Set the booIsDragDrop to false, in case we are using actual drag/drop code Me.ctMDay1.DragDrop x / Screen.TwipsPerPixelX, y / Screen.TwipsPerPixelY 'Fire the drag/drop event to get the current position in the control
End Sub Private Sub ctMDay1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 'Use the mousemove to capture the current x/y of the mouse 'for use in the appoinmentat function in DropList curX = x / Screen.TwipsPerPixelX curY = y / Screen.TwipsPerPixelY End Sub Private Sub ctMDay1_DropList(ByVal nIndex As Integer, ByVal nTime As Integer, ByVal nColumn As Integer) If booIsDragDrop = False Then Me.Label1.Caption = CStr(nIndex) If nIndex = -1 And Me.ctMDay1.AppointmentAt(curX, curY) = 0 Then 'Enter code here to throw a listbox or custom dialog listing all the allday appts. MsgBox "This is an ellipse or a blank area of allday for col:" & CStr(nColumn) End If Else 'Do our actual drag/drop code End If booIsDragDrop = True 'Set the default in case an actual drag/drop fires. End Sub And for our .NET users we came across an interesting use of the enum class for setting default items in a combo box. Basically you use the gettype and getValues methods inherited by all enums to bind the enum to the combo box. So with two lines of code, we can bind
our dbi.enumFillType to a combobox and set the enum on a control as the value in the combo box changes. Here is a quick sample… Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.comboFillType.DataSource = System.Enum.GetValues(GetType(Dbi.enumFillType)) End Sub Private Sub comboFillType_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comboFillType.SelectedIndexChanged Me.dbiLabel1.FillType = Me.comboFillType.SelectedValue End Sub
Finally, we have
always been troubled with the lack of intellisense surfaced
from the OLE container in Access/VBA. After some digging and
playing with early binding, there is a fairly
straightforward way to surface the intellisense for our
ActiveX controls... We basically declare a public variable
that is based on our ActiveX class instead of a generic
object. Then in the form load we set those variables equal
to our actual controls. After that, simply reference the
declared variables and you will see all the lovely
properties/methods and function parameters for the controls.
Here is a snippet from an Access Form. It assumes two ctList
controls on the form (ctList1 and ctList3) and a standard
command button (Command2). Keep in
mind that there may be repercussions to using early binding
in your MDE/ACCDE files, see MSDN for more information on
MSAccess and early vs. late binding.
Option Compare Database
Public ListBind1 As ctList
Public ListBind2 As ctList
Private Sub Form_Load()
Set ListBind1 = ctList1.Object
Set ListBind2 = ctList3.Object
End Sub
Private Sub ctList1_FirstDraw()
ListBind1.AddItem ("The First One")
ListBind2.AddItem ("The Second List")
End Sub
Private Sub ctList1_ItemClick(ByVal
nIndex As Long,
ByVal nColumn
As Integer)
MsgBox (ListBind1.ListText(nIndex))
End Sub
Private Sub Command2_Click()
ListBind1.AddItem ("Intellitest List 1")
ListBind2.AddItem ("Intellitest List 2")
End Sub
As always, take care and have a great day!
=================================================================
Released
=================================================================
dbiExplorerBar 2.0 for .NET - The Highlights:
*
Designed for Visual Studio 2005, compatible with Visual Studio 2008
* Sample Applications included - Smart Client, C# and VB.NET. * ExplorerBar, OutlookBar, NavigationBar, TaskBar, ToolBar ...all in one control
| Features include |
| * Background Image |
* Multi-Column |
| * Context Menu Strip |
* Smooth Scrolling |
| * Custom Arrow Button Images |
* Stock Vista & XP Styles: |
| * Multi-Column Drag-n-Drop |
horizontal edge |
| * Host Lists & Panels |
vertical edge |
| * Host other controls |
Outlook |
| * Gradient background styles |
Windows Explorer |
| * Independent List Header Image |
Explorer - ToolBar |
| * Independent List Item Image |
SideBar - Outlook |
| * Individual List Item Fill Types |
* Standard item collections |
| (global or per list item) |
* XML presentation and data support |
| * List Item word wrapping |
** Royalty Free RunTime Distribution |
*** Prices starting at $129 per developer |
=================================================================
Calendar Tools 2.5 for .NET
This update includes a couple of minor component repairs and most significantly the entire Calendar Tools for .NET 2.0 Library has been recompiled under the .NET Framework V2.0. This is an interim update for licensed users of Calendar Tools 2.0 for .NET or Studio Controls R3.
For further details:
http://www.dbi-tech.com/updates_calendar_tools_2_NET.asp#CT25Update
=================================================================
dbiList 1.0 for .NET - The Highlights:
*
Designed for Visual Studio 2005, compatible with Visual Studio 2008.
* Sample Applications included - Smart Client, C# and VB.NET. * ListView and TreeView in one control
When a hardcore reporting toolkit is too much dbiList is the number one choice for quick, stylized canned report generation. dbiList is the ideal control for detailed data presentations offering end-user multi column sorting, node item drag and drop, search and filtering features. With dbiList's integrated tree view - full hierarchical data presentations and drill down capabilities are only a mouse click away.
Presentation Highlights |
| * Body Text |
* Headers/Footers/ |
| * Node/cell images |
* Zoom/Shrink |
| * Custom Node Text |
* Body Column Alignment |
| * Word wrapping |
* Independent Header List Image |
| * Per node formatting |
* Independent List Item Image |
| * Alternating row colors |
* Individual List Item Fill Types |
| * Printing |
* Background Image |
| |
|
Data Interaction Highlights |
|
User Interaction Highlights |
| * Drag & Drop List items |
* Node Navigation Methods |
|
* Excel Style Resizing |
| * XML data read and write |
* Soft-seek search |
|
* Incremental Search |
| * Hierarchical Data support |
* Node Item Tag property |
|
* RunTime Editing |
| * Node/multi-column Sorting |
* Drag & Drop Node items |
|
* Cell Tips |
| * Multi-Node Select |
|
|
|
| |
|
|
|
| To view additional new features and receive further information more... |
=================================================================
Solutions Schedule 2.0 for .NET - The Highlights: 
*
Designed for Visual Studio 2005, compatible with Visual Studio 2008.
* Sample Applications included - Smart Client, C# and VB.NET.
The following new feature highlights are in addition to the new Windows Vista styles, extended Windows XP styles and the features found in the Standard Edtion also highlighted below:
* User-Drawn TimeBars provide developers an opportunity to take over the painting of any or all time bars in the dbiSchedule control. * Scroll to Date Time method - an effective means for programmatically navigating to specific points in time on a schedule. * TimeBar Linking styles - Start to Start, Start to End, End to Start and End to End with Standard, Reciprocal or Direct Links. Link lines can also be given unique colours enhancing visual presentation of TimeBar relationships.
Standard Edition new key feature highlights:
* ListView & TreeView in one - The list object in the dbiSchedule control acts as both a List View and a Tree View. * Copy TimeBar - which when invoked provides a keyboard short-cut with a click and drag action to copy one or more TimeBars simultaneously. * TimeBar Activity display - a timebar within a timebar ideally suited for visually presenting the percentage of completion of an activity.
* TimeBar Split Edit - indicated by the scissors mouse cursor, this edit mode effectively splits a TimeBar into two sections at the cursor position.
To view additional new features and receive further information on new licensing options and upgrades more...
=========================================
Quick links:
dbiExplorerBar 2.0 for .NET - Quick, stylized multi-bar presentation
http://www.dbi-tech.com/product_page_dbiExplorerBar.asp
dbiList 1.0 for .NET - reporting made easy
http://www.dbi-tech.com/product_page_dbiList.asp
Solutions::Schedule 2.0 for .NET -
http://www.dbi-tech.com/product_page_SolutionsSchedule_DotNet.asp
Component Toolbox .NET v2.0 -
http://www.dbi-tech.com/Product_Page_Component_Toolbox_NET.asp
Solutions::Schedule 8.0 (COM) -
http://www.dbi-tech.com/Product_Page_Solutions_Schedule.htm
Studio Controls R3 (.NET & COM) -
http://www.dbi-tech.com/product_page_Studio_Controls.asp
Component ToolBox 7.0 (COM) -
http://www.dbi-tech.com/product_page_Component_Toolbox.asp
Calendar Tools 2.0 for .NET -
http://www.dbi-tech.com/product_page_Calendar_Tools_DotNet.asp
Calendar Tools 3.0 (COM) -
http://www.dbi-tech.com/product_page_Calendar_Tools.asp
Solutions::PIM Professional 3.0 (COM) -
http://www.dbi-tech.com/Product_Page_Solutions_PIM.asp
Staff-Scheduler Source Code -
http://www.dbi-tech.com/Product_Page_Staff_Scheduler_Source_Code.asp
Extractor 7.2 SDK - Web content summarization in real time
http://www.extractor.com | http://www.ExtractorLive.com
=========================================
=========================================
HAVE A GREAT PROGRAMMING DAY!
=========================================
=========================================
Contact:
www.dbi-tech.com
| www.extractor.com
|
www.staff-scheduler.com |
DBI Sales
800.670.8045 | 204.985.5770 |