Solved

Unique IDs for menu items and dialog controls

Posted on 1998-11-25
3
214 Views
Last Modified: 2008-03-17
I am desperate for answers to these questions. I am writing an application that will return a numeric unique ID that belongs to a control. I know can get the controls numeric ID with the function GetDlgControlID. If it is a menu, I know I can get an ID with the function GetMenuItemID. The problems I have are as follows:

Problem 1: GetMenuItemID works fine if I specify the position of the menu item in the menu or submenu. However, if I want to receive a unique identifier for a top-level menu or a submenu, GetMenuItemID does not work. GetMenu and GetSubmenu only returns handles, while what I need is a unique identifier. Anyone knows how to do get the unique identifier of a top-level menu or a submenu (not just the handle)?

Problem 2: GetDlgControlID works fine except for when I need to get the unique identifier of a label. Then the function returns nothing or zero. Also, if a control is in a group frame, the function seems to return the identifier of the frame control and not for the individual controls within the frame. Anyone knows how to return values for labels or for controls within a group frame?

(The reason I need the unique ID is to eventually search a given header file *.h to find the ID_SOMESTRING defined for a particular numeric number.)


I would greatly appreciate fast replies, as I need it for student work.

Thanks,
Lene Jacobsen
0
Comment
Question by:ljac
  • 2
3 Comments
 
LVL 13

Expert Comment

by:Mirkwood
ID: 1446845
The label can most likely not be solved. The label is fake control and has no window handle. It paints directly on the parent. Since it is no child window, it has no child dialog ID. You can use a tool like Spy32 (shipped with MsDev Studio) to see that it has no window handle and therefor no ID. I'm sorry
I don't understand why getMenuItemId does not work. I'll see if I can look into that.
0
 
LVL 13

Accepted Solution

by:
Mirkwood earned 190 total points
ID: 1446846
The label can most likely not be solved. The label is fake control and has no window handle. It paints directly on the parent. Since it is no child window, it has no child dialog ID. You can use a tool like Spy32 (shipped with MsDev Studio) to see that it has no window handle and therefor no ID. I'm sorry
I don't understand why getMenuItemId does not work. I'll see if I can look into that.
0
 

Author Comment

by:ljac
ID: 1446847
"Problem 1" and second part of "Problem 2" was not solved
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

760 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now