nim_duilib/ui_components/toast/toast.h

76 lines
1.7 KiB
C
Raw Normal View History

2019-04-19 17:19:57 +08:00
#pragma once
namespace shared
{
/** @class Toast
* @brief <EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׵<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MessageBox<EFBFBD>ļ򻯰<EFBFBD>
* @copyright (c) 2016, NetEase Inc. All rights reserved
* @author Redrain
* @date 2016/8/24
*/
class Toast : public ui::WindowImplBase
{
public:
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>ʾһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>
* @param[in] content <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param[in] duration <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>),0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һֱ<EFBFBD><EFBFBD>ʾ
* @param[in] parent <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>toast<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return void <EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD>ֵ
*/
static void ShowToast(const std::wstring &content, int duration = 0, HWND parent = NULL);
public:
Toast(){};
~Toast(){};
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9BAAF>
virtual std::wstring GetSkinFolder() override;
virtual std::wstring GetSkinFile() override;
virtual std::wstring GetWindowClassName() const override;
virtual std::wstring GetWindowId() const /*override*/;
virtual UINT GetClassStyle() const override;
/**
* <EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return void <EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD>ֵ
*/
virtual void InitWindow() override;
/**
* <EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param[in] uMsg <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param[in] wParam <EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>
* @param[in] lParam <EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>
* @return LRESULT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) override;
/**
* <EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾʱ<EFBFBD><EFBFBD>
* @param[in] duration <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return void <EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD>ֵ
*/
void SetDuration(int duration);
private:
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>пؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param[in] msg <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
* @return bool true <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿؼ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>false ֹͣ<EFBFBD><EFBFBD><EFBFBD>ݿؼ<EFBFBD><EFBFBD><EFBFBD>Ϣ
*/
bool OnClicked(ui::EventArgs* msg);
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param[in] str <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @return void <EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD>ֵ
*/
void SetContent(const std::wstring &str);
public:
static const LPCTSTR kClassName;
private:
ui::RichEdit *content_;
ui::Button *close_button_;
};
}