win32api给右键菜单添加单选标志

win32api给右键菜单添加单选标志,第1张

DWORD

WINAPI

CheckMenuItem(

_In_ HMENU hMenu,//菜单句柄

_In_ UINT uIDCheckItem,//菜单ID

_In_ UINT uCheck)//复选标记MF_CHECKED(添加复选标记)和MF_UNCHECKED(取消复选标记)

实例:

LRESULT MyWnd::OnCommand(DWORD dwID, DWORD dwEnter, HWND hCtrlWnd)

{

HMENU hMenu = GetMenu(m_hWnd)//获得窗口菜单句柄

HMENU hItem = GetSubMenu(hMenu, 1)//获得第二个子菜单项的句柄

switch (dwID)

{

case ID_TOOBAR_MENU:

{

//判断是否有复选标记,如果有就取消复选标记,没有就添加复选标记

if (CheckMenuItem(hItem, ID_TOOBAR_MENU, MF_CHECKED)&MF_CHECKED)

CheckMenuItem(hItem, ID_TOOBAR_MENU, MF_UNCHECKED)

break

}

case ID_STAT_MENU:

{

if (CheckMenuItem(hItem, ID_STAT_MENU, MF_CHECKED)&MF_CHECKED)

CheckMenuItem(hItem, ID_STAT_MENU, MF_UNCHECKED)

break

}

case ID_MENU_MENU:

{

if (CheckMenuItem(hItem, ID_MENU_MENU, MF_CHECKED)&MF_CHECKED)

CheckMenuItem(hItem, ID_MENU_MENU, MF_UNCHECKED)

break

}

}

return 0

比如messagebox()这个API函数在WINDOWS.H文件中

strlen在stdio.h文件中

简单的写一个API

#include "windows.h"

#include "windowsx.h"

WinMain(这里有六个数)

{

MessageBox(NULL,"","编程世界",MB_YESNO)

}

Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源…之外, 它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application), 所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是Microsoft Windows 32位的应用程序编程接口。

下面来介绍一下如何在win32 中实现点击右键d出菜单,步骤如下:1:先在头文件中中先定义三个IDM资源, #define IDM_AAA200 #define IDM_BBB201 #define IDM_CCC 2022.定义一个全局变量 HMENU hMenu3.在InitInstance中添加代码: hMenu=CreatePopupMenu()AppendMenu(hMenu,MF_STRING,IDM_AAA,_T("&AAA"))AppendMenu(hMenu,MF_SEPARATOR,0,NULL)AppendMenu(hMenu,MF_STRING,IDM_BBB,_T("&BBB"))AppendMenu(hMenu,MF_STRING,IDM_CCC,_T("&CCC"))4在WM_RBUTTONDOWN中添加响应代码POINT point;point.x=LOWORD(lParam)point.y=HIWORD(lParam)ClientToScreen(hWnd,&point)TrackPopupMenu(hMenu,TMP_RIGHTALIGN,point.x,point.y,0,hWnd,NULL)当单击某个菜单项时,还可以设置该项位选中状态。CheckMenuItem(hMenu,IDM_AAA,MF_CHECKED)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11382551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存