Windows API实现最最简单的窗口程序
来源:互联网 发布:新疆为什么网络管制 编辑:程序博客网 时间:2024/05/21 06:19
弹出消息框:
#include <windows.h>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){MessageBox (NULL, TEXT ("Hell World"), TEXT ("HelloMsg"), 0) ;return 0 ;}
简单的window 窗口 :
#include <windows.h>#include <stdio.h>//自定义消息循环相应函数LRESULT CALLBACK myWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam){ switch (Msg) { case WM_CLOSE: if(MessageBox(hWnd,"你要关闭窗口吗?","提示!",MB_OKCANCEL) == IDOK) DestroyWindow(hWnd); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd,Msg,wParam,lParam); } return 0;}//主函数int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){ WNDCLASS wndcls; wndcls.cbClsExtra = 0; wndcls.cbWndExtra = 0; wndcls.hbrBackground = (HBRUSH)GetStockObject(WHITE_PEN); wndcls.hCursor = LoadCursor(NULL,IDC_ARROW); wndcls.hIcon = LoadIcon(NULL,IDI_APPLICATION); wndcls.hInstance = hInstance; wndcls.lpfnWndProc = myWndProc; wndcls.lpszClassName = "haoge"; wndcls.lpszMenuName = NULL; wndcls.style = CS_HREDRAW | CS_VREDRAW; /* WNDCLASS结构体也可以用{}的形式初始化WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L,hInst, NULL, NULL, NULL, NULL,"AppClass", NULL };*/ RegisterClass(&wndcls); HWND hWnd = CreateWindow("haoge","豪哥",WS_OVERLAPPEDWINDOW | WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,NULL,NULL,hInstance,NULL); //消息循环 MSG Msg; while(GetMessage(&Msg,hWnd,NULL,NULL)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } return 0;}
#include <windows.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szAppName[] = TEXT("Hello, TopSage.com"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szAppName; if (!RegisterClass(&wndclass)) { MessageBox (NULL, TEXT("Windows NT以上Windows版本运行"), szAppName, MB_ICONERROR); return 0; } hwnd = CreateWindow(szAppName, TEXT("TopSage.com"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); ShowWindow(hwnd, iCmdShow); UpdateWindow(hwnd); while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam;}LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc; PAINTSTRUCT ps; RECT rect; switch (message) { case WM_PAINT: hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rect); DrawText(hdc, TEXT ("大家网,大家的网上学习家园!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hwnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, message, wParam, lParam);}
- Windows API实现最最简单的窗口程序
- windows api 实现简单窗口
- windows API编程之三----简单的窗口程序
- #一个最最简单的留言程序
- 最最简单的归并算法小程序
- 实现一个最最简单的COM组件
- 最最最简单的C++缓存实现
- windows简单窗口程序
- 最最最最简单的Linux后门~~, HOHOHO~~
- 简单的API窗口
- Windows API实现窗口居中
- 重温WIN32 API ------ 最简单的Windows窗口封装类
- socket实现最最最简单的http请求的数据
- 简单的 Nova REST API 实现程序
- windows API 生成一个窗口简单例子
- java最最简单的问题
- 最最最简单的分页
- 最最最简单的计算器
- 效率。。笔记
- 有关答疑事项
- 套接字究竟是什么?
- 安装monit
- 生成图片验证码的程序
- Windows API实现最最简单的窗口程序
- Spring mvc (三) [继承SimpleFormController配合formbean区别get和post请求]
- Topcoder SRM 544 1000pt
- 从老鼠试验毒药的算法想到的
- 推荐个结合控件
- 设计模式(十一)——单例模式
- <<探讨linux/unix>>之命令find
- Hadoop Shell Command
- 深入探讨 Java 类加载器