GUI 剖析之资源篇之 状态栏

状态栏:

你一定看见过一种窗口,它在下方显示一写用户状态及系统时间等...

#define IDC_MAIN_STATUS 8

#define IDC_MAIN_EDIT 9

 

 

HWND  hStatus = CreateWindowEx(0, STATUSCLASSNAME, NULL,

                                                        WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP, 0, 0, 0, 0,

                                                        hWnd, (HMENU)IDC_MAIN_STATUS, GetModuleHandle(NULL), NULL);

                                               int statwidths[] = {100, -1};

                                               SendMessage(hStatus, SB_SETPARTS, sizeof(statwidths)/sizeof(int),

                                                        (LPARAM)statwidths);

                                               SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)L"Hi there :)");

 

 

                                               HWND hTool;

                                               RECT rcTool;

                                               int iToolHeight;

                                                

                                               RECT rcStatus;

                                               int iStatusHeight;

                                               HWND hEdit;

                                               int iEditHeight;

                                               RECT rcClient;

                                               // Size toolbar and get height

                                               hTool = GetDlgItem(hWnd, IDC_MAIN_TOOL);

                                               SendMessage(hTool, TB_AUTOSIZE, 0, 0);

                                               GetWindowRect(hTool, &rcTool);

 

                                               iToolHeight = rcTool.bottom - rcTool.top;

                                               // Size status bar and get height

                                               hStatus = GetDlgItem(hWnd, IDC_MAIN_STATUS);

                                               SendMessage(hStatus, WM_SIZE, 0, 0);

                                               GetWindowRect(hStatus, &rcStatus);

                                               iStatusHeight = rcStatus.bottom - rcStatus.top;

                                               // Calculate remaining height and size edit

                                               GetClientRect(hWnd, &rcClient);

                                               iEditHeight = rcClient.bottom - iToolHeight - iStatusHeight;

                                               hEdit = GetDlgItem(hWnd, IDC_MAIN_EDIT);

                                               SetWindowPos(hEdit, NULL, 0, iToolHeight, rcClient.right, iEditHeight,

                                                        SWP_NOZORDER);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值