我是靠谱客的博主 拼搏山水,最近开发中收集的这篇文章主要介绍在c语言中load,各位大神请进,叫人纠结的LoadImage(),如何加载位图?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

昨天被LoadImage()给烦死了。

我只想在自己创建的窗口上显示一张位图,

这张位图的路径是 F:图片love.bmp

虽然说有种方法是把位图加载到工程的资源中,再通过它的ID引用它

但我只想通过图片路径进行加载,可就是不知道怎么做

我使用的IDE是VC++2010,语言是C++

源代码如下,我该如何修改??????????????

#include "windows.h"

#include "wingdi.h" MSG msg;

HINSTANCE hInst;

HBITMAP hbmp;

HDC mdc;

int xClient = 600; //窗口的左上角X坐标

int yClient = 600; //窗口的左上角Y坐标

static TCHAR CNAME[] = TEXT ("HelloWin") ; //窗口类标题

static TCHAR WNAME[] = TEXT ("GEN") ; //窗口类标题

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);

void MyPaint(HDC hdc,int xClient,int yClient)

{

BitBlt(hdc, xClient, yClient, 200, 400, mdc, 0, 0, SRCCOPY);

}

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow){ HDC hdc;

HWND hwnd;

hInst = hInstance;

//

WNDCLASS wc = {CS_PARENTDC,WndProc,NULL,NULL,hInstance,NULL,NULL, (HBRUSH) CreateSolidBrush(0X00FFFF)//自定义背景刷子的颜色

,NULL,CNAME};

//

RegisterClass (&wc); //

hwnd = CreateWindow(CNAME,WNAME,WS_POPUP | WS_BORDER,//弹出的无标题有边框的窗口

xClient,yClient,200,400,NULL,NULL,hInstance,NULL); hdc = GetDC(hwnd);

mdc = CreateCompatibleDC(hdc);

hbmp = (HBITMAP)LoadImage(0,TEXT("F:\图片\love.bmp"), IMAGE_BITMAP, 200, 400, LR_LOADFROMFILE);

SelectObject(mdc, hbmp);

MyPaint(hdc,xClient,yClient);

//ReleaseDC(hwnd,hdc);

//return TRUE;

//

ShowWindow (hwnd, iCmdShow) ; //在显示器上显示窗口

UpdateWindow (hwnd) ; //绘制窗口 //-------------------------------------------------------------

while (GetMessage (&msg, NULL, 0, 0)){//消息循环

TranslateMessage (&msg) ; //将击键消息转换为字符消息

DispatchMessage (&msg) ; //将消息回传给Windows,由Windows转发给适当的窗口过程

//这里的窗口过程为WndProc()函数

}

return msg.wParam ;

//-------------------------------------------------------------

} //-------------------------------------------------------------

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){//窗口过程函数 PAINTSTRUCT ps;

HDC hdc; switch (message){ /*case WM_PAINT:

hdc = BeginPaint(hwnd,&ps);

MyPaint(hdc,xClient,yClient);

EndPaint(hwnd,&ps);*/

case WM_DESTROY:

DeleteDC(mdc);

DeleteObject(hbmp);

//ReleaseDC(hwnd,hdc);

PostQuitMessage (0) ;

return 0 ; /*无标题栏的窗口移动*/

case WM_LBUTTONDOWN:

SendMessage(hwnd,WM_NCLBUTTONDOWN,HTCAPTION,0);

break;

};

return DefWindowProc (hwnd, message, wParam, lParam) ; //处理所有窗口过程不予处理的消息

}

//-------------------------------------------------------------

最后

以上就是拼搏山水为你收集整理的在c语言中load,各位大神请进,叫人纠结的LoadImage(),如何加载位图?的全部内容,希望文章能够帮你解决在c语言中load,各位大神请进,叫人纠结的LoadImage(),如何加载位图?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部