zoukankan      html  css  js  c++  java
  • Win32_Window(day02)

    ---  窗口创建函数 ---
    #include <Windows.h> //窗口处理函数 HINSTANCE g_hIns; LRESULT CALLBACK WndProc(HWND hWnd,UINT msgID, WPARAM wParam,LPARAM IParam) { switch (msgID) { case WM_DESTROY: PostQuitMessage(0);//消息窗口关闭按钮点击后,退出程序 break; } return DefWindowProc(hWnd,msgID,wParam,IParam); //给各种消息做默认处理 } //注册窗口 void Register(LPSTR IpClassName,WNDPROC wndProc) { WNDCLASSEX wce = {0}; wce.cbSize = sizeof(wce); wce.cbClsExtra = 0; wce.cbWndExtra = 0; wce.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wce.hCursor = NULL; wce.hIcon = NULL; wce.hIconSm = NULL; wce.hInstance = g_hIns; wce.lpfnWndProc = wndProc; wce.lpszClassName = IpClassName; wce.lpszMenuName = NULL ; wce.style = CS_HREDRAW|CS_VREDRAW; RegisterClassEx(&wce); } //创建窗口 HWND CreateMain(LPSTR IpClassName,LPSTR IpWndName) { HWND hWnd = CreateWindowEx(0,IpClassName,IpWndName,WS_OVERLAPPEDWINDOW, 100,100,700,500,NULL,NULL,g_hIns,NULL); return hWnd; } //显示窗口 void Display(HWND hWnd) { ShowWindow(hWnd,SW_SHOW); UpdateWindow(hWnd); //重绘窗口 } //消息循环 void Message() { MSG nMsg = {0}; while(GetMessage(&nMsg,NULL,0,0)) { TranslateMessage(&nMsg);//翻译消息 DispatchMessage(&nMsg);//派送消息 } } int CALLBACK WinMain(HINSTANCE hIns,HINSTANCE hPreIns,LPSTR IpCmdline,int nCmdShow) { g_hIns = hIns; //注册窗口类 Register("Main",WndProc); //创建窗口 HWND hWnd = CreateMain("Main","Window"); //显示窗口 Display(hWnd); //消息循环 Message(); return 0; }

    ——Windows下编码

        1.Windows下的编码默认使用的是 UNICODE,两个字节!这样就可以防止乱码的情况的出现!但是UNICODE 这种编码方式很费内存资源

        2.编码的发展:

            由于计算机是由美国发明的,所以当时只能支持英语,但是说英语的国家很少,再者当时计算机的硬件是十分昂贵!所以先发展的ASC码--> ASCII码 --> UNICODE

            ASC码 : 7位 -- 128个字符(bit)

            ASCII码:7+1 位 -- 256 个字符(bit) 

            UNICODE 16位 --   这就有很多字符了。但是UNICODE编码非常耗费内存资源,随着硬件的发展,UNICODE编码克服了这一难题逐渐取代了传统编码,这是因为这种编码可以支持世界上所有国家的语言,不会造成乱码的现象,所以这是一个国际化编码。

    ——Windows 下类型

            TPSTR    ---         char*

            TPCSTR            const char*

            wchar_t   ---        unsigned short  宽字节char -- 占2个字节

            ......

    ——Windows 下打印

           1.wprintf

           2.printf ---标准C打印

           3.Console 打印

    wchar_t* pszText = L"阿海";
        //wprintf(L"%s
    ",pszText);
        HANDLE hStd = GetStdHandle(STD_OUTPUT_HANDLE);
        WriteConsole(hStd,pszText,wcslen(pszText),NULL,NULL);

            

  • 相关阅读:
    IDEA 如何批量修改变量名
    Idea 竖选文本、竖向选择、横向纵向选择文本代码
    IDEA中的.iml文件和.idea文件夹
    IDEA-Maven的Dependencies中出现红色波浪线
    接收来自路劲中的参数
    Jquery基础知识点
    JavaScript浏览器对象
    JavaScript面向对象编程
    HTML5 <iframe> 标签
    JavaScript标准对象
  • 原文地址:https://www.cnblogs.com/Kernel001/p/7744819.html
Copyright © 2011-2022 走看看