Windows程序设计 第十章 菜单资源类文件

windows基础应用程序编程(四):菜单 添加菜单 凡是接触过windows系统的,我想对菜单都不会感到陌生,菜单是Windows应用程序提供刚给一致用户界面的很重要的部分。(还记得窗口类结构中的lpszMenuName项吗?) 想要在程序中使用菜单,我们首先需要定义菜单资源,打开VS2010,新建一个Win32的空项目,新建一个源文件并把之前的windows应用程序的通用框架复制粘贴上去。然后,我们需要再新建一个资源脚本文件,在解决 阅读详情


VC比较起来确实不如Delphi方便,Delphi真正的所见即所得,直接就是窗口上摆弄各种菜单等.


VC要设计菜单资源类文件.rc ,可以在文本文档中设计菜单资源类文件.rc

Windows程序设计 第五版 Charles PetZold 

第十章,P350--P358



/*-----------------------------------------
   MENUDEMO.C -- Menu Demonstration
                 (c) Charles Petzold, 1998
  -----------------------------------------*/
 
#include <windows.h>
#include "resource.h"

#define ID_TIMER 1

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

TCHAR szAppName[] = TEXT ("MenuDemo") ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     HWND     hwnd ;
     MSG      msg ;
     WNDCLASS wndclass ;
     
     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
     wndclass.lpszMenuName  = szAppName ;
     wndclass.lpszClassName = szAppName ;
     
     if (!RegisterClass (&wndclass))
     {
          MessageBox (NULL, TEXT ("This program requires Windows NT!"),
                      szAppName, MB_ICONERROR) ;
          return 0 ;
     }
     
     hwnd = CreateWindow (szAppName, TEXT ("Menu Demonstration"),
                          WS_OVERLAPPEDWINDOW,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          CW_USEDEFAULT, CW_USEDEFAULT,
                          NULL, NULL, hInstance, NULL) ;
     
     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;
     
     while (GetMessage (&msg, NULL, 0, 0))
     {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
     }
     return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     static int idColor [5] = { WHITE_BRUSH,  LTGRAY_BRUSH, GRAY_BRUSH,
                                DKGRAY_BRUSH, BLACK_BRUSH } ;
     static int iSelection = IDM_BKGND_WHITE ;
     HMENU      hMenu ;
     
     switch (message)
     {
     case WM_COMMAND:
          hMenu = GetMenu (hwnd) ;
          
          switch (LOWORD (wParam))
          {
          case IDM_FILE_NEW:
          case IDM_FILE_OPEN:
          case IDM_FILE_SAVE:
          case IDM_FILE_SAVE_AS:
               MessageBeep (0) ;
               return 0 ;
               
          case IDM_APP_EXIT:
               SendMessage (hwnd, WM_CLOSE, 0, 0) ;
               return 0 ;
               
          case IDM_EDIT_UNDO:
          case IDM_EDIT_CUT:
          case IDM_EDIT_COPY:
          case IDM_EDIT_PASTE:
          case IDM_EDIT_CLEAR:
               MessageBeep (0) ;
               return 0 ;
               
          case IDM_BKGND_WHITE:         // Note: Logic below
          case IDM_BKGND_LTGRAY:        //   assumes that IDM_WHITE
          case IDM_BKGND_GRAY:          //   through IDM_BLACK are
          case IDM_BKGND_DKGRAY:        //   consecutive numbers in
          case IDM_BKGND_BLACK:         //   the order shown here.
               
               CheckMenuItem (hMenu, iSelection, MF_UNCHECKED) ;
               iSelection = LOWORD (wParam) ;
               CheckMenuItem (hMenu, iSelection, MF_CHECKED) ;
               
               SetClassLong (hwnd, GCL_HBRBACKGROUND, (LONG) 
                    GetStockObject 
                             (idColor [LOWORD (wParam) - IDM_BKGND_WHITE])) ;
               
               InvalidateRect (hwnd, NULL, TRUE) ;
               return 0 ;
               
          case IDM_TIMER_START:
               if (SetTimer (hwnd, ID_TIMER, 1000, NULL))
               {
                    EnableMenuItem (hMenu, IDM_TIMER_START, MF_GRAYED) ;
                    EnableMenuItem (hMenu, IDM_TIMER_STOP,  MF_ENABLED) ;
               }
               return 0 ;
               
          case IDM_TIMER_STOP:
               KillTimer (hwnd, ID_TIMER) ;
               EnableMenuItem (hMenu, IDM_TIMER_START, MF_ENABLED) ;
               EnableMenuItem (hMenu, IDM_TIMER_STOP,  MF_GRAYED) ;
               return 0 ;
               
          case IDM_APP_HELP:
               MessageBox (hwnd, TEXT ("Help not yet implemented!"),
                           szAppName, MB_ICONEXCLAMATION | MB_OK) ;
               return 0 ;
               
          case IDM_APP_ABOUT:
               MessageBox (hwnd, TEXT ("Menu Demonstration Program\n")
                                 TEXT ("(c) Charles Petzold, 1998"),
                           szAppName, MB_ICONINFORMATION | MB_OK) ;
               return 0 ;
          }
          break ;
          
     case WM_TIMER:
          MessageBeep (0) ;
          return 0 ;
               
     case WM_DESTROY:
          PostQuitMessage (0) ;
          return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
}

