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;
    }
    

      

  • 相关阅读:
    FireFox 火狐浏览器 新标签页的常用网站恢复默认设置
    有关BT下载的Tracker
    优化分页展示
    导航条
    Bootstrap栅格系统
    分页器
    浅谈深拷贝和浅拷贝
    浅谈==和===
    浅谈typeof 和instanceof
    浅谈JavaScript中的this
  • 原文地址:https://www.cnblogs.com/jlyg/p/10155567.html
Copyright © 2011-2022 走看看