[.netCF 3.5] Sense Interface SDK v1.50 (03.19.2011) [HTC's Sense UI Look 'n Feel]

Search This thread

eboelzner

Retired Recognized Developer
May 19, 2008
198
64
Manchester
OnePlus 10 Pro
I have created a new .netCF SDK that mimics HTC's Sense UI Look 'n Feel...

I have attempted to reproduce, as close and as possible, the human interaction with this WM skin from HTC.


Highlights:
  • Separate WVGA/WQVGA Resource libs [for you skinning guru's]
  • Full Apha Blending, Transparency GDI+ support and API available
  • WYSIWYG Visual Studio development [asmmeta dll included!]
  • Full Finger Control[List attempts to learn your scrolling tendencies!]
  • Full Tap 'n Hold OS integration
  • Auto SIP detection [scrolls list up to display textbox]
  • Combobox size detection [scrolls list up to display max list items]
  • Full Trackbar animation
  • List scrolls N, S, E, and West
  • Full 'Sense' Messagebox support [plus a SenseSDK bonus * see images]
  • List panels can react to panel press on entire surface or just the control area
  • List panels can be configured to raise/not raise click events based on panel press
  • List panels can show/hide panel animation
  • Panel text is easily updated... base on other panel and/or child interaction
License:

You are free to use this SDK in any manner except for the following:
  • You may not disassemble or reverse engineer
  • create and sell a product "for profit" without seeking permission first

List Panels
  • SensePanelBase *new in v1.3
  • SensePanelButtonItem *new in v1.3
  • SensePanelCheckboxItem
  • SensePanelComboItem
  • SensePanelDateTimeItem *new in v1.3
  • SensePanelDividerItem
  • SensePanelItem
  • SensePanelMaskedEditItem *new in v1.38
  • SensePanelMenuItem *new in v1.50
  • SensePanelMoreItem
  • SensePanelNumericItem
  • SensePanelOnOffItem
  • SensePanelRadioItem
  • SensePanelTextboxItem
  • SensePanelTrackbarItem

Controls
  • SenseListControl [*Panel Host]
  • SenseButtonControl
  • SenseCheckboxControl
  • SenseComboControl
  • SenseHeaderControl
  • SenseLabelControl
  • SenseMaskedEditControl *new in v1.38
  • SenseNumericControl
  • SenseNumericFSControl [* Full Screen!!!]
  • SenseOnOffControl
  • SenseRadioControl
  • SenseTextboxControl
  • SenseTimeFSControl *new in v1.3
  • SenseTrackbarControl

Sense API
  • SIP Management
  • SenseDateBox *new in v1.3
  • SenseMessageBox
  • SenseMenu *new in v1.50
  • SenseTimeBox *new in v1.3
  • Full Screen Form
  • Translucent Form
  • Transparency Host Form
  • Full Microsoft GDI+ Interop wrapper
  • QVGA / VGA Scaling
  • etc. etc. etc.

What's Included
  • SenseSDKDemo.exe [includes VS2008 source]
  • StedySoft.SenseSDK.dll [SDK lib]
  • SenseSDK.Resources.QVGA.dll
  • SenseSDK.Resources.VGA.dll
  • StedySoft.SenseSDK.PocketPC.asmmeta.dll [designer meta data]
  • TTF fonts for your Emulator development

Change Log
  • v1.0 - Initial Release - March 18th, 2010
  • v1.1 - March 22nd, 2010
    1. Listcount = 0 background draw
    2. RadioPanel Click event NullExceptionError
    3. Windows Mobile base SDK now @ 6.0
  • v1.2 - April 15th, 2010
    1. Combo 'List_Index_Changed' event now fires
    2. Show/Hide Children List events added
    3. Show/Hide Children List methods added
    4. Textbox password character text honored
    5. All ItemStatus enums grouped to single enum
      located @ StedySoft.SenseSDK.ItemStatus
    6. Button click double event fixed
    7. Child panel now supports ALL available panel items
      (includes SensePanelComboItem and SensePanelTextboxItem)
    8. Demo App includes samples of all new and bug fix code
  • v1.3 - May 7th, 2010
    1. New Control(s) *see bold notes above / new image adds below
    2. A SPECIAL THANKS to Wernfried Schwenkner for his datebox code contribution!
    3. New list scroll code - exposes 5 properties to developer
    4. New MessageBox Draw code
    5. Name and Visible properties added to PanelItems
    6. New PanelItemBase
    7. SenseSDK Methods, Properties, Enums, etc re-organized into logical namespaces... new SenseAPIs namespace
    8. All known bug fixes including adding combo items after combo creation, text width w/o images, clear list topIndex issue, etc.
    9. Demo App includes samples of all new and bug fix code
  • v1.35 TEST - May 16th, 2010
    1. Added Time class 12/24 hr formats
    2. Localized Msgbox/Date/Time
    3. Added 24hr. time control style(s)
    4. Added IImage methods (LoadFromFile & ReleaseIImage)
    5. Please test and give me feedback for v1.4 release...
  • v1.36 TEST/BUG FIXES - May 19th, 2010
    1. Added new PanelItem Time Control *flip clock style
    2. Localized string additions/updates
    3. Please test and give me feedback for v1.4 release...
  • v1.37 TEST/BUG FIXES - May 26th, 2010
    1. Fixed Combo issues
    2. Added event OnBeforeChildItem to List so MorePanelItem can be dynamically added. (See demo app for sample)
    3. Added Display Style for TexboxPanelItem
    4. Added Multiple Display Properties to panel Item for Primary and Secondary text size/position/etc...
    5. Please test and give me feedback for v1.4 release...
  • v1.38 TEST/BUG FIXES - June 6th, 2010
    1. Fixed Combo issues (w/no items)
    2. Updated localization strings
    3. Fixed Child Panel return
    4. Added multi-line textbox support. (See demo app for sample)
    5. Added MaskedEdit PanelItem and Control.
    6. Please test and give me feedback for v1.4 release...
    7. Sample PanelItems to come... see 2nd post for availabilty!
  • v1.39 - June 11th, 2010
    1. Fixed Dispose methods that were not firing on list disposal (* see note below)
    2. Added DemoProject in VB.net
    3. Added sample translucent form app (C# and VB)
    4. Added sample custom panel item (Inherits PanelBase; C# and VB)
    5. Sample PanelItems using low level ISenseListItem to come... see 2nd post for availabilty!
  • v1.50 - March 19th, 2011
    1. Added SenseMenu (simple menus that look the part)
    2. Divider Items in a combo dropdown (see C# demo code)
    3. Numerous bug fixes - tooooooo many to list!
(* When closing a form that hosts the SenseList control, you MUST clear and dispose the control!!!!!!! See the demo application for examples [Form_Closing and Form_Closed] If you fail to call these methods, the panel items and subsequent child items will not be disposed and you will eventually get OutOfMemory Exceptions.)

*** I am working on a VS2008 install for the SDK that will automatically add the appropriate files, and toolbox items to your dev environment... this should fix the greyed out toolbox issue.

SenseSDK is NOT supported under .netCF 2.0! YOU WILL GET "Out of Memory" exceptions all day long as the native drawing routines used by the SDK are resident only in .netCF 3.5!!!

Please DO NOT post any bugs/issues if you are attempting to author under .netCF 2.0!



D/L
Per request... but not required: If you find this developer tool useful...


EDIT:

For designtime...
Regardless of your target resolution, the design environment REQUIRES the QVGA resource dll... as all the WYSIWYG images reside there.

The metadata assembly (StedySoft.SenseSDK.PocketPC.asmmeta.dll) MUST be added to the "designer metadata" directory.
For CF 3.5, this directory would be the following...

C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\DesignerMetadata

This should allow the dependency to the StedySoft.SenseSDK.PocketPC.asmmeta.dll assembly to be found.

For additional information on adding this SDK to your development environment, please see the enclosed text file.


Finally... The images...
ScreenShots.png
 
Last edited:

eboelzner

Retired Recognized Developer
May 19, 2008
198
64
Manchester
OnePlus 10 Pro
Reserved

Sample SenseList Panel Items

06.11.2010 Sample PanelItem derived from PanelBase - Included in SenseSDK download




Community Contributed SenseList Panel Items







Here is a list of programs based on SenseSDK
  1. CHTEditor by johncmolyneux
  2. MyListManager by mylostblog
  3. SenseSlider .NET CF Control by LunaticShade
  4. TrophyToGo - PSN-Trophy-Viewer by KUV1977
  5. Mp3 Tag Editor by virgilp
  6. HTC Tasks by ng-gdata
  7. SIP by Aleksew1991
  8. Google Visual Voicemail by Sl4sher
  9. SenTi by LucasR93
  10. Mobile TV by artn3r
  11. WoL Everywhere by LichtiMC
  12. Flip2Mute by thisisatest3
  13. LeoExtendedNotifications by NetRipper
  14. LateReader by vizier
  15. Htc Menu Loader by francarl
 
Last edited:

dwizzy130

Senior Member
Nov 14, 2007
742
3
I have created a new .NetCF SDK that mimics HTC's Sense UI Look 'n Feel...

I have attempted to reproduce, as close and as possible, the human interaction with this WM skin from HTC.


Highlights:
  • Seperate VGA/QVGA Resource libs [for you skinning guru's]
  • Full Apha Blending, Trancparency GDI+ support and API available
  • WYSIWYG Visual Studio development [asmmeta dll included!]
  • Full Finger Control[List attempts to learn your scrolling tendencies!]
  • Full Tap 'n Hold OS integration
  • Auto SIP detection [scrolls list up to display textbox]
  • Combobox size detection [scrolls list up to display max list items]
  • Full Trackbar animation
  • List scrolls N, S, E, and West
  • Full 'Sense' Messagebox support [plus a SenseSDK bonus * see images]
  • List panels can react to panel press on entire surface or just the control area
  • List panels can be configured to raise/not raise click events based on panel press
  • List panels can show/hide panel animation
  • Panel text is easily updated... base on other panel and/or child interaction
License:

You are free to use this SDK in any manner except for the following:
  • You may not disassemble or reverse engineer
  • create and sell a product "for profit" without seeking permission first

List Panels
  • SensePanelCheckboxItem
  • SensePanelComboItem
  • SensePanelDividerItem
  • SensePanelItem [Generic * Base]
  • SensePanelMoreItem
  • SensePanelNumericItem
  • SensePanelOnOffItem
  • SensePanelRadioItem
  • SensePanelTextboxItem
  • SensePanelTrackbarItem

Controls
  • SenseListControl [*Panel Host]
  • SenseButtonControl
  • SenseCheckboxControl
  • SenseComboControl
  • SenseHeaderControl
  • SenseLabelControl
  • SenseNumericControl
  • SenseNumericFSControl [* Full Screen!!!]
  • SenseOnOffControl
  • SenseTextboxControl
  • SenseTrackbarControl

Sense API
  • SIP Management
  • SenseMessageBox
  • Full Screen Form
  • Translucent Form
  • Transparency Host Form
  • Full Microsoft GDI+ Interop wrapper
  • QVGA / VGA Scaling
  • etc. etc. etc.

What's Included
  • SenseSDKDemo.exe [includes VS2008 source]
  • StedySoft.SenseSDK.dll [SDK lib]
  • SenseSDK.Resources.QVGA.dll
  • SenseSDK.Resources.VGA.dll
  • StedySoft.SenseSDK.PocketPC.asmmeta.dll [designer metadata]
  • TTF fonts for your Emulator development

ChangeLog
  • v1.0 - Initial Release - March 18th, 2010

D/L
Finally... The images...
ScreenShots.png

This may be a bit off topic, but what TSK are you using in those screen shots?

dwizzy130
 

eboelzner

Retired Recognized Developer
May 19, 2008
198
64
Manchester
OnePlus 10 Pro
Sense.TSK

Also... here is a WM 6.5.X theme [tsk] I arranged to round out the 'Sense' Look!

Ed

View attachment 295894

Edit: It has come to my attention that SOME of the images are from Livvens collection... all credit due to him. The TSK is my personal creation.
 
Last edited:

eboelzner

Retired Recognized Developer
May 19, 2008
198
64
Manchester
OnePlus 10 Pro
Sense.TSK

dwizzy130...

It is something I created for my ROM [TP2]... I see you in Calkulin's WVGA Kitchen forum all the time... And in the ROM forum you will see the Auto Provisioning app that I wrote... StedySoft :)

Ed
 

dwizzy130

Senior Member
Nov 14, 2007
742
3
dwizzy130...

It is something I created for my ROM [TP2]... I see you in Calkulin's WVGA Kitchen forum all the time... And in the ROM forum you will see the Auto Provisioning app that I wrote... StedySoft :)

Ed


Oh that's you? Awesome!
And the TSK looks great!
Do you want me to make a cab/EXT for you?

dwizzy130
 

eboelzner

Retired Recognized Developer
May 19, 2008
198
64
Manchester
OnePlus 10 Pro
Sense.TSK

Sure... that would be great! Thanks!

Spread the word around about my Sense SDK... hope developers like it! Took alot of time and effort to get that damn list to work!!! LOL

Ed
 

cnzqy1

Senior Member
Jan 17, 2009
589
1
Hmm... It looks much better than Manila Interface SDK, thanks!

@dwizzy: I think you can use VGA resources for WVGA.
 
Last edited:

ajhvdb

Senior Member
Nov 23, 2009
566
12
2 questions:
How can the developer change to transparent background? colors?

If I open the solution i get a message about 6.5.3. TDK
Do I need to upgrade VS 2008?
 
G

GuestK00306

Guest
This is unbelievable. Really great work! I love MichyPrima's Manila.NET SDK, but this is much more polished looking
 

TiTidom

Member
Oct 3, 2007
39
4
Paris
Hi,

When i try to open the sample project, i have an OutOfMemoryException in the IDE, as it's trying to paint the header :( (with VS2008)

And when i try to create a new project (WM6 SDK, .NET3.5 and add a reference to your DLL) if i add your controls in the toolbox, they are greyed, so i can't add one on my form, is it only designed for 6.5.3 DTK ??

Thank's for your hard work, i hope i will be able to use it, it looks greats !!!! ;)

@++
TiTidom.
 

mfcb

New member
Dec 7, 2008
3
0
When i try to open the sample project, i have an OutOfMemoryException in the IDE, as it's trying to paint the header :( (with VS2008)

i have the same problem, additionally when i open the "control test form" it has out of memory errors with the on/off toggle

(vs2008, 6.5.3 TDK installed)
 

Archer

Inactive Recognized Developer / Retired Senior Mod
Jul 9, 2008
14,002
4,003
Manchester
Google Pixel 8 Pro
This is the best Manila style SDK that's currently available. It has all the strengths of the others, without any of their weaknesses. It's going into the next version of my CHTEditor, and I've already started work on another app that uses it, but I'm not going into what that is yet ;)

Nice one mate - very impressive stuff. Thanks a lot :)

Edit:
The above comments were made after running the demo application. I cannot develop with these controls as they are greyed out in the toolbox in VS2008. I've tried LOTS of things to get them to work, but they simply don't. It's a real shame, but they just don't work for me.
 
Last edited:

eboelzner

Retired Recognized Developer
May 19, 2008
198
64
Manchester
OnePlus 10 Pro
Design Time...

Because the design environment includes an assembly metadata dll... this needs to be added to the folder that currently has the Microsoft assembly metadata dll's.

I will research exactly where and how, but this is necessary to see the controls paint while in dev mode (PInvoke requires this)...

Sorry for the confusion... I will rectify ASAP!!!!

Ed

EDIT: From Microsoft Technet...

The easiest way to resolve this is to add the metadata assembly (StedySoft.SenseSDK.PocketPC.asmmeta.dll) to the "designer metadata" directory.
For CF 3.5, this directory would be the following...

C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\DesignerMetadata

This should allow the dependency to the StedySoft.SenseSDK.PocketPC.asmmeta.dll assembly to be found.
 
Last edited:

Archer

Inactive Recognized Developer / Retired Senior Mod
Jul 9, 2008
14,002
4,003
Manchester
Google Pixel 8 Pro
Because the design environment includes an assembly metadata dll... this needs to be added to the folder that currently has the Microsoft assembly metadata dll's.

I will research exactly where and how, but this is necessary to see the controls paint while in dev mode (PInvoke requires this)...

Sorry for the confusion... I will rectify ASAP!!!!

Ed

EDIT: From Microsoft Technet...

The easiest way to resolve this is to add the metadata assembly (StedySoft.SenseSDK.PocketPC.asmmeta.dll) to the "designer metadata" directory.
For CF 3.5, this directory would be the following...

C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\DesignerMetadata

This should allow the dependency to the StedySoft.SenseSDK.PocketPC.asmmeta.dll assembly to be found.

Just trying that now - thanks for the advice :)

Edit:
Okay - If I create a .Net 2.0 project, the controls are available. So I take it that these controls are for .Net 2.0 only, and not for 3.5?

Also, I'm getting the previously mentioned error when trying to render a header control (see the attachment for a screenshot).
 

Attachments

  • header-error.jpg
    header-error.jpg
    67.2 KB · Views: 238
Last edited:

eboelzner

Retired Recognized Developer
May 19, 2008
198
64
Manchester
OnePlus 10 Pro
Just trying that now - thanks for the advice :)

Edit:
Okay - If I create a .Net 2.0 project, the controls are available. So I take it that these controls are for .Net 2.0 only, and not for 3.5?

Also, I'm getting the previously mentioned error when trying to render a header control (see the attachment for a screenshot).

I will check it out... sorry for the inconvienence! I guess that since I developed the library on this system, there must be a default connection to the proper file.

If I do not figure it out quickly, I will disable the assembly metadata for now... I will keep the thread posted!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    Sorry for the delay getting this update to you guys... have been VERY busy, but here ya go... Version 1.5!!!

    Lot's of bug fixes, and some new features too!!

    In the ROM that I cook for the Imagio, I have replaced this version for RSS Tab, Facebook Tab, and Cookie Home Tab Editor... with no issues, actually fixes a bug in CHTEditor 2.0!!!!!

    Take care... Ed
    2
    i'm still having issue with my toolbox doesn't show up the controls when creating .net 3.5 project. how to solve this?

    The toolbox does not work with this SDK, it is a known problem. Once you've got through a few examples the toolbox isn't quite as important.
    1
    COM Exception

    Hey there eboelzner!

    First of all, congratulations for this SDK, it's quite cool.
    Thank you for contributing this.

    I'm in the creation of my first app with it, but encountered a problem,
    perhaps with the thumbnails. If I add thumbnails to the items, I got an

    Unhandled COM exception

    Code:
       at StedySoft.SenseSDK.SensePanelItem._getImageSize()
       at StedySoft.SenseSDK.SensePanelItem.OnRender(Graphics g)
       at StedySoft.SenseSDK.SenseListControl._renderGraphics()
       at StedySoft.SenseSDK.SenseListControl.OnPaint(PaintEventArgs e)
       at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
       at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
       at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
       at System.Windows.Forms.Application.Run(Form fm)
       at NewsPaperReporter.Program.Main()

    Any ideas? If I remove the thumbnails, the problem is gone, but I want to use the thumbnails because it's much more impressive with them :)

    I'm using the 1.39 version.

    Another question. How can I apply the theme you posted?

    Thanks in advance, regards,

    Rico from Hungary.
    1
    I fill a Panel with filenames and by clicking on a panel item I want to open the file, the problem is that I can't send any variables to the EventHandler function.

    Code:
    for (int i = 1; i <= 7; i++)
    {
                    MyPanelItem1 itm = new MyPanelItem1();
    
                    // base properties
                    itm.ButtonAnimation = true;
                    itm.Name = "PanelItem" + i.ToString("0#");
                    itm.ShowSeparator = true;
    
                    // MyPanelItem1 properties
                    switch (i) {
                        case 1:
                            itm.Thumbnail = iimg;
                            itm.PrimaryText = string.Format("Primary Text for '{0}'", itm.Name);
                            itm.SecondaryText = string.Format("This is the Secondary Text for '{0}'", itm.Name);
                            break;
    
                        ... etc.
                    }
                    itm.OnClick += new MyPanelItem1.ClickEventHandler(OnClickGeneric);
    
                    this.senseListCtrl.AddItem(itm);
    
    void OnClickGeneric(object sender)
    {
         // Here is my Code - I want to get the "on-clicked" Filename
    }

    if for example you put in PrimaryText the filename you can replace your function OnClickGeneric with this:

    Code:
    void OnClickGeneric(object Sender)
    {
    MyPanelItem1  itm = (Sender as MyPanelItem1 );
    // itm.PrimaryText <- This is your FileName.
    }
    1
    It's not possible my friend !
    This SDK is designed for c# with framework.Net 3.5 !