admin 管理员组文章数量: 1086019
2023年12月21日发(作者:adminlte教程)
我要做一个C语言的图形界面,用vc编,希望可以用鼠标点击
悬赏分:20 |
解决时间:2008-9-29 21:04 |
提问者:hahadieo
希望你能给一个例子,和常用的函数说明!
问题补充:
规定用vc
最佳答案
WINDOWS编程
#include "stdio.h"
#include "windows.h"
LRESULT CALLBACK wndproc(HWND hwnd,UINT uMsg,WPARAM
wParam,LPARAM lParam);
class win
{
public:
BOOL W_class(HINSTANCE hInstance);
BOOL create(HINSTANCE hInstance);
};
BOOL win::W_class(HINSTANCE hInstance)
{
WNDCLASS wdnclass;//设计窗口
=CS_HREDRAW|CS_VREDRAW;;//窗口
dProc=wndproc;//窗口指针很重要
xtra=0;//通常为0
xtra=0;//通常为0
nce=hInstance;//句柄
=LoadIcon(NULL,IDI_ERROR);//图标句柄
r=LoadCursor(NULL,IDC_CROSS);//光标句柄
kground=(HBRUSH)GetStockObject(WHITE_BRUSH);//背色句柄
nuName=NULL;
assName=L"zhuzi";//类的名字
return (RegisterClass(&wdnclass));//注册窗口
}
BOOL win::create(HINSTANCE hInstance)
{
HWND hwnd;
hwnd=CreateWindow(L"zhuzi",L"猪",WS_OVERLAPPEDWINDOW,
200,200,600,400,NULL,NULL,
hInstance,NULL);
//显示窗口
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);
return 1;
}
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{
win window;
if(!window.W_class(hInstance))
return 0;
if(!(hInstance))
return 0;
//消息循环
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);//接收消息
DispatchMessage(&msg);//将接收的消息处理
}
return 0;
}
//过程函数
LRESULT CALLBACK wndproc(HWND hwnd,UINT uMsg,WPARAM
wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
switch(uMsg)
{
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
TextOut(hdc,0,0,L"猪",(int)wcslen(L"猪"));
EndPaint(hwnd,&ps);
break;
case WM_CHAR:
char szchar[20];
sprintf_s(szchar,"ch%d",wParam);
MessageBox(hwnd,(LPCWSTR)szchar,L"zhuzi",MB_OK);
break;
case WM_LBUTTONDOWN:
if(IDYES==MessageBox(hwnd,L"猪编程",L"zhuzi",MB_YESNO))
{
HDC hDC;
hDC=GetDC(hwnd);
TextOut(hDC,150,150,L"猪万岁", (int)wcslen(L"猪万岁"));
ReleaseDC(hwnd,hDC);
}
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,L"真的退出",L"zhuzi",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
break;
}
return 0;
}
版权声明:本文标题:我要做一个C语言的图形界面 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1703151096a440059.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论