50 分只送一人﹐快來拿﹗ 如何實現windows 自帶計算器的按鍵效果(50分)

  • 主题发起人 主题发起人 coolzew
  • 开始时间 开始时间
C

coolzew

Unregistered / Unconfirmed
GUEST, unregistred user!
問題﹕如何實現在鍵盤上敲鍵﹐所設計的計算器的對應按鍵產生用鼠標點擊的效果﹖<br>誰能讓我夢想成真﹖﹖﹖﹖ 分數不多﹐見諒﹐只給一人﹐快﹗﹗﹗﹗﹗
 
if key=1 then<br>button1.click;
 
我试一试可不可以做出来<br>好像是speedbutton的按键效果
 
有这种第三方計算器控件,<br>我忘了是什么,你可到网上搜索一下。
 
要求出現鼠標點擊的視覺效果,而不僅僅是觸發事件.
 
我观察了Win2k的calculator,发现他上边的按钮并不是一般的按钮<br>当你按下按钮时,按钮上的文字不会下沉,这就证明按钮上的文字只是类似<br>label一类的标签。<br>其实可以用图片去完成,按下键盘的案件后,显示按钮凹陷的图片,否则显示按钮突起的图片。<br>剩下的就要看你的要求了。
 
对,是没有下沉,看来是用的别的做的
 
在Delphi中应该可以用panel来达到这个效果
 
放一个panel,edit(text为空),timer(interval=50)试试<br><br>procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;<br>&nbsp; Shift: TShiftState; X, Y: Integer);<br>begin<br>panel1.Bevelouter:=bvlowered;<br>end;<br><br>procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;<br>&nbsp; Shift: TShiftState; X, Y: Integer);<br>begin<br>panel1.Bevelouter:=bvRaised;<br>end;<br><br>procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);<br>begin<br>if key='1' then begin<br>panel1.Bevelouter:=bvlowered;<br>timer1.Enabled:=true;<br>end;<br>end;<br><br>procedure TForm1.Timer1Timer(Sender: TObject);<br>begin<br>panel1.Bevelouter:=bvRaised;<br>timer1.Enabled:=false;<br>end;<br>
 
這是一種思路,可以給分!<br>多謝了.
 
后退
顶部