dcdd144598 2011-02-23 kinaba: #include "stdafx.h" dcdd144598 2011-02-23 kinaba: #include "app.h" dcdd144598 2011-02-23 kinaba: #include "ctrl.h" dcdd144598 2011-02-23 kinaba: using namespace ki; 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: StatusBar::StatusBar() dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: app().InitModule( App::CTL ); dcdd144598 2011-02-23 kinaba: } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: bool StatusBar::Create( HWND parent ) dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: HWND h = ::CreateStatusWindow( dcdd144598 2011-02-23 kinaba: WS_CHILD|WS_VISIBLE|SBARS_SIZEGRIP, dcdd144598 2011-02-23 kinaba: TEXT(""), parent, 1787 ); dcdd144598 2011-02-23 kinaba: if( h == NULL ) dcdd144598 2011-02-23 kinaba: return false; dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: SetStatusBarVisible(); dcdd144598 2011-02-23 kinaba: SetHwnd( h ); dcdd144598 2011-02-23 kinaba: AutoResize( false ); dcdd144598 2011-02-23 kinaba: return true; dcdd144598 2011-02-23 kinaba: } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: int StatusBar::AutoResize( bool maximized ) dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: // サイズ自動変更 dcdd144598 2011-02-23 kinaba: SendMsg( WM_SIZE ); dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: // 変更後のサイズを取得 dcdd144598 2011-02-23 kinaba: RECT rc; dcdd144598 2011-02-23 kinaba: getPos( &rc ); dcdd144598 2011-02-23 kinaba: width_ = rc.right - rc.left; dcdd144598 2011-02-23 kinaba: if( !maximized ) dcdd144598 2011-02-23 kinaba: width_ -= 15; dcdd144598 2011-02-23 kinaba: return (isStatusBarVisible() ? rc.bottom - rc.top : 0); dcdd144598 2011-02-23 kinaba: } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: bool StatusBar::PreTranslateMessage( MSG* ) dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: // 何もしない dcdd144598 2011-02-23 kinaba: return false; 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: void ComboBox::Select( const TCHAR* str ) dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: // SELECTSTRING は先頭が合ってる物に全てにマッチするので使えない。 dcdd144598 2011-02-23 kinaba: // おそらくインクリメンタルサーチとかに使うべきものなのだろう。 dcdd144598 2011-02-23 kinaba: size_t i = dcdd144598 2011-02-23 kinaba: SendMsg( CB_FINDSTRINGEXACT, ~0, reinterpret_cast<LPARAM>(str) ); dcdd144598 2011-02-23 kinaba: if( i != CB_ERR ) dcdd144598 2011-02-23 kinaba: SendMsg( CB_SETCURSEL, i ); dcdd144598 2011-02-23 kinaba: } dcdd144598 2011-02-23 kinaba: dcdd144598 2011-02-23 kinaba: bool ComboBox::PreTranslateMessage( MSG* ) dcdd144598 2011-02-23 kinaba: { dcdd144598 2011-02-23 kinaba: return false; dcdd144598 2011-02-23 kinaba: }