用过DevExpress套件中的dxPageControl控件的朋友请进,小弟急需帮忙!!(100分)(100分)

  • 主题发起人 主题发起人 HD_Copy
  • 开始时间 开始时间
啊???!!!
我晕!
我把你们这些一等一的剑客叫进来,是让你们到我这里聚会来了啊?!还干杯?!我倒 @$#%^$&^%*&^
5~~~~~~~~~~~~~~~~~~~
(擦干眼泪)大侠们,我把你们都叫进来,没有别的意思,也不分主次,只是想让你们帮我解决这个问题,
或许,我这个问题也不算很简单,你们要是不出手,我就没什么指望了。
 
开始看你的问题。一个小时后和女朋友去吃饭。

看看有没有可能搞定。哈哈。:)
 
OK! 搞定。哈哈~~~~~

1. 打开dxPageControl.pas,在TdxCustomPageControl的protected区前加一行代码如下:
TdxCustomPageControl = class(TCustomControl)
...
procedure WMNCRButtonDown(var Message: TWMNCRButtonDown); message WM_NCRBUTTONDOWN;
protected
...
end;

2. 写出下处理过程:
procedure TdxCustomPageControl.WMNCRButtonDown(var Message: TWMNCRButtonDown);
begin
inherited;
with Message do
MouseDown(mbRight, [], XCursor, YCursor);
end;

3. OK.现在在主窗体里可以写:
procedure TForm1.dxPageControl1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button=mbRight then
PopupMenu1.Popup(x,y);
end;

----------
搞定。之所以弄了这么长时间,是因为我也将这个鼠标右键的事件搞成了在“client area”,而不是
“nonclient area”。所以我开始也试图挂WM_RBUTTONDOWN,其实应该挂在WM_NCRBUTTONDOWN上好了。
 
啊???!!!终于搞定了啊!!!试过了,果然成功了!!
aimingoo就是aimingoo!!!厉害!!!!
............
............
再切换回这个帖子,木然地看着aimingoo的解答,半晌无语,刚才的兴奋劲荡然无存。
这个问题简单吗?我相信,最保守估计,大富翁论坛上至少有95%的人答不出来。
可这个问题难吗?我自己为什么没搞出来呢?实力不行是一方面,还有没有别的原因呢?唉......

再次感谢aimingoo大侠的帮助!!!以后,有问题还要麻烦你。
 
接受答案了.
 
hehe.HD_COPY. 我没做出来是因为不知道这个wm_ncrbuttondown的消息. 脸红哎.
已经有两三年没摸API了。 快忘光劣.
 
to 王寒松
大侠太过谦了!这个问题没答出来并不能说明水平不行,人无完人,金无足赤,IT领域作为高科技
发展的最前沿,且呈几何级数般的向前发展,没有人敢说自己什么都懂。
毕竟,在中国Delphi界,提起王寒松的大名还是响当当的!
以后,有问题也还要麻烦你。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部