Business Software Solutions across all of Dorset and the world
Tuesday, 24 November 2009
Sunday, 8 November 2009
C# Re-enable Borderless Form Startbar Menu and Minimize behaviour
HOW TO:
Re-enable the default Start bar right-click Menu and default left-click minimize and maximize behaviour for a windows borderless form.
Add this anywhere to the code of the form:
C#
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
//cp.Style |= 0x80000; // Turn on WS_SYSMENU - just SYSMENU
cp.Style |= 0xA0000; // Turn on WS_SYSMENU and Minimize !!!
return cp;
}
}
According to developerfusion.com/tools/convert/csharp-to-vb below is the equivalent VB, although I haven't tested that yet.
Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
'cp.Style = cp.Style Or &H80000 - Turn on WS_SYSMENU - just SYSMENU
cp.Style = cp.Style Or &Ha0000
' Turn on WS_SYSMENU and Minimize !!!
Return cp
End Get
End Property
Some of my sources for working this out were as follows: (I wrote this up here because nowhere I could find laid it out clearly and straightforwardly... I had to spend a half out go through 10 different docs before I hit on the above and discovered it worked.)
dotnetrix
windowsdevelop
bytes.com
itags - this appears to be a copy of a b-board discussion, but it does not provide a link back to the original discussion. It refers to links and stuff inside the discussion which are not there... which didn't help, however it did give me another number to try out!
Re-enable the default Start bar right-click Menu and default left-click minimize and maximize behaviour for a windows borderless form.
Add this anywhere to the code of the form:
C#
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
//cp.Style |= 0x80000; // Turn on WS_SYSMENU - just SYSMENU
cp.Style |= 0xA0000; // Turn on WS_SYSMENU and Minimize !!!
return cp;
}
}
According to developerfusion.com/tools/convert/csharp-to-vb below is the equivalent VB, although I haven't tested that yet.
Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
'cp.Style = cp.Style Or &H80000 - Turn on WS_SYSMENU - just SYSMENU
cp.Style = cp.Style Or &Ha0000
' Turn on WS_SYSMENU and Minimize !!!
Return cp
End Get
End Property
Some of my sources for working this out were as follows: (I wrote this up here because nowhere I could find laid it out clearly and straightforwardly... I had to spend a half out go through 10 different docs before I hit on the above and discovered it worked.)
dotnetrix
windowsdevelop
bytes.com
itags - this appears to be a copy of a b-board discussion, but it does not provide a link back to the original discussion. It refers to links and stuff inside the discussion which are not there... which didn't help, however it did give me another number to try out!
Friday, 6 November 2009
Pattie Maes and Pranav Mistry demo SixthSense
Link to another talk from TED about Sixth Sense etc.
SixthSense is a wearable device with a projector and webcam that can interpret our hand gestures as we move around in our real world, and thus is able to provide real-time up to date and relevant information regarding whatever is in front of us right now.
SixthSense paves the way for profound interaction with our environment. Think "Minority Report" and then times by 100.
If you haven't seen this, watch the video.
I promise you will thank me.
SixthSense is a wearable device with a projector and webcam that can interpret our hand gestures as we move around in our real world, and thus is able to provide real-time up to date and relevant information regarding whatever is in front of us right now.
SixthSense paves the way for profound interaction with our environment. Think "Minority Report" and then times by 100.
If you haven't seen this, watch the video.
I promise you will thank me.
Tuesday, 23 June 2009
"augmented reality" - iPhone hacker Chris Hughes
Chris Hughes won Internet fame being among the first to jailbreak the iPhone. His tech exploits have been featured on Slashdot, Engadget and Gizmodo.
More "Augumented Reality" demonstrations are here: Funkadelic Advertising
More "Augumented Reality" demonstrations are here: Funkadelic Advertising
Friday, 19 June 2009
Sample code for NeoForce XNA 2D GUI controls
Sample code for NeoForce XNA 2D GUI controls
Normally goes inside:
protected override void Initialize()
of the game's game object which is subclassed from XNA Game class.
manager = new Manager(this(gameobject), this.GraphicsDeviceManager, "Default", true);
// Setting up the shared skins directory
manager.SkinDirectory = @"..\..\Skins\";
// Create and setup Window control.
window = new Window(manager);
window.Init();
window.Text = "Getting Started";
window.Width = 100;
window.Height = 124;
window.Center();
window.Visible = true;
window.BorderVisible = false;
window.MaximumHeight = 100;
window.MinimumHeight = 100;
window.MaximumWidth = 100;
window.MinimumWidth = 100;
window.Alpha = 128;
// Create Button control and set the previous window as its parent.
button = new TomShane.Neoforce.Controls.Button(manager);
button.Init();
button.Text = "OK";
button.Width = 72;
button.Height = 24;
button.Left = 0;
button.Top = 100;
//button.Left = (window.ClientWidth / 2) - (button.Width / 2);
//button.Top = window.ClientHeight - button.Height - 8;
button.Anchor = Anchors.Bottom;
button.Parent = window;
textbox = new TomShane.Neoforce.Controls.TextBox(manager);
textbox.Init();
textbox.Text = "Example";
textbox.Width = 100;
textbox.Height = 100;
textbox.Top = 0;
textbox.Left = 0;
textbox.BackColor = Color.TransparentWhite;
textbox.Parent = window;
// Add the window control to the manager processing queue.
manager.Add(window);
Normally goes inside:
protected override void Initialize()
of the game's game object which is subclassed from XNA Game class.
manager = new Manager(this(gameobject), this.GraphicsDeviceManager, "Default", true);
// Setting up the shared skins directory
manager.SkinDirectory = @"..\..\Skins\";
// Create and setup Window control.
window = new Window(manager);
window.Init();
window.Text = "Getting Started";
window.Width = 100;
window.Height = 124;
window.Center();
window.Visible = true;
window.BorderVisible = false;
window.MaximumHeight = 100;
window.MinimumHeight = 100;
window.MaximumWidth = 100;
window.MinimumWidth = 100;
window.Alpha = 128;
// Create Button control and set the previous window as its parent.
button = new TomShane.Neoforce.Controls.Button(manager);
button.Init();
button.Text = "OK";
button.Width = 72;
button.Height = 24;
button.Left = 0;
button.Top = 100;
//button.Left = (window.ClientWidth / 2) - (button.Width / 2);
//button.Top = window.ClientHeight - button.Height - 8;
button.Anchor = Anchors.Bottom;
button.Parent = window;
textbox = new TomShane.Neoforce.Controls.TextBox(manager);
textbox.Init();
textbox.Text = "Example";
textbox.Width = 100;
textbox.Height = 100;
textbox.Top = 0;
textbox.Left = 0;
textbox.BackColor = Color.TransparentWhite;
textbox.Parent = window;
// Add the window control to the manager processing queue.
manager.Add(window);
Thursday, 23 April 2009
Tuesday, 21 April 2009
Deploying dot net .net applications to public via web
Here are current thoughts:
Clickonce doesn't work with Firefox unless you are using .net 3.5 SP1 or the firefox add-in.
x64 doesn't work with .net until version 3.5.
Installing .net 3.5 SP1 on a Vista machine that doesn't have it can take as long as one hour (in testing I have done on reasonably average machines), during which the user is offered little or no feedback. Lots of opportunity for the user to wonder "Is this working?" ... "Is this doing anything or has it crashed?" etc. I think a typical user might easily give up and reboot.
Clickonce is not able to update only changed components - it must re-download all components, even those that have not changed.
Vista already has .net 2.0 and 3.0 pre-installed - big incentive not to put users through the pain of installing a version other than these they already have.
XP users more likely to have 3.0 installed than 3.5 or 3.5 SP1.
Clickonce doesn't work with Firefox unless you are using .net 3.5 SP1 or the firefox add-in.
x64 doesn't work with .net until version 3.5.
Installing .net 3.5 SP1 on a Vista machine that doesn't have it can take as long as one hour (in testing I have done on reasonably average machines), during which the user is offered little or no feedback. Lots of opportunity for the user to wonder "Is this working?" ... "Is this doing anything or has it crashed?" etc. I think a typical user might easily give up and reboot.
Clickonce is not able to update only changed components - it must re-download all components, even those that have not changed.
Vista already has .net 2.0 and 3.0 pre-installed - big incentive not to put users through the pain of installing a version other than these they already have.
XP users more likely to have 3.0 installed than 3.5 or 3.5 SP1.
Monday, 23 March 2009
Call to scrap 'illegal databases' - UK
A quarter of all government databases are illegal and should be scrapped or redesigned, a report has claimed.
The Joseph Rowntree Reform Trust says storing information leads to vulnerable people, such as young black men, single parents and children, being victimised.
For the full story, see BBC News:
BBC News - Call to scrap 'illegal databases' - UK
The Joseph Rowntree Reform Trust says storing information leads to vulnerable people, such as young black men, single parents and children, being victimised.
For the full story, see BBC News:
BBC News - Call to scrap 'illegal databases' - UK
Thursday, 26 February 2009
Licensing Process Flow and Gliffy
I've been designing a licensing system for small software deliverables.
Nice opportunity to show you the free and rather pleasant on-line flowcharting tool, Gliffy, in action.
Why is this process so complicated?
(1) We have a client-side click-once application as well as a server-side web application
(2) The client-side application connects to the server via a Windows Communications Framework (WCF) component that is installed into our web site.
(3) We are integrating with Paypal and GoogleCheckout
(4) We have 2 kinds of trial license and there two kinds of expired trial license.
(5) We are providing the user with an alternative way of getting their license key if they don't want to let the application connect to the internet. (We could come back to this part as a phase 2.)
The flowcharts below can be seen full page at: Licensing Process for small software deliverables and Server-side function to used to return the license key and Checking, repairing and updating the license (client side procedure)
This is the working draft of my licensing process:
This is a bit more detail on a specific function within the process ie. the Server-side function to used to return the license key
Checking, repairing and updating the license (client side procedure):
Nice opportunity to show you the free and rather pleasant on-line flowcharting tool, Gliffy, in action.
Why is this process so complicated?
(1) We have a client-side click-once application as well as a server-side web application
(2) The client-side application connects to the server via a Windows Communications Framework (WCF) component that is installed into our web site.
(3) We are integrating with Paypal and GoogleCheckout
(4) We have 2 kinds of trial license and there two kinds of expired trial license.
(5) We are providing the user with an alternative way of getting their license key if they don't want to let the application connect to the internet. (We could come back to this part as a phase 2.)
The flowcharts below can be seen full page at: Licensing Process for small software deliverables and Server-side function to used to return the license key and Checking, repairing and updating the license (client side procedure)
This is the working draft of my licensing process:
This is a bit more detail on a specific function within the process ie. the Server-side function to used to return the license key
Checking, repairing and updating the license (client side procedure):
Thursday, 12 February 2009
Queen's web site crashes
This made me laugh.
I'm not exactly a royal hater, honest guv, but this made me laugh.
I went to check out the new web site unveiled today at Buckingham Palace by the Queen accompanied by Sir Tim Berners-Lee see BBC news item here
I did a search on what Prince Charles is doing this month (there is a drop-down where you can select the royal member you want to track), and got back the error page you see above.
Anyone out there who does Microsoft dotnet ASPX development may understand why I find this funny.
The other curious thing about this, it seems to me is how an out-dated but entrenched political power structure is using the worlds most modern technology to cling desperately to it's withering power base. The freedom, democracy, equality and levelling power of the world wide web are utterly anathema to everything the UK Royal Family as a political institution (not the very nice people themselves, who we all love and cherish, god save 'em!) stand for, uphold and embody.
Quite besides having all the royals on a drop-down list, which surely did have to have been done by someone with a sense of humour, the fact that even in the brilliance of the glow that shines from Tim Berner's-Lee, the palace still can't make a web site that reliably returns results pages running on Microsoft IIS technology... thank god no lives depend on it, unlike the situation in the UK NHS which rumbles on... see BBC News website - NHS computer problems continue - 13 Feb 2009 The story here tells us that at one UK hospital, patient waiting times have been drastically increased and they are 10 million pounds worse off as a result of the latest episode in the attempts to computerise patient records.
Bournemouth Business Software is working to make these kinds of sorry stories a thing of the past. See what they have to say about Bespoke solutions vs off-the-shelf products.
Subscribe to:
Posts (Atom)