// resource.h 

//

//resouce.h
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by MenuDemo.rc
//
#define IDM_FILE_NEW                    40001
#define IDM_FILE_OPEN                   40002
#define IDM_FILE_SAVE                   40003
#define IDM_FILE_SAVE_AS                40004
#define IDM_APP_EXIT                    40005
#define IDM_EDIT_UNDO                   40006
#define IDM_EDIT_CUT                    40007
#define IDM_EDIT_COPY                   40008
#define IDM_EDIT_PASTE                  40009
#define IDM_EDIT_CLEAR                  40010
#define IDM_BKGND_WHITE                 40011
#define IDM_BKGND_LTGRAY                40012
#define IDM_BKGND_GRAY                  40013
#define IDM_BKGND_DKGRAY                40014
#define IDM_BKGND_BLACK                 40015
#define IDM_TIMER_START                 40016
#define IDM_TIMER_STOP                  40017
#define IDM_APP_HELP                    40018
#define IDM_APP_ABOUT                   40019
#define ID_MENUITEM40020                40020

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        102
#define _APS_NEXT_COMMAND_VALUE         40021
#define _APS_NEXT_CONTROL_VALUE         1000
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif





// 菜单资源文件 menudemo.rc

//MenuDemo.rc

//Microsoft Developer Studio generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE DISCARDABLE 
BEGIN
    "#include ""afxres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE DISCARDABLE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Menu
//

MENUDEMO MENU DISCARDABLE 
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "&New",                        ID_MENUITEM40020
        MENUITEM "&Open",                       IDM_FILE_OPEN
        MENUITEM "&Save",                       IDM_FILE_SAVE
        MENUITEM "Save &As...",                 IDM_FILE_SAVE_AS
        MENUITEM SEPARATOR
        MENUITEM "E&xit",                       IDM_APP_EXIT
    END
    POPUP "&Edit"
    BEGIN
        MENUITEM "&Undo",                       IDM_EDIT_UNDO
        MENUITEM SEPARATOR
        MENUITEM "C&ut",                        IDM_EDIT_CUT
        MENUITEM "&Copy",                       IDM_EDIT_COPY
        MENUITEM "&Paste",                      IDM_EDIT_PASTE
        MENUITEM "De&lete",                     IDM_EDIT_CLEAR
    END
    POPUP "&Background"
    BEGIN
        MENUITEM "&White",                      IDM_BKGND_WHITE, CHECKED
        MENUITEM "&Light Gray",                 IDM_BKGND_LTGRAY
        MENUITEM "&Gray",                       IDM_BKGND_GRAY
        MENUITEM "&Dark Gray",                  IDM_BKGND_DKGRAY
        MENUITEM "&Black",                      IDM_BKGND_BLACK
    END
    POPUP "&Timer"
    BEGIN
        MENUITEM "&Start",                      IDM_TIMER_START
        MENUITEM "S&top",                       IDM_TIMER_STOP, GRAYED
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&Help...",                    IDM_APP_HELP
        MENUITEM "&About MenuDemo...",          IDM_APP_ABOUT
    END
END

#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED



在Source Files中加入menudemo.c

在Header Files中加入Resource.h

在Resource Files中加入 menudemo.rc






《Windows PE》7.2 资源表 在资源表中,IMAGE_RESOURCE_DIRECTORY_ENTRY 的 OffsetToData 字段指向一个 IMAGE_RESOURCE_DATA_ENTRY 结构,该结构描述了资源数据的位置和相关属性。PE 对话框资源的起始位置 01 00 FF FF 00 00 00 00 00 00 00 00 是对话框资源的标识符,用于识别和定位对话框资源在 PE 文件中的位置。资源的每一级目录都会有一个资源目录头,它标识 了该类资源的属性、创建日期和版本等信息,其中也包含了随后的目录项的数量描述信息。 阅读详情

