留下email,给你一个mxOutlook控件。
解决方案 »
- 局域网快速拷贝文件
- Delphi里的sql语句中insert能不能使用子查询结果插入呢?(没分了,各位大虾见谅)
- 取已知字符串的后四位形成新的字符的相应函数吗?我想不起来了!谢谢!!!
- 如何解决Data Field not permitted to open Dataset!
- ado 小数位显示问题
- 菜鸟求救:为什么通过query动态查询得到的数据DbGrid没有显示,请同行们帮忙
- delphi中调用word和瑞星有冲突 如何解决?
- BORLAND开发BDE的目的是什么啊?BDE到底比ODBC好在哪里?
- 在前台怎样对后台adotable中某个特定的字段增加或删除记录。不显示table。
- 如何实现线程的互斥???
- 请问在windows小字体下编写的程序为什么在大字体下出现form变形的情况?
- 求救:关于数据库连接的问题?
参考代码如下:procedure TfmATCMain.spbtnRestartClick(Sender: TObject);
var
i: Integer;
AspbtnaPrior: array[0..OUTLOOK_BUTTON_COUNT - 1] of TSpeedButton;
begin
//The criterial of 'if TSpeedButton(Sender).Down' doesent work here
if (TSpeedButton(Sender).Parent = panOutLookTop) and (TSpeedButton(Sender).Top = panOutLookTop.Height - OUTLOOK_BUTTON_HEIGHT) then
begin
TSpeedButton(Sender).Down := True; if FiBtnIdx = 3 then
begin
if fmSMContent.Visible then
fmSMContent.Close
else
fmSMContent.Show; SetFmMsgPos;
end; Exit;
end; if acATCmsSave.Enabled then acATCmsSave.Execute;
AspbtnaPrior[0] := spbtnRestart;
AspbtnaPrior[1] := spbtnDial;
AspbtnaPrior[2] := spbtnCallin;
AspbtnaPrior[3] := spbtnSendSM;
FiBtnIdx := TSpeedButton(Sender).Tag - 1; with AspbtnaPrior[FiBtnIdx] do
begin
if Parent = panOutLookTop then
begin
panOutLookBottom.Height := OUTLOOK_BUTTON_HEIGHT * (OUTLOOK_BUTTON_COUNT - FiBtnIdx - 1);
for i := FiBtnIdx + 1 to OUTLOOK_BUTTON_COUNT - 1 do
begin
AspbtnaPrior[i].Parent := panOutLookBottom;
AspbtnaPrior[i].Top := (i - FiBtnIdx - 1) * OUTLOOK_BUTTON_HEIGHT;
end;
panOutLookTop.AutoSize := True;
end else //of 'if Parent = panOutLookTop then'
begin
panOutLookTop.Height := OUTLOOK_BUTTON_HEIGHT * (FiBtnIdx + 1);
for i := 1 to FiBtnIdx do
begin
if AspbtnaPrior[i].Parent <> panOutLookTop then
begin
AspbtnaPrior[i].Parent := panOutLookTop;
AspbtnaPrior[i].Top := AspbtnaPrior[i - 1].Top + OUTLOOK_BUTTON_HEIGHT;
end;
end;
panOutLookBottom.AutoSize := True;
end; for i := 0 to OUTLOOK_BUTTON_COUNT - 1 do
begin
if AspbtnaPrior[i].Parent = panOutLookTop then
begin
AspbtnaPrior[i].AllowAllUp := True;
AspbtnaPrior[i].GroupIndex := 1;
end else
begin
AspbtnaPrior[i].AllowAllUp := False;
AspbtnaPrior[i].GroupIndex := 0;
end;
AspbtnaPrior[i].Down := False;
end; //if there is only AspbtnaPrior[0] in the panOutlookTop, then AspbtnaPrior[0] must be down.
//the index wont be -1, for the sake of the criterial the first line!
AspbtnaPrior[FiBtnIdx].Down := True;
ntbkOutLook.PageIndex := Tag - 1;
panOutLookBottom.AutoSize := False;
panOutLookTop.AutoSize := False;
end; //YouDo! ---------------------------------------------------------------
if fmSMContent <> nil then
begin
if fmSMContent.Visible then fmSMContent.Hide;
end;
case FiBtnIdx of
//Restart
0: ;
//Dial
1: ;
//PhoneShow
2:
begin
rdoCThisHangup.Checked := True;
end;
//Send Message
3:
begin
if fmSMContent = nil then
fmSMContent := TfmSMContent.Create(Application); fmSMContent.Show;
SetFmMsgPos;
end;
end;
FillLsvATCmd(GetCurrSectName);
//ReadATCommands(GetCurrSectName);
end;