如何控制messagedlg中的光标(20分)

小天

Unregistered / Unconfirmed
GUEST, unregistred user!
如MessageDlg('Are you sure?',mtConfirmation,[mbYes,mbNo],0);
如何使光标停在"NO"上呢?
不要告诉我仅仅写成
MessageDlg('Are you sure?',mtConfirmation,[mbNo,mbYes],0);
 
不大好办....
除非你自己写一个dialog (MessageDlg也是delphi自己实现的)
 
同cAkk!
另:听听他人的见解。>>
 
Windows.Messagebox(Handle,'Are you sure?','test',MB_YESNO or MB_DEFBUTTON2);

 
o*o: 看清小天的题意!!!
 
hehe,蠢办法,find button.handle,then setfocus(button.handle);
btw:
messagebox 比messagedlg好(信息显示是中文的),为什么不用o*o的方法
 
没错, 只好自己画个form. 另外, 用messagebox代替不就可以了:)
 
hubdog:你的方法能再详细点吗?小天懒,不高兴用其他的
 
跑题了。
to cAkk:总出错,没法在这儿混了。
 
注意,是鼠标光标,不是设置焦点!
 
to 小天:
我刚才是在胡说,messagedlg在showmodal时,很难简单的得到button的handle.
 
to 小天:
你可以用dialog中的CreateMessageDialog函数,messagedlg实际上调用它获得
tmessageform的实例,这时你可以setfocus any button.handle,then showmodal
太麻烦了,if you lazy ????
 
看来不能偷懒,还是结束讨论了吧
 
多人接受答案了。
 
有一个办法,不知可行不?
1.好像已经有技术可以控制messagbox显示的位置;
(应该有,我见过的,这个问题可以稍候讨论)
2.你自己测量出该messagbox上button的坐标,然后setcursorpos到button上面.
 
呵呵, 用setcursorpos放到特定位置, 然后用messagedlgpos来控制其显示位置.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
932
SUNSTONE的Delphi笔记
S
S
回复
0
查看
794
SUNSTONE的Delphi笔记
S
S
回复
0
查看
797
SUNSTONE的Delphi笔记
S
I
回复
0
查看
465
import
I
顶部