Solved

How to add items to title bar menu

Posted on 2004-08-27
5
830 Views
Last Modified: 2008-03-10
Hello.

How do I add  items to the popup menu that appears when you click on an application title bar. (The menu that has Minimize, Maximize, Close etc).

Thanks. js
0
Comment
Question by:jeremiahscott
  • 2
  • 2
5 Comments
 
LVL 2

Expert Comment

by:sonicblis
ID: 11914303
I assume you're speaking of a windows form, like adding "always on top"?
0
 

Author Comment

by:jeremiahscott
ID: 11914560
Yes, I have a windows form.

I probably didn't explain this well. If you click on Internet Explorers title bar you will see a popup menu. The items are [Restore, Move...Close]. If you do the same thing on a windows command prompt window they have added 3 more items [Edit, Defaults, Properties]. I want to mimic that.

thx
0
 
LVL 19

Accepted Solution

by:
Desp earned 100 total points
ID: 11919539
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);

[DllImport("user32.dll")]
private static extern bool AppendMenu (IntPtr hMenu, Int32 wFlags, Int32
wIDNewItem, string lpNewItem);

public const Int32 WM_SYSCOMMAND = 0x112;
public const Int32 MF_SEPARATOR = 0x800;
public const Int32 MF_STRING = 0x0;
public const Int32 IDM_ABOUT  = 1000;

private void Form1_Load(object sender, System.EventArgs e)
{
IntPtr sysMenuHandle = GetSystemMenu(this.Handle, false);
AppendMenu(sysMenuHandle, MF_SEPARATOR, 0, string.Empty);
AppendMenu(sysMenuHandle, MF_STRING, IDM_ABOUT, "About...");
}

protected override void WndProc(ref Message m)
{
if(m.Msg == WM_SYSCOMMAND)
 switch(m.WParam.ToInt32())
 {
  case IDM_ABOUT :
    MessageBox.Show("This is About dialog");
   return;
  default:
   break;
 } base.WndProc(ref m);
}
0
 

Author Comment

by:jeremiahscott
ID: 11922857
I got it working. Thanks. I couldn't figure out what that menu was called. "System Menu"
0
 
LVL 19

Expert Comment

by:Desp
ID: 11924580
User menu are the menus designed and developed by the programmer himself(like Mainmenu and ContextMenu control). SystemMenu is something common functaionality provided by the Operating system.
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Wav problem 4 25
How can my static class become undefined?? 8 49
Google Directions API to Map URL -C#? 3 24
Hey!! 5 33
Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question