对于应用程序的外观设计,也有不同的操作函数与操作技巧,现汇总整理如下。
1.virtual BOOL PreCreateWindow( CREATESTRUCT& cs );调用由框架在Windows窗口中先前创建附加到此CWnd 对象。
2.CREATESTRUCT 结构定义初始化参数传递给应用程序的窗口过程。
typedef struct tagCREATESTRUCT {
LPVOID lpCreateParams;
HANDLE hInstance;
HMENU hMenu;
HWND hwndParent;
int cy;
int cx;
int y;
int x;
LONG style;
LPCSTR lpszName;
LPCSTR lpszClass;
DWORD dwExStyle;
} CREATESTRUCT;
3.HINSTANCE AFXAPI AfxGetInstanceHandle( );此函数使您能够检索当前应用程序的实例句柄。
应用程序当前实例的HINSTANCE。如果调用从 DLL 的内部链接到MFC 版本的 USRDLL, 返回DLL的HINSTANCE。
4.在MFC程序中,如果想要修改应用程序窗口的图标,则应在框架类中进行,因为框架窗口中才有标题栏,所以才能修改。如果想要修改程序窗口的背景和光标,就应该在视类中进行。
5.AfxRegisterWndClass()。可以注册自己的窗口类。
LPCTSTR AFXAPI AfxRegisterWndClass( UINT nClassStyle, HCURSOR hCursor = 0, HBRUSH hbrBackground = 0, HICON hIcon = 0 );
指定窗口在样式类的样式或组合,创建使用了按位或 (|) 运算符,窗口类。有关类样式列表,请参阅《Windows SDK的WNDCLASS 结构。如果 NULL,默认设置如下:
设置鼠标样式为 CS_DBLCLKS,路由信息。双击窗口过程,当用户双击鼠标时。
设置箭头光标样式。Windows 标准 IDC_ARROW。
设置背景画笔为 NULL,因此窗口,不会清除其背景。
设置图标到标准,Windows 徽标波浪标志图标。
返回值为包含类名称的非终止字符串。可以将此类命名为CWnd 或其他CWnd-派生的类的创建 成员函数来创建的窗口。名称由 Microsoft 基础类库生成的。
6.SetClassLong()。该函数替换额外的类存储空间中指定偏移量处的32位长整型值,或替换指定窗口所属类的WNDCLASSEX结构(应该是替换这个结构体中值,没有把结构体给换了吧)。
函数原型:DWORD SetClassLong(HWND hWnd,int nlndex,LONG dwNewLong)
7.MAKEINTRESOURCE是一个资源名转换的宏,这个宏是把一个数字类型转换成指针类型的宏,它不存在释放的问题·
8.CToolBar::Create This member function creates a Windows toolbar (a child window) and associates it with theCToolBar object.
virtual BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP, UINT nID = AFX_IDW_TOOLBAR );
CBRS_TOP Control bar is at top of the frame window.
CBRS_BOTTOM Control bar is at bottom of the frame window.
CBRS_NOALIGN Control bar is not repositioned when the parent is resized.
CBRS_TOOLTIPS Control bar displays tool tips.
CBRS_SIZE_DYNAMIC Control bar is dynamic.
CBRS_SIZE_FIXED Control bar is fixed.
CBRS_FLOATING Control bar is floating.
CBRS_FLYBY Status bar displays information about the button.
CBRS_HIDE_INPLACE Control bar is not displayed to the user.
Return ValueNonzero if successful; otherwise 0
9.CToolBar::CreateEx Call this function to create a Windows toolbar (a child window) and associate it with theCToolBar object.
virtual BOOL CreateEx( CWnd* pParentWnd, DWORD dwCtrlStyle = TBSTYLE_FLAT, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP,
CRect rcBorders = CRect( 0, 0, 0, 0), UINT nID = AFX_IDW_TOOLBAR);
10.CStatusBar::SetIndicators 此成员函数用来将每一个指示器的ID设置为由数组lpIDArray的相应元素指定的值,加载由每一个ID指定的字符串资源,并将这个字符串设置为此指示器的文本。
.