vs2012怎样添加自定义资源

Red_Flame 2013-02-13 05:47:45
本人小白,刚想windows编程,看到是windows程序设计5版的书,第10中有个范例poeppoem,就是自己创建资源的问题,我创建了TEXT的资源,可为什么变成了text1.bin的东西,后缀为什么不是text类型的呢?导致范例还没有具体实现。。。
希望高手大神给我点拨下,谢谢,祝各位新年快乐!
...全文
611 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
傻子才伤悲 2013-11-16
  • 打赏
  • 举报
回复
本人同样刚自学windows编程,也遇到你说的问题,我的是VS2010 ,不过想来差别不大,跟VC6差别还是很大的。等下我也会开个帖子说下这个问题,这里先回复你吧,虽然你可能看不到了。 1.建立新win 32 project ,如图 2.关键的部分来了,也是和VC6不同的地方。假设你要将xx.txt作为资源,我选的自己桌面上的test.txt。右击 Resource Files -> add resource 出来的画面 应该是 很多帖子都是接下来选 custom 然后 Insert..."TEXT", Import.. 但是我发现我这么操作完了之后根本没有import这个选项。所以我这里直接就选 import 选项,而不是custom。然后选择你要import的文件,如图 确定以后,会弹出如下图: 这里需要你填写一个Resource Type ,假如你之前已经有了,就直接输入,没有的话在你输入后会给你自动建立一个自定义资源,也就是自动调用custom,是不是有点方便? 3.完成上述操作后,你站到resource view就会看到资源已经建立好了, 4.下面是测试代码

#include <windows.h>
#include "resource.h"
//IDR_TEXT1      TEXT    DISCARDABLE     "text.txt"
HINSTANCE hInst;

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
{
	HDC          hdc;
	PAINTSTRUCT  ps;
	RECT         rect;
	static char  *pText;
	static HGLOBAL  hResource;

	switch(message)
	{
	case WM_CREATE:
		hResource = LoadResource(hInst, FindResource(hInst, MAKEINTRESOURCE(IDR_TEXT1), TEXT("TEXT")));
		pText = (char*)LockResource(hResource);
		return 0;

	case WM_PAINT:
		hdc = BeginPaint(hwnd, &ps);
		//pText = (char*)LockResource(hResource);
		GetClientRect(hwnd, &rect);
		
		DrawTextA(hdc, pText, -1, &rect, DT_EXTERNALLEADING);
		EndPaint(hwnd, &ps);
		return 0;

	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return DefWindowProc(hwnd, message, wparam, lparam);
}

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hpreinstance, PSTR cmdline, int showcmd)
{
	MSG msg;
	static TCHAR *szAppName = TEXT("ya~ha~");
	WNDCLASS wndclass;
	HWND hwnd;

	wndclass.cbClsExtra          = 0;
	wndclass.cbWndExtra          = 0;
	wndclass.hbrBackground       = (HBRUSH)GetStockObject(WHITE_BRUSH);
	wndclass.hCursor             = LoadCursor(0, IDC_ARROW);
	wndclass.hIcon               = LoadIcon(0, IDI_APPLICATION);
	wndclass.hInstance           = hinstance;
	wndclass.lpfnWndProc         = WndProc;
	wndclass.lpszClassName       = szAppName;
	wndclass.lpszMenuName        = 0;
	wndclass.style               = CS_HREDRAW|CS_VREDRAW;

	hInst = hinstance;

	if(!RegisterClass(&wndclass))
	{
		MessageBox(0, szAppName, TEXT("sth wrong~~"), MB_ICONERROR);
	}

	hwnd = CreateWindow(szAppName, TEXT("kk"), WS_OVERLAPPEDWINDOW, 
		                CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 
						0, 0, 
						hinstance, 0);
	
	ShowWindow(hwnd, showcmd);
	UpdateWindow(hwnd);

	while(GetMessage(&msg, 0, 0, 0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return msg.wParam;
}
5.结果
反广告助手是一款针对广告骚扰的永久免费软件,能够自定义添加规则关闭自己想关闭的弹窗、弹网页、后台进程,还能锁定IE主页防止恶意篡改。而且占用系统内存小,运行后对日常使用毫无影响,适合最小化隐藏到系统托盘长期开着,实在是居家上网必备好工具!         反广告助手功能特点:        1、关闭弹出窗口:        许多软件在使用的时候会频繁弹出消息、提示或者各种新闻资讯窗口,相当很令人反感。反广告助手能自定义添加这些常用软件消息窗口、提示窗口、资讯窗口,进行监控,并且在弹出这些窗口的时候快速关闭,轻松上网无打扰。        2、关闭后台进程:        许多影视软件在打开的时候都会附带启动一个后台进程,并且在软件退出后,其后台进程依然留在你电脑里偷偷运行占用系统资源,有些后台进程还会定时弹出广告。反广告助手提供了自定义添加程序进程与后台进程规则平台,当软件程序进程退出后就结束其后台进程,别让他在电脑里占用资源。        3、锁定IE主页:        锁定IE浏览器主页,防止恶意篡改        4、关闭弹出网页:        许多外挂和辅助软件都会在打开的时候不停的弹出网页,反广告助手能自定交添加这些弹出的网页到规则里进行监控,并且在弹出这些网页的时候快速关闭。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