dcdd144598 2011-02-23 kinaba: #ifndef _KILIB_CTRL_H_ dcdd144598 2011-02-23 kinaba: #define _KILIB_CTRL_H_ dcdd144598 2011-02-23 kinaba: #include "window.h" dcdd144598 2011-02-23 kinaba: #ifndef __ccdoc__ dcdd144598 2011-02-23 kinaba: namespace ki { dcdd144598 2011-02-23 kinaba: #endif dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: //@{ @pkg ki.Window //@} dcdd144598 2011-02-23 kinaba: //@{ dcdd144598 2011-02-23 kinaba: // ステータスバー dcdd144598 2011-02-23 kinaba: //@} dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: class StatusBar : public Window dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: StatusBar(); dcdd144598 2011-02-23 kinaba: bool Create( HWND parent ); dcdd144598 2011-02-23 kinaba: int AutoResize( bool maximized ); dcdd144598 2011-02-23 kinaba: void SetText( const TCHAR* str, int part=0 ); dcdd144598 2011-02-23 kinaba: void SetTipText( const TCHAR* tip, int part=0 ); dcdd144598 2011-02-23 kinaba: void SetParts( int n, int* parts ); dcdd144598 2011-02-23 kinaba: void SetStatusBarVisible(bool b=true); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: int width() const; dcdd144598 2011-02-23 kinaba: bool isStatusBarVisible() const; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: virtual bool PreTranslateMessage( MSG* ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: int width_; dcdd144598 2011-02-23 kinaba: bool visible_; dcdd144598 2011-02-23 kinaba: }; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //------------------------------------------------------------------------- dcdd144598 2011-02-23 kinaba: #ifndef __ccdoc__ dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline int StatusBar::width() const dcdd144598 2011-02-23 kinaba: { return width_; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline bool StatusBar::isStatusBarVisible() const dcdd144598 2011-02-23 kinaba: { return visible_; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline void StatusBar::SetParts( int n, int* parts ) dcdd144598 2011-02-23 kinaba: { SendMsg( SB_SETPARTS, n, reinterpret_cast<LPARAM>(parts) ); } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline void StatusBar::SetText( const TCHAR* str, int part ) dcdd144598 2011-02-23 kinaba: { SendMsg( SB_SETTEXT, part, reinterpret_cast<LPARAM>(str) ); } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline void StatusBar::SetStatusBarVisible(bool b) dcdd144598 2011-02-23 kinaba: { ::ShowWindow( hwnd(), b?SW_SHOW:SW_HIDE ); visible_=b; } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: #endif // __ccdoc__ dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: //@{ dcdd144598 2011-02-23 kinaba: // コンボボックス dcdd144598 2011-02-23 kinaba: //@} dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: class ComboBox : public Window dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: public: dcdd144598 2011-02-23 kinaba: explicit ComboBox( HWND cb ); dcdd144598 2011-02-23 kinaba: explicit ComboBox( HWND dlg, UINT id ); dcdd144598 2011-02-23 kinaba: void Add( const TCHAR* str ); dcdd144598 2011-02-23 kinaba: void Select( const TCHAR* str ); dcdd144598 2011-02-23 kinaba: int GetCurSel(); dcdd144598 2011-02-23 kinaba: private: dcdd144598 2011-02-23 kinaba: virtual bool PreTranslateMessage( MSG* ); dcdd144598 2011-02-23 kinaba: }; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //------------------------------------------------------------------------- dcdd144598 2011-02-23 kinaba: #ifndef __ccdoc__ dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline ComboBox::ComboBox( HWND cb ) dcdd144598 2011-02-23 kinaba: { SetHwnd(cb); } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline ComboBox::ComboBox( HWND dlg, UINT id ) dcdd144598 2011-02-23 kinaba: { SetHwnd( ::GetDlgItem(dlg,id) ); } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline void ComboBox::Add( const TCHAR* str ) dcdd144598 2011-02-23 kinaba: { SendMsg( CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(str) ); } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: inline int ComboBox::GetCurSel() dcdd144598 2011-02-23 kinaba: { return (int) SendMsg( CB_GETCURSEL ); } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: //========================================================================= dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: #endif // __ccdoc__ dcdd144598 2011-02-23 kinaba: } // namespace ki dcdd144598 2011-02-23 kinaba: #endif // _KILIB_CTRL_H_