相关推荐

C++截图、抓屏程序

简单的C++抓屏程序,可截图 //{{NO_DEPENDENCIES}} // Microsoft Developer Studio generated include file. // Used by testbmpcp.rc // #define IDM_ABOUTBOX 0x0010 #define IDD_ABOUTBOX 100 #define IDS_ABOUTBOX 101 #define IDD_TESTBMPCP_DIALOG 102 #define IDR_MAINFRAME 128 #define IDC_BUTTON1 1000 #define IDC_EDIT1 1001 #define IDC_BUTTON2 1002 #define IDC_SCROLLBAR1 1003 #define IDC_SCROLLBAR2 1004 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 129 #define _APS_NEXT_COMMAND_VALUE 32771 #define _APS_NEXT_CONTROL_VALUE 1005 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif

《Windows程序设计》学习笔记(chap10菜单及其它资源)(一)

一、自定义图标1.MAKEINTRESOURCE宏先摘抄MSDN的,定义如下:The MAKEINTRESOURCE macro converts an integer value to a resource type compatible with the resource-management functions. This macro is used in place of a

此地无银三百两 1843

Zynq远程更新程序实战:从emmc到flash的完整方案解析

本文详细解析了Zynq远程更新程序的完整方案,重点探讨了从emmc到flash的实战操作。通过硬件连接限制破解、emmc配置技巧、flash擦写策略优化等关键技术点,提供了可靠的远程更新解决方案,特别适合需要频繁更新boot.bin的应用场景。

weixin_29163797的博客 179

《Windows程序设计》之图标

