| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 844 人关注过本帖
标题:求救!图无法正常显示
取消只看楼主 加入收藏
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
结帖率:33.33%
收藏
 问题点数:0 回复次数:3 
求救!图无法正常显示

#include <stdAfx.h>
BOOL InitWindow(HINSTANCE hInstance, int nCmdShow);

LRESULT CALLBACK WinProc(HWND hWnd,
UINT message,
WPARAM wParam, LPARAM lParam );
HWND hWnd; //窗口句柄
int x,y,x1,y1;//窗口宽与高

HBITMAP hBm;
BITMAP bm;
int PASCAL WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
if ( !InitWindow( hInstance, nCmdShow ) ) return FALSE;
MSG msg;

hBm=LoadBitmap(hInstance,"IDB_BITMAP2");
for (;;)//消息循环1
{
if(PeekMessage(&msg,NULL, 0, 0, PM_REMOVE))
{

if(msg.message== WM_QUIT) break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}//消息循环1
return msg.wParam;
}

static BOOL InitWindow(HINSTANCE hInstance, int nCmdShow )
{

WNDCLASS wc;
wc.style=NULL;
wc.lpfnWndProc=(WNDPROC)WinProc;
wc.cbClsExtra=0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = CreateSolidBrush (RGB(192,192,192)); //暗红色的背景
wc.lpszMenuName = NULL;
wc.lpszClassName = "My_Test";
RegisterClass(&wc);//注册窗口
//按所给参数创造窗口
hWnd = CreateWindow("My_Test",
"My first program",
WS_POPUP|WS_MAXIMIZE,
0,0,
x=400, //GetSystemMetrics( SM_CXSCREEN )此函数返回屏幕宽度
y=400, //GetSystemMetrics( SM_CYSCREEN )此函数返回屏幕高度
NULL,NULL,hInstance,NULL);
if( !hWnd ) return FALSE;
ShowWindow(hWnd,nCmdShow);//显示窗口
UpdateWindow(hWnd);//刷新窗口
return TRUE;
}//end initWindows

LRESULT CALLBACK WinProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc,hdcmem,hdcWindow;
HBRUSH hb1,hb2;
HPEN hPen;
LPPOINT lpPoint;
PAINTSTRUCT ps;
switch( message )
{
case WM_CREATE:
hdc=GetDC(hWnd);
hdcmem=CreateCompatibleDC(hdc);
ReleaseDC(hWnd,hdc);
break;
case WM_KEYDOWN://击键消息
switch( wParam )
{
case VK_ESCAPE:
MessageBox(hWnd,"ESC键按下了! 确定后退出!","Keyboard",MB_OK);
PostMessage(hWnd, WM_CLOSE, 0, 0);//给窗口发送WM_CLOSE消息
break;
}
return 0; //处理完一个消息后返回0
case WM_PAINT:
hdc=BeginPaint(hWnd,&ps);
MoveToEx(hdc,x/10,y/10,NULL);
LineTo(hdc,(int)(x*0.9),(int)(y/10));
LineTo(hdc,(int)(x*0.9),(int)(y*0.9));
LineTo(hdc,(int) x/10,(int) (y*0.9));
LineTo(hdc,(int) x/10,(int) y/10);
MoveToEx(hdc,(int) (x/10+x*0.8/3),(int) y/10,NULL);
LineTo(hdc,(int) (x/10+x*0.8/3),(int)(y*0.9));
MoveToEx(hdc,(int) (x/10+x*0.8/3*2),(int) y/10,NULL);
LineTo(hdc,(int) (x/10+x*0.8/3*2),(int)( y*0.9));
MoveToEx(hdc,(int) x/10,(int) (y/10+y*0.8/3),NULL);
LineTo(hdc,(int)( x*0.9),(int) (y/10+y*0.8/3));
MoveToEx(hdc,(int) (x/10),(int)(y/10+y*0.8/3*2),NULL);
LineTo(hdc,(int )(x*0.9),(int)(y/10+y*0.8/3*2));
//TextOut(hdc,120,30,"一些线",6);
SelectObject(hdcmem,hBm);
BitBlt(hdc,x/10,y/10,21,22,hdcmem,0,0,SRCCOPY);//这个图片无法显示

ValidateRect(hWnd,NULL);
EndPaint(hWnd,&ps);
break;

case WM_CLOSE: //准备退出
DestroyWindow( hWnd ); //释放窗口
return 0;
case WM_RBUTTONDOWN:
MessageBox(hWnd,"鼠标右键按下了!","Mouse",MB_OK);
return 0;
case WM_DESTROY: //如果窗口被人释放…
PostQuitMessage( 0 ); //给窗口发送WM_QUIT消息
return 0;
}
//调用缺省消息处理过程
return DefWindowProc(hWnd,message,wParam,lParam);
}

搜索更多相关主题的帖子: int hInstance HINSTANCE hBm 
2005-11-08 11:50
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
收藏
得分:0 
哪一个高手会呀

长期承接管理系统
代做各种vb/ / vc小程序
QQ:82341763
手机:13623290828
群号 11619730
2005-11-08 15:39
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
收藏
得分:0 

这一个也不能显示图片

附源代码

vHG0RP2f.rar (15.22 KB)

[此贴子已经被作者于2005-11-9 11:11:30编辑过]


长期承接管理系统
代做各种vb/ / vc小程序
QQ:82341763
手机:13623290828
群号 11619730
2005-11-09 11:09
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
收藏
得分:0 
看来高手真的很少,这是书上的例程,大家都不会么

长期承接管理系统
代做各种vb/ / vc小程序
QQ:82341763
手机:13623290828
群号 11619730
2005-11-09 13:21
快速回复:求救!图无法正常显示
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059272 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved