MFC COleControl 类 公共方法:COleControl::OnInactiveMouseMove
在 MFC 中,COleControl::OnInactiveMouseMove 是 COleControl 类的一个公共方法,用于处理在控件处于非活动状态(inactive)时的鼠标移动事件。非活动状态通常指的是控件失去焦点或未处于活动状态。以下是该方法的基本用法和一些关键信息:void COleControl::OnInactiveMouseMove(CWnd* pWnd, LPARAM dwHitTest, CPoint point); pWnd: 指向包含控件的窗口的指针。 dwHitTest: 鼠标的命中测试标志。 point: 鼠标位置的 CPoint 对象。这个方法允许控件在非活动状态时处理鼠标的移动事件。在这个方法中,你可以根据鼠标的位置和其他参数来执行相应的操作。以下是一个简单的示例:void MyControl::OnInactiveMouseMove(CWnd* pWnd, LPARAM dwHitTest, CPoint point){ // 在非活动状态下处理鼠标移动事件的逻辑 // 例如,可以显示工具提示、改变鼠标样式等操作}在这个示例中,OnI...
MFC COleControl 类 公共方法:COleControl::OnHideToolBars
在 MFC 中,COleControl::OnHideToolBars 是 COleControl 类的一个公共方法,用于通知控件,工具栏将被隐藏。这个方法允许控件在工具栏被隐藏时进行相应的处理。以下是该方法的基本用法和一些关键信息:void COleControl::OnHideToolBars();这个方法通常被容器应用程序调用,以通知控件工具栏将被隐藏。当工具栏被隐藏时,控件可以根据需要进行相应的调整,以确保用户界面的一致性。以下是一个简单的示例:void MyControl::OnHideToolBars(){ // 在工具栏被隐藏时的处理逻辑 // 例如,可以隐藏控件内部的一些元素或调整布局等操作}在这个示例中,OnHideToolBars 方法内部可以包含控件在工具栏被隐藏时需要执行的逻辑。具体的操作取决于控件的特定需求和设计。请注意,这只是一个基本的示例,实际上你可能需要根据你的项目和控件的需求进行更复杂的处理。
MFC COleControl 类 公共方法:COleControl::OnGetViewStatus
在 MFC 中,COleControl::OnGetViewStatus 是 COleControl 类的一个公共方法,用于获取控件的视图状态。视图状态表示控件在其容器中的显示状态,例如是否可见、是否可激活等。以下是该方法的基本用法和一些关键信息:BOOL COleControl::OnGetViewStatus(DWORD& dwStatus) const; dwStatus: 用于存储视图状态的 DWORD 变量。在实现 OnGetViewStatus 方法时,你需要设置 dwStatus 的值以反映控件在容器中的期望显示状态。这个方法通常用于告诉容器控件应该以何种状态显示,以便容器可以相应地处理。以下是一个简单的示例:BOOL MyControl::OnGetViewStatus(DWORD& dwStatus) const{ // 设置视图状态,例如设置控件为可见和可激活状态 dwStatus = VIEWSTATUS_SOLIDBKGND | VIEWSTATUS_OPAQUE; return TRUE;}在这个示例中,VIEWSTATUS_...
MFC COleControl 类 公共方法:COleControl::OnGetViewRect
在 MFC 中,COleControl::OnGetViewRect 是 COleControl 类的一个公共方法,用于获取控件在其容器中的视图矩形(view rectangle)。视图矩形表示控件在容器中显示的位置和大小。以下是该方法的基本用法和一些关键信息:BOOL COleControl::OnGetViewRect(DWORD dwAspect, LPRECT pRect) const; dwAspect: 表示视图方面,通常为 DVASPECT_CONTENT。 pRect: 用于存储视图矩形的 RECT 结构。在实现 OnGetViewRect 方法时,你需要设置 pRect 的值以反映控件在容器中的期望位置和大小。这个方法通常用于告诉容器控件应该在容器的哪个区域内进行绘制。以下是一个简单的示例:BOOL MyControl::OnGetViewRect(DWORD dwAspect, LPRECT pRect) const{ // 设置视图矩形的位置和大小(示例值,根据实际需要调整) pRect->left = 0; pRect->top =...
MFC COleControl 类 公共方法:COleControl::OnGetViewExtent
在 MFC 中,COleControl::OnGetViewExtent 是 COleControl 类的一个公共方法,用于获取控件在其容器中的视图范围(view extent)。视图范围表示控件在容器中所占的空间大小。以下是该方法的基本用法和一些关键信息:BOOL COleControl::OnGetViewExtent(DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, HDC hdcDraw, LPSIZEL psizel) const; dwDrawAspect: 表示绘制方面,通常为 DVASPECT_CONTENT。 lindex: 在数据源对象中的项的索引,通常为 -1。 ptd: 目标设备的信息,通常为 nullptr。 hdcDraw: 目标设备的设备上下文,通常为 nullptr。 psizel: 用于存储视图范围大小的 SIZEL 结构。在实现 OnGetViewExtent 方法时,你需要设置 psizel 的值以反映控件在容器中的期望大小。这个方法通常用于告诉容器控件的理想大小,以便容器可以正确地布局和显...
MFC COleControl 类 公共方法:COleControl::OnGetPredefinedValue
在 MFC 中,COleControl::OnGetPredefinedValue 是 COleControl 类的一个公共方法,用于为属性网格提供属性的预定义值。这个方法在控件需要为某个属性提供默认值时被调用。以下是该方法的基本用法和一些关键信息:BOOL COleControl::OnGetPredefinedValue(DISPID dispid, VARTYPE vtPropType, VARIANT* pvarOut) const; dispid: 表示属性的 DISPATCH ID。 vtPropType: 属性的类型,如 VT_I4 表示整数。 pvarOut: 用于存储预定义值的 VARIANT 对象。在实现 OnGetPredefinedValue 方法时,你需要根据 dispid 的值来确定是哪个属性需要预定义值。然后,你可以将默认值设置到 pvarOut 中。以下是一个简单的示例:BOOL MyControl::OnGetPredefinedValue(DISPID dispid, VARTYPE vtPropType, VARIANT* pvarOut) con...
MFC COleControl 类 公共方法:COleControl::OnGetPredefinedStrings
在 MFC 中,COleControl::OnGetPredefinedStrings 是 COleControl 类的一个公共方法,用于为属性网格提供预定义的字符串列表。这个方法在控件需要为某个属性提供可选字符串列表时被调用。以下是该方法的基本用法和一些关键信息:BOOL COleControl::OnGetPredefinedStrings(DISPID dispid, CStringArray& sa) const; dispid: 表示属性的 DISPATCH ID。 sa: 用于存储预定义字符串列表的 CStringArray 对象。在实现 OnGetPredefinedStrings 方法时,你需要根据 dispid 的值来确定是哪个属性需要预定义字符串列表。然后,你可以将可选的字符串添加到 sa 中。以下是一个简单的示例:BOOL MyControl::OnGetPredefinedStrings(DISPID dispid, CStringArray& sa) const{ // 根据不同的属性 ID 设置相应的预定义字符串列表 if (di...
MFC COleControl 类 公共方法:COleControl::OnGetNaturalExtent
在 MFC 中,COleControl::OnGetNaturalExtent 是 COleControl 类的一个公共方法,用于获取控件的自然大小。自然大小是指控件在没有任何特殊约束条件的情况下,所认为的最适合的大小。以下是该方法的基本用法和一些关键信息:BOOL COleControl::OnGetNaturalExtent(DWORD dwAspect, LONG lindex, DVTARGETDEVICE* ptd, HDC hdcDraw, DVEXTENTINFO* pExtentInfo, LPSIZEL psizel) const; dwAspect: 表示要获取的方面,通常为 DVASPECT_CONTENT。 lindex: 在数据源对象中的项的索引,通常为 -1。 ptd: 目标设备的信息,通常为 nullptr。 hdcDraw: 目标设备的设备上下文,通常为 nullptr。 pExtentInfo: 用于存储扩展信息的 DVEXTENTINFO 结构。 psizel: 用于存储自然大小的 SIZEL 结构。在实现 OnGetNaturalExtent 方法...
MFC COleControl 类 公共方法:COleControl::OnGetInPlaceMenu
在 MFC 中,COleControl::OnGetInPlaceMenu 是 COleControl 类的一个公共方法,用于获取控件的原地菜单。这个方法在控件处于激活状态(in-place active)时,当用户右键单击控件时被调用。以下是该方法的基本用法和一些关键信息:HMENU COleControl::OnGetInPlaceMenu();返回值是 HMENU 类型,表示控件的原地菜单。通过重写这个方法,你可以自定义控件的右键菜单,以响应用户的右键单击事件。以下是一个简单的示例:HMENU MyControl::OnGetInPlaceMenu(){ // 创建一个新的菜单 HMENU hMenu = ::CreatePopupMenu(); // 添加菜单项 ::AppendMenu(hMenu, MF_STRING, IDM_CUSTOM_COMMAND, _T("Custom Command")); return hMenu;}在这个示例中,IDM_CUSTOM_COMMAND 是自定义命令的标识符,你可以根据你的需求定...
MFC COleControl 类 公共方法:COleControl::OnGetDisplayString
COleControl::OnGetDisplayString 是 MFC 中 COleControl 类的一个公共方法,用于获取控件的显示字符串。这个方法在 ActiveX 控件需要在属性网格中显示时被调用。以下是该方法的基本用法和一些关键信息:BOOL COleControl::OnGetDisplayString(DISPID dispid, CString& str) const; dispid: 表示属性的 DISPATCH ID。 str: 用于存储显示字符串的 CString 对象。在实现 OnGetDisplayString 方法时,你需要根据 dispid 的值来确定是哪个属性需要显示。然后,你可以设置相应的字符串到 str 中,这个字符串将在属性网格中显示。这个方法通常与属性的 COleDispatchDriver 方法一起使用,以确保在属性网格中正确地显示属性的值。你可能需要在 ActiveX 控件的类中重写这个方法,以提供适当的显示字符串。以下是一个简单的示例:BOOL MyControl::OnGetDisplayString(DISPID dispi...
MFC COleControl 类 公共方法:COleControl::OnGetControlInfo
COleControl::OnGetControlInfo 是 MFC 中 COleControl 类的一个公共方法,用于提供控件的信息。该方法的目的是在运行时向容器应用程序提供有关控件的信息,以便正确地显示和处理控件。以下是该方法的基本用法和一些重要参数:void COleControl::OnGetControlInfo(CONTROLINFO* pControlInfo) const; pControlInfo: 指向 CONTROLINFO 结构的指针,用于存储有关控件的信息。CONTROLINFO 结构包含了多个字段,用于描述控件的不同方面,如大小、边框等。在实现 OnGetControlInfo 方法时,你需要填充 pControlInfo 结构的各个字段,以便容器应用程序了解如何正确地处理和显示你的控件。这个方法通常在控件的 DoPropExchange 方法中被调用,用于初始化控件的信息。在实际使用时,你可能需要根据你的控件的特定需求来填充 CONTROLINFO 结构的字段。请注意,这只是一个简单的介绍,具体的实现和使用可能因你的项目和需求而有所不同。
MFC COleControl 类 公共方法:COleControl::OnGetColorSet
COleControl::OnGetColorSet 是 MFC 中 COleControl 类的一个公共方法。这个方法用于处理控件的颜色设置。当容器应用程序(hosting application)需要获取控件使用的颜色集时,会调用这个方法。颜色集包括背景色、前景色等,控件可以通过重写这个方法来返回相应的颜色信息。以下是 COleControl::OnGetColorSet 方法的简要说明:virtual HRESULT OnGetColorSet(DVTARGETDEVICE* pTargetDevice, HDC hDrawDC, LPLOGPALETTE* ppColorSet); pTargetDevice: 指向 DVTARGETDEVICE 结构的指针,表示目标设备的信息。 hDrawDC: 用于绘制的设备上下文句柄。 ppColorSet: 指向指向 LOGPALETTE 结构指针的指针。如果成功,应该由控件分配并填充 LOGPALETTE 结构,表示颜色集。这个方法的目的是允许控件根据目标设备和绘制上下文来提供适当的颜色集。如果你的控件需要自定义颜色,你可以重写这个方...
MFC COleControl 类 公共方法:COleControl::OnFontChanged
COleControl::OnFontChanged 是 MFC(Microsoft Foundation Classes)中的 COleControl 类的公共方法之一。这个方法是在控件的字体属性发生变化时被调用的。在 MFC 中,COleControl 类是用于实现 ActiveX 控件的基类。ActiveX 控件是可以被嵌入在其他容器应用程序中的可视化组件,例如在 Web 浏览器中显示的插件。OnFontChanged 方法是在控件的字体属性发生变化时触发的,它允许控件进行相应的处理,以确保适应新的字体设置。这个方法通常会在控件的属性被更改时自动被调用,开发者可以重写这个方法以实现特定的字体变化时的行为。下面是一个简单的示例,展示了如何在派生自 COleControl 的类中重写 OnFontChanged 方法:void CMyOleControl::OnFontChanged(){ COleControl::OnFontChanged(); // 在这里添加处理字体变化的代码 // 例如,更新控件的显示以适应新的字体设置}在实际的应用中,你可能需要根据具体的...
MFC COleControl 类 公共方法:COleControl::OnEnabledChanged
在 MFC(Microsoft Foundation Classes)中,确实有一个名为 OnEnabledChanged 的方法,但是这个方法是一个保护方法,而不是公共方法。以下是 COleControl 类中的 OnEnabledChanged 方法的基本语法:protected: void COleControl::OnEnabledChanged();OnEnabledChanged 方法在控件的启用状态发生变化时被调用。你可以通过重写此方法来处理控件启用状态变化的特定操作。
MFC COleControl 类 公共方法:COleControl::OnDraw
在 MFC(Microsoft Foundation Classes)中,COleControl 类确实有名为 OnDraw 的公共方法。以下是 COleControl::OnDraw 方法的基本语法:void COleControl::OnDraw(CDC* pDC, const CRect& rcBounds, const CRect& rcInvalid);这个方法用于绘制控件。参数 pDC 是指向设备上下文(Device Context)的指针,rcBounds 表示控件的界限矩形,rcInvalid 表示无效矩形,即需要重绘的区域。通过重写 OnDraw 方法,你可以实现对控件外观的自定义绘制。这是控件绘制的主要入口点。以下是一个简单的示例:void MyOleControl::OnDraw(CDC* pDC, const CRect& rcBounds, const CRect& rcInvalid){ // 在这里进行控件的自定义绘制逻辑 // 使用 pDC 绘制控件的外观,考虑 rcBounds 和 rcInvalid}
MFC COleControl 类 公共方法:COleControl::OnDoVerb
在 MFC(Microsoft Foundation Classes)中,确实有一个与 OLE(Object Linking and Embedding)操作相关的方法,即 COleControl::OnDoVerb。以下是 COleControl::OnDoVerb 方法的基本语法:void COleControl::OnDoVerb(LONG iVerb, LPMSG lpMsg, CWnd* pWndMsg);这个方法用于处理在控件上执行的 OLE 动作。参数 iVerb 是一个表示 OLE 动作的整数,lpMsg 是指向 MSG 结构的指针,pWndMsg 是指向包含消息的 CWnd 对象的指针。通过重写 OnDoVerb 方法,你可以实现对 OLE 操作的自定义处理。这通常与 In-Place Activation(就地激活)和与控件交互的相关事务有关。
MFC COleControl 类 公共方法:COleControl::OnClick
在 MFC(Microsoft Foundation Classes)中,COleControl 类确实有名为 OnClick 的公共方法。以下是 COleControl::OnClick 方法的基本语法:void COleControl::OnClick(USHORT nFlags, CPoint point);该方法的目的是在控件被点击时被调用。参数 nFlags 包含了有关点击事件的标志,而 point 则指示了点击事件发生的位置。通过重写 OnClick 方法,你可以在控件被点击时执行自定义的操作。这为你提供了一种响应鼠标点击事件的机制。
MFC COleControl 类 公共方法:COleControl::OnBorderStyleChanged
在 MFC(Microsoft Foundation Classes)中,COleControl 类确实有名为 OnBorderStyleChanged 的公共方法。以下是 COleControl::OnBorderStyleChanged 方法的基本语法:void COleControl::OnBorderStyleChanged();该方法的目的是在控件的边框样式发生变化时被调用。如果控件的边框样式发生变化,可以通过重写此方法来执行一些操作以响应这种变化。这是一种响应边框样式变化的机制,允许你在边框样式发生变化时执行自定义的处理。
MFC COleControl 类 公共方法:COleControl::OnBackColorChanged
在 MFC(Microsoft Foundation Classes)中,COleControl 类确实有名为 OnBackColorChanged 的公共方法。以下是 COleControl::OnBackColorChanged 方法的基本语法:void COleControl::OnBackColorChanged();该方法的目的是在控件的背景颜色发生变化时被调用。如果控件的背景颜色发生变化,可以通过重写此方法来执行一些操作以响应这种变化。这是一种响应背景颜色变化的机制,允许你在背景颜色发生变化时执行自定义的处理。
MFC COleControl 类 公共方法:COleControl::OnAppearanceChanged
在 MFC(Microsoft Foundation Classes)中,COleControl 类确实有名为 OnAppearanceChanged 的公共方法。以下是 COleControl::OnAppearanceChanged 方法的基本语法:void COleControl::OnAppearanceChanged();该方法的目的是在控件的外观发生变化时被调用。通常,这包括控件的可见性、边框样式、背景颜色等方面的变化。如果你希望在控件的外观发生变化时执行一些操作,你可以通过重写 OnAppearanceChanged 方法来实现。这是一种响应外观变化的机制。