鱼C论坛

 找回密码
 立即注册
查看: 2901|回复: 11

[技术交流] SDK菜单创建 CreateMenu的使用 ——如果回复的多的话,小仙努力写个记事本

[复制链接]
发表于 2014-11-22 17:41:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 拈花小仙 于 2014-11-22 20:03 编辑
#include <Windows.h>
HINSTANCE g_hInstance;
HANDLE g_hStdOut;

void OnCreate(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
    HMENU hMainMenu = CreateMenu();

    HMENU hFileMenu = CreatePopupMenu();
    AppendMenu(hFileMenu,MF_STRING|MF_CHECKED,1001,TEXT("新建(&N)"));
    AppendMenu(hFileMenu,MF_STRING,1002,TEXT("保存(&S)"));
    AppendMenu(hFileMenu,MF_SEPARATOR,0,NULL);
    AppendMenu(hFileMenu,MF_STRING,1003,TEXT("退出(&X)"));
    AppendMenu(hMainMenu,MF_STRING|MF_POPUP,(UINT)hFileMenu,TEXT("文件(&F)"));

    HMENU hEditMenu = CreatePopupMenu();
    AppendMenu(hEditMenu,MF_STRING,1004,TEXT("编辑(&T)"));
    AppendMenu(hEditMenu,MF_STRING,1005,TEXT("复制(&C)"));
    AppendMenu(hEditMenu,MF_STRING,1006,TEXT("粘贴(&P)"));
    AppendMenu(hMainMenu,MF_STRING|MF_POPUP,(UINT)hEditMenu,TEXT("编辑(&E)"));

    HMENU hHelpMenu = CreatePopupMenu();
    AppendMenu(hHelpMenu,MF_STRING,1007,TEXT("注册(&H)"));
    AppendMenu(hHelpMenu,MF_STRING,1008,TEXT("关于(&A)"));
    AppendMenu(hMainMenu,MF_STRING|MF_POPUP,(UINT)hHelpMenu,TEXT("帮助(&H)"));

    SetMenu(hWnd,hMainMenu);
}

void OnCommand(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
    switch(wParam)
    {
    case 1003:
        {
            PostMessage(hWnd,WM_QUIT,0,0);
            break;
        }
    }
}

LRESULT CALLBACK WndProc(HWND hWnd,
                         UINT uMsg,
                         WPARAM wParam,
                         LPARAM lParam)
{
    switch(uMsg)
    {
    case WM_CREATE:
        OnCreate(hWnd,uMsg,wParam,lParam);
        break;
    case WM_COMMAND:
        OnCommand(hWnd,uMsg,wParam,lParam);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        return 0;
    }
    return DefWindowProc(hWnd,uMsg,wParam,lParam);
}

void RegisterWnd(LPCTSTR lpClassName)
{
    WNDCLASSEX wce;
    wce.style = CS_HREDRAW|CS_VREDRAW;
    wce.lpfnWndProc = WndProc;
    wce.cbSize = sizeof(WNDCLASSEX);
    wce.cbClsExtra = 0;
    wce.cbWndExtra = 0;
    wce.hInstance = g_hInstance;
    wce.hIcon  = 0;
    wce.hCursor = 0;
    wce.hIconSm = 0;
    wce.hbrBackground = HBRUSH(COLOR_BTNFACE);
    wce.lpszClassName = lpClassName;
    wce.lpszMenuName = 0;
    if(!RegisterClassEx(&wce))
    {
        MessageBox(NULL,TEXT("注册失败"),TEXT("提示"),MB_OK);
    }

}

HWND CreateWnd(LPCTSTR lpClassName)
{
    HWND hWnd = CreateWindowEx(0,lpClassName,L"鱼C记事本",
        WS_OVERLAPPEDWINDOW,500,200,
        600,400,NULL,NULL,g_hInstance,NULL);
    return hWnd;
}

void DisplayWnd(HWND hWnd)
{
    ShowWindow(hWnd,SW_SHOW);
    UpdateWindow(hWnd);
}

void Message()
{
    MSG msg;
    while(GetMessage(&msg,NULL,0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
}

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow)
{
    g_hInstance = hInstance;
    RegisterWnd(L"拈花小仙");
    HWND hWnd = CreateWnd(L"拈花小仙");
    DisplayWnd(hWnd);
    Message();
    return 0;
}
记事本.jpg

评分

参与人数 2荣誉 +2 鱼币 +8 贡献 +3 收起 理由
ebloke + 6 + 1 感谢楼主无私奉献!
小甲鱼的二师兄 + 2 + 2 + 2 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-11-22 17:42:05 | 显示全部楼层
@Angel丶L 一个简单的界面哈~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-22 17:48:47 | 显示全部楼层
来看看学习下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-22 18:56:01 | 显示全部楼层
要是有图就更好了~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-22 20:04:34 | 显示全部楼层

遵二师伯命,已上传图片,只因太过简单才没上图的~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-22 20:33:19 | 显示全部楼层
SDK写这个难度可不是一般的大,麻烦
  ,mfc还好   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-22 20:48:49 | 显示全部楼层
qq351317878 发表于 2014-11-22 20:33
SDK写这个难度可不是一般的大,麻烦
  ,mfc还好

感觉很容易呀,就是浪时间,MFC不用写,直接鼠标就行哈~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-23 08:02:49 | 显示全部楼层
拈花小仙 发表于 2014-11-22 20:48
感觉很容易呀,就是浪时间,MFC不用写,直接鼠标就行哈~

得记住好多东西 ,太累
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-24 01:25:59 | 显示全部楼层
我去,牛逼的嘞!源代码求一份!:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-8 15:07:03 | 显示全部楼层
感谢楼主的分享!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-11 17:52:42 | 显示全部楼层
:sweat::sweat::sweat:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-11 12:11:17 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 06:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表