📄 statusbar.h
字号:
// StatusBar.h - by Robin Hewitt, 2004
// http://www.robinhewitt.com/mavis
// This is free software. See license at the bottom
// of this file for details.
//
//////////////////////////////////////////////////////////////
// Header for the StatusBar class.
//
#ifndef __STATUSBAR_CLASS
#define __STATUSBAR_CLASS
#include <windows.h>
#include <stdexcept>
#include <string>
#include <winuser.h>
using namespace std;
//
// StatusBar
//
class StatusBar
{
public:
//
// Constructor
//
// INPUTS:
// hinst - handle to application instance.
// hwnd - handle to window that will contain the status bar.
// wndproc - pointer to a windows-style callback in the window that
// contains the status bar. This method should forward handling
// to StatusBar::wndProc().
// txtproc - same as wndproc, but forward to StatusBar::textProc().
//
StatusBar(HINSTANCE hinst, HWND hwnd, WNDPROC wndproc, WNDPROC txtproc);
LRESULT CALLBACK wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK textProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
void show();
//
// FUNCTION: update()
//
// PURPOSE: Update the status bar text.
//
// INPUTS: lpsz - the text to display, can be NULL.
//
void update(LPCTSTR lpsz);
~StatusBar();
private:
std::string classname;
std::string txtWinName;
HINSTANCE hAppInst;
HWND hAppWnd;
HANDLE ghFont;
HBRUSH ghbrHighlight;
HBRUSH ghbrShadow;
HWND ghStatusWnd;
HWND ghTextWnd;
int gHeight;
void paintText(HWND hwnd, HDC hdc);
void cleanup();
void defaultValues();
};
#endif
///////////////////////////////////////////////////////////////////////////////////////
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
//
// By downloading, copying, installing or using the software you agree to this
// license. If you do not agree to this license, do not download, install, copy or
// use the software.
//
//
// Mavis License Agreement
//
// Copyright (c) 2004, Robin Hewitt (http://www.robin-hewitt.com).
// Third party copyrights are property of their respective owners.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// This software is provided "as is" and any express or implied warranties, including,
// but not limited to, the implied warranties of merchantability and fitness for a
// particular purpose are disclaimed. In no event shall the authors or contributors be
// liable for any direct, indirect, incidental, special, exemplary, or consequential
// damages (including, but not limited to, procurement of substitute goods or services;
// loss of use, data, or profits; or business interruption) however caused and on any
// theory of liability, whether in contract, strict liability, or tort (including
// negligence or otherwise) arising in any way out of the use of this software, even
// if advised of the possibility of such damage.
///////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -