c语言程序编译完成后无法连接,为什么这个程序可以编译无法连接?

这篇博客展示了如何使用C++进行Windows应用程序开发。通过注册窗口类、创建窗口、处理消息循环,以及在`WndProc`窗口过程中响应`WM_PAINT`和`WM_KEYDOWN`消息,来改变窗口背景颜色。开发者可以借此了解基本的GUI编程概念。
摘要由CSDN通过智能技术生成

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

#include

LPCTSTR lpszAppName=TEXT("MyApp");

LPCTSTR lpszTitle=TEXT("My Application");

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR lpCmdLine,int nCmdShow)

{

MSG msg;

HWND hWnd;

WNDCLASS wc;

//注册主应用程序的窗口类

wc.style=CS_HREDRAW|CS_VREDRAW;

wc.lpfnWndProc=(WNDPROC)WndProc;

wc.cbClsExtra=0;

wc.cbWndExtra=0;

wc.hInstance=hInstance;

wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);

wc.hCursor=LoadCursor(NULL,IDC_ARROW);

wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);

wc.lpszMenuName=lpszAppName;

wc.lpszClassName=lpszAppName;

if(!RegisterClass(&wc))

return (FALSE);

//创建主应用程序的窗口

hWnd=CreateWindow(lpszAppName,lpszTitle,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);

if(!hWnd)

return (FALSE);

ShowWindow(hWnd,nCmdShow);

UpdateWindow(hWnd);

while(GetMessage(&msg,NULL,0,0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return (msg.wParam);

}

//窗口过程函数

LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)

{

RECT rect;

HDC hdc;

PAINTSTRUCT ps;

static int uRed=0,uGreen=0,uBlue=0;

switch(uMsg)

{

case WM_PAINT:

hdc=BeginPaint(hWnd,&ps);

GetClientRect(hWnd,&rect);

SetTextColor(hdc,RGB(uRed,uGreen,uBlue));

DrawText (hdc,TEXT("Hello,You Are Welcome!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);

EndPaint(hWnd,&ps);

break;

case WM_KEYDOWN:

uRed=rand() % 255;

uGreen=rand() % 255;

uBlue=rand() % 255;

InvalidateRect(hWnd,NULL,TRUE);

break;

case WM_DESTROY:

PostQuitMessage(0);

break;

default:

return DefWindowProc(hWnd,uMsg,wParam,lParam);

}

return (0L);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值