mxOutlookBarPro2.13修改版

mxOutlookBarPro可以在Delphi和BCB中实现QQ、OutLook界面和windows资源管理器的效果。包含C5、C6、D5、D6、D7各种版本的组件。
此为2.13修改版,增加SelectedAsCheck属性,定义对mxButton的点击是否像PushButton一样,即单次点击时按下,再次点击时弹起。调整代码,在内部拖动按钮时也产生OnDragDrop事件。

mxOutlookBarPro2.13修改版_第1张图片

mxOutlookBarPro2.13修改版_第2张图片

mxOutlookBarPro2.13修改版_第3张图片

修改内容为:

1.第1101行增加:

//----------------------------------------- //增加SelectedAsCheck属性,定义对mxButton的点击是否像PushButton一样,即单次点击时按下,再次点击时弹起 procedure SetSelectedAsCheck(const Value: Boolean); //-----------------------------------------

2.第1172行增加:

//----------------------------------------- //增加SelectedAsCheck属性,定义对mxButton的点击是否像PushButton一样,即单次点击时按下,再次点击时弹起 Property SelectedAsCheck: Boolean Read FSelectedAsCheck Write SetSelectedAsCheck Default False; //-----------------------------------------

3.第5689行增加:

//----------------------------------------- //增加SelectedAsCheck属性,定义对mxButton的点击是否像PushButton一样,即单次点击时按下,再次点击时弹起 if (FSelectedAsCheck) and (FSelectedIndex <> -1) and (FSelectedIndex = AValue) then begin AValue := -1; end; //-----------------------------------------

4.第5973行:

//----------------------------------------- //增加SelectedAsCheck属性,定义对mxButton的点击是否像PushButton一样,即单次点击时按下,再次点击时弹起 //Conch 2005-4-26 procedure TmxHeader.SetSelectedAsCheck(const Value: Boolean); begin if FSelectedAsCheck <> Value then FSelectedAsCheck := Value; end; //-----------------------------------------

5.第10988行:

{/---------------------------------------------------------------------------- //调整代码,在内部拖动按钮时也产生OnDragDrop事件 //Conch -2005-11-03- If ( boInternalDrop In FOptions ) Then Begin If CurrentTargetButton <> Nil Then Handled := ProcessDrop( DataObject, CurrentTargetButton, Effect, CurrentTargetButton.HitStatus ) Else Handled := ProcessDrop( DataObject, Nil, Effect, hpAbove ); End; If Not Handled Then Begin If Assigned( FOnDragDrop ) Then FOnDragDrop( Self, FDragManager.FDragSource, DataObject, Formats, Shift, Pt, Effect, FLastDropMode ) Else Result := E_FAIL; End Else Result := E_FAIL;} If Assigned( FOnDragDrop ) Then begin FOnDragDrop( Self, FDragManager.FDragSource, DataObject, Formats, Shift, Pt, Effect, FLastDropMode ); Handled := true; end; If (Effect <> DROPEFFECT_NONE) and ( boInternalDrop In FOptions ) Then Begin If CurrentTargetButton <> Nil Then Handled := ProcessDrop( DataObject, CurrentTargetButton, Effect, CurrentTargetButton.HitStatus ) Else Handled := ProcessDrop( DataObject, Nil, Effect, hpAbove ); End; If Not Handled Then Result := E_FAIL; //Result与原来有一点出入,原来先调用ProcessDrop,没有处理再调用FOnDragDrop, //调用FOnDragDrop后Result不会置为E_FAIL。现先调用FOnDragDrop,再调用ProcessDrop, //没有Handled即将Result 置为 E_FAIL //----------------------------------------------------------------------------

 

下载地址:http://download.csdn.net/source/1017231

 

你可能感兴趣的:(mxOutlookBarPro2.13修改版)