里面学习的东西不多,只是一些载入资源的方法,上点代码,同样是ICONDEMO中的回调函数部分。 LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) { static HICON hIcon; static int cxIcon,cyIcon,cxClient,cyClient; HDC h

倒计时 1089

squirrel校园二手交易平台

squirrel校园二手交易平台 (适合寻找SSM项目练手的你。) 项目起源:   期末的课程设计,三人一组,我和两个舍友,一时起兴,决定做一个校园二手交易平台,一开始兴致与激情满满,可是后期时间上的冲突,让我们三个人对于这个项目有点累。   这个项目刚定题两天,BezosLee由于通过了360的网上在线笔试,收到了360公司的免费培训邀请,要去北京的360总部进行培训一周,值得庆...

K.SHI的博客 5万+

【MATLAB强化学习工具箱】学习笔记--在Simulink环境中训练智能体Create Simulink Environment and Train Agent

Simulink中便于搭建各类动力学与控制模型,通过将原有的控制器替换为AI控制器,可以方便使用已有模型,提供增量效果。 本节的重点是如何引入Simulink模型作为env,其他的内容在之前的文章中已有说明。 以水箱模型watertank为例,如下图所示: 采用PI控制器,控制效果如下所示: 将此PI控制器替换为神经网络控制器后,系统架构如下图所示: 具体替换策略如下所示: (1)删去PID控制器; (2)增加RL Agent模块; (3)观测器模块: 观测向量为:,其中...

bear_miao的博客 1万+

MFC 类似控件数组实现方法

如果控件的ID是连续的,就可以通过访问ID的方式来实现相当于控件数组的循环操作。 1、打开项目resource.h文件 2、首先要让IDC_CMB_hometype0-7,的ID连续 #define IDC_CMB_hometype0 1182 #define IDC_CMB_hometype1 1183 #define IDC_CMB_hometype2 1184 #define IDC_CMB_hometype3

weixin_43494116的博客 716

iverilog+GTKwave使用总结

iverilog是一个开源的硬件描述语言(HDL)仿真工具,用于对硬件描述语言(如Verilog)编写的数字电路进行仿真。它可以将Verilog代码编译为仿真模型,并通过仿真运行来验证设计的正确性。iverilog支持IEEE 1364-2005 Verilog语言标准,并提供了丰富的功能,包括对多种Verilog语言特性的支持、模块化设计、测试平台等。它还可以与其他工具(如GTKWave波形查看器)配合使用,以便进行仿真后的波形查看和分析。

争取早日成为硅农 2万+

windows 程序设计自学:添加图标资源

1 #include &lt;windows.h&gt; 2 #include "resource.h" 3 4 LRESULT CALLBACK MyWndProc( HWND hwnd, // handle to window 5 UINT uMsg, // message identifier 6 WPARAM wParam, //...

weixin_33877092的博客 254

【AI大模型应用开发】【LlamaIndex教程】2. 存储模块:如何在 LlamaIndex 中使用自定义的向量数据库?(附代码)

前面文章两行代码就实现了文档的切分和向量化存储以及持久化存储。如果我们想用自定义的向量化数据库呢?

同学小张的博客 2118

第三节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 对接后端登录接口(上)

这里是Vben Admin V5版本实战体验,上一节我们前端已正常运行,但是没有实现登录。本节的重点是对接后端接口。上一节地址:第一节:Vben Admin 最新 v5.0初体验第二节:Vben Admin 登录逻辑梳理和对接后端准备后端我们采用Python的Flask项目,Flask-SQLAlchemy管理数据库模型,Flask-Migrate进行模型迁移。参考版本如下:Flask3.0.23.1.1到这里,登录接口完成,下一步要实现获取用户信息和权限的接口功能。

cuiwin的专栏 1862

EXE 文件的资源类型

下面是预定义的资源类型。

sensor_WU 博客 162

OSPF规划两大模型:双塔奇兵、犬牙交错

大家好,今天给大家带来的是OSPF规划两大模型:双塔奇兵、犬牙交错,让我们直接开始吧! OSPF规划之双塔奇兵 说明: OSPF 如果某个区域存在两个 ABR,并且在两个 ABR 上都对 area n 内的路由做了聚合操作。 最佳配置: 两台ABR之间的红线应该使用以太网的子接口技术,一个子接口属于area0,另一个属于 area n;或者该链路规划为 area n,同时配置虚连接; ABR 的 loopback0 规划入 area 0 OSPF 规划之犬牙交错 说明: 有时接入层的设备会以乱序的

网络技术联盟站 2423

Windows 资源文件(.rc文件)

在windows下使用Qt时,通常会用到Windows的资源文件(给exe设置图标和版本信息等),比如命名为 main.rc #include "winver.h" IDI_ICON1 ICON "main.ico" IDI_ICON2 ICON "main2.ico" VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,0 PRODUCTVERSION 1,0,0,0 FILEFLAGS 0x

顺其自然~专栏 2万+

【ComfyUI】Flux + ControlNet 边缘搭配深度、瓷砖、姿态引导图生图

本文介绍了一个基于 Wan 2.1 的 ComfyUI 文生视频工作流,通过 UNet、CLIP 和 VAE 三个核心模型,将文本提示转化为动态视频。工作流包含模型加载、提示词解析、潜空间采样等7个环节,支持分辨率、帧数等参数设置,最终输出高质量视频文件。该方案适用于创意设计、教育培训和多媒体制作等场景,能快速生成符合语义的动态内容。文章还提供了相关开发资源和学习链接,适合AI视频生成领域的研究者和实践者参考。

Mr数据杨 1634

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

PE文件资源解析(一)资源类型的提取

这个界面相信作为软件开发人员来说,都不会陌生。 从本章节起,分篇介绍如何来开发一个属于自己的资源提取软件。资源的提取有2种,一种是通过WindowsAPI接口来实现资源类型的枚举,一种是通过解析PE文件结构来获取资源类型的枚举。PE文件解析方式将放在后面章节,这次首先以WindowsAPI方式来进行讲解:这里主要用到3个接口EnumResourceTypes、EnumResourceName...

老狼的专栏 2933

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

《Windows PE》7.1 资源分类

自定义资源是指在程序中使用的非标准资源,这些资源可以是任何类型的数据或文件,用于存储和使用程序所需的特定信息或内容。在资源脚本文件(.rc 文件)中,可以使用自定义的资源类型来定义和描述这些资源。其在资源 文件中的定义语法如下:资源 ID 类型 ID [DISCARDABLE]BEGIN数据定义……END以下是一个示例:上述代码中,IDR_CUSTOM1 是自定义资源的唯一标识符(ID),CUSTOM 是自定义资源类型指示符,custom.dat 是自定义资源文件的名称。

bcdaren的博客 944

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

令,如File菜单、Edit菜单、Windows菜单和Help菜单是Windows 中常见的顶层菜单;菜单项是菜单中一个独立的选项,被选中后可执行某个命令。弹出式菜单又可分为下拉式菜单、子菜单和快

令,如File菜单、Edit菜单、Windows菜单和Help菜单是Windows 中常见的顶层菜单;菜单,如在Visual C++的源文件编辑窗口右击鼠标,会弹出一个包含若干编辑命令的菜单,它为。会弹出一个下拉式菜单,例如,选择了Edit菜单,会弹出一个显示所有编辑命令的下拉式菜单。在菜单编辑器中,已预留了一个空白菜单(顶层菜单),双击该菜单项可打开菜单属性对话框,如。当选择了某个菜单命令后,其下还有若干菜单项可供选择,则称该菜单为子菜单;弹出式菜单又可分为下拉式菜单、子菜单和快捷菜单。

Popcorn_zyh的博客 528

定义菜单资源

IDR_MENU1 MENU PRELOAD DISCARDABLE //注释:"IDR_MENU1"-->菜单ID名; "MENU"-->资源类名 BEGIN (注释:以BEGIN开始,END结束菜单定义) POPUP "&File" (注释:POPUP--> 表明是一个弹出菜单 ; "&File"-->为菜单名字. "&"定义紧接后面的字母F快捷键. ) BEGIN MENUITEM "&New" I

个人进步之路 597

Passbolt资源类型系统:团队密码管理的终极指南

Passbolt是一款开源的团队密码管理器,其强大的资源类型系统为团队密码管理提供了灵活且高效的解决方案。本文将深入探讨Passbolt资源类型系统的核心功能、使用方法以及如何通过自定义资源类型满足不同团队的特定需求,帮助团队实现密码的有序管理和高效协作。 ## 什么是Passbolt资源类型系统? Passbolt的资源类型系统是对密码等敏感信息进行分类和管理的核心机制。它允许用户根据不同的

gitblog_00895的博客 789

WINDOWS+PE权威指南读书笔记(12)

目录 资源表 资源分类和定义: 位图、光标、图标资源: 菜单资源: 对话框资源: 自定义资源: PE 资源表组织: 资源表的组织方式: 资源表数据定位: 资源目录头IMAGE_RESOURCE_DIRECTORY: 资源目录项 IMAGE_RESOURCE_DIRECTORY_ENTRY: 资源数据项 IMAGE_RESOURCE_DATA_ENTRY: 三级结构中目录项的区别: 资源表遍历: PE 资源深度解析: 资源脚本示例: 使用 PElnfo 分析资源表: 资

沐一 · 林 的博客 1289

将图片内嵌到 exe 文件中

场景描述: 如果程序中需要使用一张图片,通常会用相对路径方式指定一个外部文件。例如: loadimage(NULL, "test.jpg"); 这样,将编译后的 .exe 和 test.jpg 放在一起,就可以正确加载图片。许多游戏有几十个甚至上千个文件,就是有类似这样的许多外部数据。 但还有一些情况,希望图片能嵌入编译后的 .exe 里面,这样只需要拷贝一个 .exe 文件就能附带上所需图片。本文就介绍这种情况的实现方法。 什么是资源文件: windows 应用程序是可以包含各种“资源”的,

m0_62294345的博客 4111

[翻译]-Windows CE 程序设计 (3rd 版)--4.5 资源

 资源资源是应用程序或DLL的一个只读数据段,在模块被编译后,资源被链接到模块中。资源为开发者提供了一个与编译器无关的位置,用来存储常量数据,例如对话框、字符串、位图、图标以及菜单。因为资源并不编译在程序里,所以改变它们并不用重新编译程序。您可以通过构造一个描述资源的的ASCII文件--资源脚本--来创建资源。ASCII文件的扩展名叫RC。您可以用资源编译器来编译该文件,每个Windows

487

《Windows程序设计》读书笔记之十

菜单及其他资源                                                                                    见钱眼开 于2005-5-21        图标、光标、菜单和对话框等都是Windows的资源类型。资源就是数据,它们被存储在程序的.EXE文件中,但并非驻留在程序的数据区域。因此资源无法通过程序源代码中定义

见钱眼开(jqyk^_^)的专栏 1563

windows程序设计——功能表及其他资源

打开workspace的ResourceView可以看到系统的常用资源:图示、游标、字串、自订资源、功能表、键盘加速键、对话方块、点阵图。windows提供了一种直观的方式使得我们在开发过程中可以在资源编辑器中以所见既所得的方式来编辑这些资源,在生成可执行文件的时候资源编译器编译这些资源编译为二进制内容,并在程序连接的时候作为程序的一部分连接到可执行文件中。 但资源被添加到工程中时,系统会为资源

pokeyode的专栏 869
上一篇: VC6.0补丁Vs6sp6安装方法
下一篇: Win32 Application (VC\MFC) 控制台mini调试工具 mDebug 0.1
sergery
博客等级 码龄18年 113粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值