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