博文

MFC/Windows编程之个性化图标(2008-04-08 16:15:00)

摘要:        我们发现向导生成的MFC程序生成的桌面上(资源管理器上)的.exe文件和运行时标题栏上(最小化时任务栏上)的图标都是一样,实际上我们可以为它们配置不同的图标。实际上vc默认的那个MFC的图标(本案例中的Test.ico)是一个ID号对应了2个图标,一个16×16的一个32×32的。一个16×16的小图标是用于标题栏和最小化时任务栏的。另一个32×32的大图标则是用于桌面和资源管理器的。故我们可以为应用程序再添加一个与默认图标大小不同的.ico文件. 以下为MFC向导生成的窗口(标题已改)   以下为生成的.EXE文件在资源管理器中的缩略图: 以下为项目的资源res文件夹: 一.个性化图标  (1)为应用实例添加光标资源 右击解决方案资源管理器中的资源文件-〉添加-〉资源-〉选择Icon资源类型-〉若选“导入”则可以从导入硬盘中已有的ICON文件;若选“新建” 则打开资源编辑器,自己绘制图标。这里我们选择导入我们收藏的ICON文件,一个黄纸飞机IDI_ICON1和一个红纸飞机IDI_ICON2。 我们在这里先将这两个图标通过CDC的DrawIcon函数在窗口中绘制出来。 void CEX041View::OnDraw(CDC* pDC) {     // TODO: 在此处为本机数据添加绘制代码     HICON hIcon=AfxGetApp()->LoadIcon(IDI_ICON1);     pDC->DrawIcon(0,0,hIcon);     DestroyIcon(hIcon);       hIcon=AfxGetApp()->LoadIcon(IDI_ICON2);     pDC->DrawIcon(50,0,hIcon);     DestroyIcon(hIcon); }  (2)为应用程序实例加载光标资源,并为主窗口设置指......

阅读全文(9639) | 评论:2

MFC/Windows编程之修改窗口标题(2008-04-08 15:38:00)

摘要:   首先我们启动Visual Studio2005,新建项目Test利用MFC App Wizard 生成MFC应用程序框架。程序运行后显示如下: 修改窗口标题字符串“无标题-Test”    <1> 修改前半部分   方法一:更改StringTable的IDR_MAINFRME的标题,将第一个\n之和第二个\n之间添加字符串fan为:
Test\nfan\nTest\n\n\nTest.Document\nTest.Document   方法二:在 CEX041Doc::OnNewDocument()中添加SetTitle("我的程序"); BOOL CTestDoc::OnNewDocument() {     if (!CDocument::OnNewDocument())         return FALSE;     // TODO: 在此添加重新初始化代码     SetTitle(L"fan");     // (SDI 文档将重用该文档)     return TRUE; }   方法三:重载虚函数SetTitle
void CTestDoc::SetTitle(LPCTSTR lpszTitle) {     // TODO: 在此添加专用代码和/或调用基类     CDocument::SetTitle(L"fan"); }  运行结果如下:    <2>修改后半部分 修改StringTable的IDR_MAINFRME的标题,将第一个\n之前的字符串Test替换为XJTU:XJTU\nfan\nEX041\n\n\nEX041.Document\nEX041.Document 运行结果如下:  <3>去掉标题中间的“-” ......

阅读全文(8166) | 评论:0

MFC/windows基本数据类型(2008-04-01 21:57:00)

摘要:#define FALSE   0           afx.h #define TRUE    1           afx.h #define NULL    0           afx.h typedef void                VOID        winnt.h //短整型typedef unsigned short typedef unsigned short      USHORT;     windef.h typedef unsigned short      WORD;       windef.h typedef unsigned short      wchar_t typedef short               SHORT;      winnt.h //整型typedef  int typedef int          &n......

阅读全文(7544) | 评论:0

VS入门之菜单图标光标状态栏(2007-10-12 20:09:00)

摘要:本例融合了添加菜单、光标、图标资源及状态栏显示时间。 1文件à新建à项目àwin32àwin32空项目à项目属性à配置属性à常规àMFC的使用à在共享DLL中使用MFC或在静态库中链接MFCà编写first.cpp文件 2在项目文件中添加first.rc文件,在资源视图中选择first.rc节点,再选择编辑à包含文件,在上下两列表框中分别填入#include afxres.h”和#include“afxres.rc”; 3右击资源视图中first.rc节点à添加资源—〉选择Menu|新建à在资源编辑框中编辑FILE|EXIT菜单à单击菜单出现菜单属性菜单编辑器将其EXIT 的ID设置为ID_FILE_EXIT,并在.cpp文件中添加系统默认EXIT退出函数命令; 4右击资源视图中first.rc节点à 添加资源à选择Icon|导入已有的.ico图表文件à在资源视图一次展开Icon 将其ID默认为IDI_ICON1,然后在first.cpp加载IDI_ICON1;本例加载了两个Icon分别为生成的.exe文件图标和主窗口左上角小图标。 5同上导入自己收藏的.cur光标文件,默认ID为IDC_CURSOR1,然后在first.cpp加载IDI_CURSOR1 附程序清单: #include <afxwin.h> // 必要的包涵文件 #include <afxext.h> #include "resource.h" // 主窗口类 class MyFrameWindow : public CFrameWnd { public:     //在窗口被创建之前先执行此函数     BOOL PreCreateWindow(CREATESTRUCT &cs)     {         cs.hMenu=LoadMenu(NULL,MAKEINTRESOURCE(IDR_MENU1)); //载入自定义菜单         return CFrameWnd::PreCreateWin......

阅读全文(4381) | 评论:0