我插入一工具栏,如下加入下拉按钮:
m_wndPaintSetToolbar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
DWORD dwStyle=m_wndPaintSetToolbar.GetButtonStyle(m_wndPaintSetToolbar.CommandToIndex(ID_SET_LINE_WIDTH));
dwStyle|=TBSTYLE_DROPDOWN;
m_wndPaintSetToolbar.SetButtonStyle(m_wndPaintSetToolbar.CommandToIndex(ID_SET_LINE_WIDTH),dwStyle);
m_wndPaintSetToolbar.SetButtonStyle(m_wndPaintSetToolbar.CommandToIndex(ID_SET_COLOR),dwStyle);
m_wndPaintSetToolbar.SetButtonStyle(m_wndPaintSetToolbar.CommandToIndex(ID_SET_LINE_TYPE),dwStyle);
请问如何让下拉按钮响应下拉操作?
m_wndPaintSetToolbar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
DWORD dwStyle=m_wndPaintSetToolbar.GetButtonStyle(m_wndPaintSetToolbar.CommandToIndex(ID_SET_LINE_WIDTH));
dwStyle|=TBSTYLE_DROPDOWN;
m_wndPaintSetToolbar.SetButtonStyle(m_wndPaintSetToolbar.CommandToIndex(ID_SET_LINE_WIDTH),dwStyle);
m_wndPaintSetToolbar.SetButtonStyle(m_wndPaintSetToolbar.CommandToIndex(ID_SET_COLOR),dwStyle);
m_wndPaintSetToolbar.SetButtonStyle(m_wndPaintSetToolbar.CommandToIndex(ID_SET_LINE_TYPE),dwStyle);
请问如何让下拉按钮响应下拉操作?
ID_SET_LINE_TYPE
类向导就可以响应函数了
在Accelerator中加入一项
ID_SET_LINE_TYPE
ctrl+w类向导就可以响应函数了void CRichctrlDlg::OnButton3()
{
SendMessage(WM_COMMAND,ID_SET_LINE_TYPE,NULL);}
除了点击按钮,还可以
这样调用它---------------------------
技术上可行
符合你的要求吗?
如果不明白
请给我发短消息
请附: 帖子的地址
或在
http://www.338888.com/VCShare/Default.asp
上提问
何说的不符合我的,WANGJS说的才是我的意思.
在Accelerator中加入一项
ID_SET_LINE_TYPE
ctrl+w类向导就可以响应函数了
在Accelerator中加入一项
ID_SET_LINE_TYPE
应该已经有了ctrl+w
注意message是COMMAND---------------------------
技术上可行
符合你的要求吗?
如果不明白
请给我发短消息
请附: 帖子的地址
或在
http://www.338888.com/VCShare/Default.asp
上提问
http://www.338888.com/VCShare/ShowPost.asp?id=589
ON_NOTIFY(TBN_DROPDOWN,AFX_IDW_TOOLBAR,OnToolbarDropDown)------
详见:
http://www.338888.com/VCShare/ShowPost.asp?id=589
// PaintSetToolbar.h: interface for the CPaintSetToolbar class.
//
//////////////////////////////////////////////////////////////////////#if !defined(AFX_PAINTSETTOOLBAR_H__B5F2D762_22D4_4FCA_92C3_4E02DA3A32F1__INCLUDED_)
#define AFX_PAINTSETTOOLBAR_H__B5F2D762_22D4_4FCA_92C3_4E02DA3A32F1__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000class CPaintSetToolbar : public CToolBar
{
// Constructor
public:
CPaintSetToolbar();
void SetColumns(UINT nColumns);
UINT GetColumns() { return m_nColumns; };// Attributes
public:// Operations
public:// Implementation
public:
virtual ~CPaintSetToolbar();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endifprotected:
UINT m_nColumns;// Generated message map functions
protected:
//{{AFX_MSG(CPaintToolbar) //}}AFX_MSG
DECLARE_MESSAGE_MAP()};#endif // !defined(AFX_PAINTTOOLBAR_H__CEC3A2C3_C97B_4E8D_92CD_80B53E9B528E__INCLUDED_)
这样下拉按钮就没响应了.如果我是:CToolBar m_wndPaintSetToolbar;这样说明他就有响应,
请问为什么?
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED)就可以了.