MFC----定制程序外观
来源:互联网 发布:手机知乎怎么修改答案 编辑:程序博客网 时间:2024/06/06 04:24
窗口创建前修改
Win32 创建窗口用到的函数
HWND CreateWindow( __in LPCTSTR lpClassName, __in LPCTSTR lpWindowName, __in DWORD dwStyle, __in int x, __in int y, __in int nWidth, __in int nHeight, __in HWND hWndParent, __in HMENU hMenu, __in HINSTANCE hInstance, __in LPVOID lpParam);
MFC中不需要去手动调用 CreateWindow( ),而是通过PreCreateWindow(CREATESTRUCT& cs)定制参数,这个函数是一个虚函数。
typedef struct tagCREATESTRUCTW { LPVOID lpCreateParams; HINSTANCE hInstance; HMENU hMenu; HWND hwndParent; int cy; int cx; int y; int x; LONG style; LPCWSTR lpszName; LPCWSTR lpszClass; DWORD dwExStyle;} CREATESTRUCTW, *LPCREATESTRUCTW;
程序创建向导已经确定了lpszClass ,所以一般情况下不要去修改窗口类名称,否则你需要重新创建一个新的窗口类然后注册。
这个地方能修改窗口的起点,窗口高度,宽度,使用哪个窗口类,窗口类型。
最常用的窗口类型:
WS_OVERLAPPED 重叠窗口,一般具备标题和边框;
WS_OVERLAPPEDWINDOW ==WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME |WS_MINIMIZEBOX | WS_MAXIMIZEBOX
如果去掉WS_THICKFRAME,窗口大小将不可更改。
In a single document interface (SDI) application, the default window style in the framework is a combination of the WS_OVERLAPPEDWINDOW and FWS_ADDTOTITLE styles.
窗口创建之后修改
窗口在创建完成以后发送WM_CREATE消息,因此可以在OnCreate()当中响应;
使用CWindow::SetWindowLong 设置新的窗口风格
获取当前样式 CWindow::GetWindowLong
LONG SetWindowLong( int nIndex, LONG dwNewLong ) throw();
nIndex可以取以下值,其他请参看MSDN
GWL_EXSTYLE
设置扩展窗口样式,For more information, see CreateWindowEx.
GWL_STYLE
设置新的窗口样式,对应CREATESTRUCT &cs ;
GWL_WNDPROC
设置新的消息处理函数,
You cannot change this attribute if the window does not belong to the same process as the calling thread.
- MFC----定制程序外观
- MFC定制应用程序外观
- MFC 定制应用程序外观 -- 总结
- 定制MFC SDI应用程序外观
- 控制台程序的外观定制
- [MFC]程序外观修改
- MFC笔记2:定制应用程序外观
- MFC——7.定制应用程序外观
- MFC改变程序的窗口外观
- [Qt Quaterly]通过Qt4.2样式表定制程序外观
- ZT:通过Qt4.2样式表定制程序外观
- 通过Qt4.2样式表定制程序外观
- 通过Qt4.2样式表定制程序外观
- 通过Qt4.2样式表定制程序外观
- 通过Qt4.2样式表定制程序外观
- 通过Qt4.2样式表定制程序外观
- 定制DataGrid的外观
- 定制DataGrid的外观
- share中简单聊天界面的实现<代码>
- uva 12563——Jin Ge Jin Qu hao
- 地理信息系统基础算法(三)判断矩形是否包含点
- source not found. debug
- 【OpenCV学习笔记】1.2图像的基本操作
- MFC----定制程序外观
- 闲话Zynq UltraScale+ MPSoC (连载3)——启动加载
- 回家了,英语学习也要抓紧了!
- 1026. Table Tennis (30)
- 深拷贝与浅拷贝
- mysql 学习路线(给新手的建议)
- 如何使用excel画甘特图
- Html定义网页背景色
- Codeforces Educational Codeforces Round 2 B. Queries about less or equal elements