[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 243
  • Last Modified:

Unique IDs for menu items and dialog controls

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
ljac
Asked:
ljac
  • 2
1 Solution
 
MirkwoodCommented:
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
 
MirkwoodCommented:
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
 
ljacAuthor Commented:
"Problem 1" and second part of "Problem 2" was not solved
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now