ATL窗口
来源:互联网 发布:淘宝分销平台分销商 编辑:程序博客网 时间:2024/05/16 12:18
标准的Windows应用程序框架:
/*------------------------------------------------------------ HELLOWIN.C -- Displays "Hello, Windows 98!" in client area (c) Charles Petzold, 1998 ------------------------------------------------------------*/#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 ("HelloWin") ; 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 ("This program requires Windows NT!"), szAppName, MB_ICONERROR) ; return 0 ; } hwnd = CreateWindow (szAppName, // window class name TEXT ("The Hello Program"), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT, // initial x position CW_USEDEFAULT, // initial y position CW_USEDEFAULT, // initial x size CW_USEDEFAULT, // initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL) ; // creation parameters 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_CREATE: PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ; return 0 ; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; DrawText (hdc, TEXT ("Hello, Windows 98!"), -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) ;}ATL中最基本的窗口类是CWindow。他的主要任务是保存一个窗口句柄HWND。
当CWindow对象的HWND有效时,就可以使用其他的CWindow类成员函数。
void SayHello(HWND hwnd)
{
CWindow wnd = hwnd;
wnd.SetWindowText(_T("Hello"));
}
1 0
- ATL窗口
- ATL窗口
- ATL窗口(1)
- ATL窗口(2)
- ATL窗口(初学者)
- ATL中显示窗口
- 使用ATL 窗口类
- 使用ATL 窗口类
- ATL窗口(1) (转)
- ATL窗口(2)(转)
- 在ATL中实现窗口
- ATL窗口继承实现机制
- 在ATL中实现窗口
- ATL对窗口的封装
- 用ATL 创建(Activex) 窗口
- ATL 窗口类源码浅析
- ATL窗口实现的学习
- 在ATL中实现窗口
- 事件概念和监听事件练习2
- 谷歌技术栈(old)和业界的对比
- 微信第三方平台开发授权1:获取component_verify_ticket
- 宏观经济学思维导图
- MySQL数据库使用大总结
- ATL窗口
- Codeforces Round #374 (Div. 2) A&B
- Codeforces Round #374 (Div. 2)
- 334. Increasing Triplet Subsequence
- QTcreater快捷键
- JUnit单元测试运行无反应的问题
- Swift学习记录 -- 2. 数据基本运算
- 【LeetCode】210. Course Schedule II
- apache、php、mysql安装和配置(有图有真相)