16,551
社区成员
发帖
与我相关
我的任务
分享
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.结果 