zoukankan      html  css  js  c++  java
  • 创建工作窗口

    //创建内部工作窗口, 创建失败 ret == NULL, 否则是有效的窗口句柄
    //asz_name 窗口类名称 WndProc 窗口过程 asz_wnd_name 窗口名称
    //APP关闭时, 需要调用 DestroyWindow() 关闭窗口 
    inline HWND TfxWorkWindow(const char* asz_name,
    						  WNDPROC  WndProc, const char* asz_wnd_name = NULL );     
    
    //创建内部工作窗口, 创建失败 ret == NULL, 否则是有效的窗口句柄
    //asz_name 窗口类名称 WndProc 窗口过程 asz_wnd_name 窗口名称
    //APP关闭时, 需要调用 DestroyWindow() 关闭窗口 
    HWND TfxWorkWindow(const char* asz_name,
    				   WNDPROC  WndProc, const char* asz_wnd_name)
    {
    	HWND		hWnd=NULL;
    	WNDCLASSEX	wcex={0};
    
    	//获得当前应用程序的句柄
    	HINSTANCE	hInstance = GetModuleHandle(NULL);
    	if ( hInstance == NULL ) return NULL;
    
    	wcex.cbSize = sizeof(WNDCLASSEX); 
    
    	//设置回调函数
    	wcex.lpfnWndProc	= (WNDPROC)WndProc;	
    	wcex.style			= CS_HREDRAW | CS_VREDRAW;
    	wcex.cbClsExtra		= 0;
    	wcex.cbWndExtra		= 0;
    	wcex.hInstance		= hInstance;
    	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
    	wcex.lpszClassName	= asz_name;
    
    	WNDCLASS wndclass={0}; 
    	if ( GetClassInfo(hInstance, asz_name, &wndclass) == NULL ) 
    		if ( RegisterClassEx(&wcex) == NULL ) return (NULL);
    
    	if (  ( asz_wnd_name == NULL ) || (  strcmp(asz_wnd_name, "" ) == 0 ) )
    		hWnd = CreateWindow(asz_name, "", WS_OVERLAPPEDWINDOW,
    		CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
    	else
    		hWnd = CreateWindow(asz_name, asz_wnd_name, WS_OVERLAPPEDWINDOW,
    		CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
    
    	return hWnd;
    }
    

      

  • 相关阅读:
    使用JS动态创建含有1000行的表格
    HashTable、HashMap、LinkedHashMap、TreeMap的比较
    移动节点
    WebLoigc的配置(生产模式与开发模式)
    海量数据查询问题--简单的理解
    Servlet中乱码问题
    九度 1369 字符串的排列
    九度 1349 数字在排序数组中出现的次数
    九度 1384 二维数组中的查找
    九度 1402 特殊的数
  • 原文地址:https://www.cnblogs.com/jlyg/p/10155567.html
Copyright © 2011-2022 走看看