Solved

Unique IDs for menu items and dialog controls

Posted on 1998-11-25
3
226 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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
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…

808 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