おねがいします。
ツールバーにエディットボックスを挿入する方法はないでしょうか?
REBARをつかうしか方法はないのでしょうか?
どなたかご存じの方おしえてください。よろしくお願いします。
リバーコントロールを使わずとも、コンボボックスをのせることはできます。
という訳で、コンボボックスをのっける方法と同じやり方でできませんかねぇ?
・ツールバーにIDがIDC_EDITのボタンを追加
・m_wndToolBar(CToolBar型のメンバ変数)
・m_edit(CEdit型のメンバ変数)
CRect rect;
TBBUTTON stTbButton;
::memset( &stTbButton, 0, sizeof(TBBUTTON));
stTbButton.iBitmap = 100; //幅
stTbButton.idCommand = IDC_EDIT;
stTbButton.fsStyle = TBSTYLE_SEP;
UINT uIndex = m_wndToolBar.CommandToIndex(IDC_EDIT);
m_wndToolBar.SendMessage(TB_DELETEBUTTON,uIndex,(LPARAM)0);
m_wndToolBar.SendMessage(TB_INSERTBUTTON,uIndex,(LPARAM)&stTbButton);
m_wndToolBar.GetItemRect( uIndex, &rect);
rect.DeflateRect( 1,1);
m_edit.Create( WS_CHILD | WS_VISIBLE, rect, &m_wndToolBar,IDC_EDIT );
こんな方法もあります。
①リソースファイルをテキストエディタで次のように編集します。
---------------------------------------------------------------------
BEGIN
BUTTON ID_FILE_NEW // 0
BUTTON ID_FILE_OPEN // 1
・・・・省略・・・・
BUTTON ID_APP_ABOUT // 10
SEPARATOR // 11
SEPARATOR // 12 ここにエディットボックスをつくるためのダミー
END
----------------------------------------------------------------------
②シンボルブラウザで IDC_EDIT を新規に追加する
③ CMainFrameのメンバ変数を追加する
CToolBar m_wndToolBar; // プロジェクト新規作成時に追加されている
CEdit m_edit; // 追加するエディットボックス用
④CMainFrame::OnCreate()を編集する
m_wndToolBar.Create(..........)の後に次のものを追加する
--------------------------------------------------------------
m_wndToolBar.SetButtonInfo(12,IDC_EDIT, TBBS_SEPARATOR, 200); // 200は幅
CRect rect;
m_wndToolBar.GetItemRect(12, &rect);
rect.DeflateRect(2,2);
m_edit.Create(WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL, rect, &m_wndToolBar,
IDC_EDIT);
-------------------------------------------------------------------
さっそくやってみます、ほんとうにありがとうございます。
できました!こんな方法があったんですね。本当にありがとうございました。