如果有源码给我一份啊。[email protected]
解决方案 »
- delphi的全字匹配功能实现
- FastReport 动态创建字段如何控制分页?
- 想学习写一个TEDIT控件,使其输入时color为红色,exit时color为白色,不知如何写?
- 各们高手,怎么制作漂亮的软件界面呀。
- 如果用DELPHI在SQL内存入jpb图片
- 很长时间没csdn了.很想念大家!祝福大家身体健康!
- 在安装一个IMAGE控件时,提示“找不到文件DsgnIntf.dcu”文件,请问怎么解决。、
- 判断某一项数据在stringgrid控件里符合条件的某几行中已经被添加过
- 如何像数据库中插入异常字符?
- 用什么控件可以生成当前网页的源代码呢??急!!!
- 关于adoquery查询的问题,有点急,高手:如果你知道请告诉我吧!
- 怎样做一个正方体和圆椎体
TOutLookBar很容易,去找一个TmxOutLookBar控件就可以
TAppBar可以看D5DG上面专门有一节讨论这个问题,用这个可以做到类似于QQ和任务栏自动隐藏,竖排的功能
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, ComCtrls, ImgList, StdCtrls,StrUtils;type
TCliMBFrm = class(TForm)
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Bevel1: TBevel;
Bevel3: TBevel;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
Panel5: TPanel;
Bevel4: TBevel;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
Panel6: TPanel;
Bevel5: TBevel;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
Label1: TLabel;
Panel7: TPanel;
ScrollBox1: TScrollBox;
Label2: TLabel;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
ScrollBox3: TScrollBox;
Label4: TLabel;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
Panel8: TPanel;
SpeedButton14: TSpeedButton;
Panel9: TPanel;
SpeedButton13: TSpeedButton;
Panel10: TPanel;
SpeedButton15: TSpeedButton;
ScrollBox2: TScrollBox;
Label3: TLabel;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
procedure SpeedButton9Click(Sender: TObject);
procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label1MouseLeave(Sender: TObject);
procedure Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
procedure FormShow(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
FMaxHeight : Integer;
Procedure CreateSpeedButton(vFDName,vIP : Variant);
Function MaxHeight: Integer;
Procedure vClick(Sender : TObject);
public
{ Public declarations }
SrvIP , SrvPort : String;
FIP , FFDName : Variant;
end;var
CliMBFrm: TCliMBFrm;implementation
uses
CDMUnt,CliChatUnt;{$R *.dfm}{ TCliMBFrm }procedure TCliMBFrm.CreateSpeedButton(vFDName,vIP : Variant);
var
vSpeedButton : TSpeedButton;
vLabel : TLabel;
vInteger ,vTop , vLeft : Integer;
begin
vTop := 0;
vLeft := 30;
For vInteger := VarArrayLowBound(vIP,1) to VarArrayHighBound(vIP,1) do
begin
vSpeedButton := TSpeedButton.Create(ScrollBox1);
vSpeedButton.Parent := ScrollBox1;
vSpeedButton.Left := vLeft;
if vInteger = 0 then
vSpeedButton.Top := 0 else
vSpeedButton.Top := 50 + vTop;
vTop := vSpeedButton.Top;
ShowMessage('a');
vSpeedButton.Name := 'CM' + IntToStr(vFDName[vInteger]);
ShowMessage('b');
//vSpeedButton.Tag := vIP[vInteger];
ShowMessage('c');
vSpeedButton.Hint := vIP[vInteger];
ShowMessage(vIP[vInteger]);
vSpeedButton.ShowHint := True;
vSpeedButton.Glyph.LoadFromFile('G:\dprogram\CM\Image\11111.bmp');
vSpeedButton.Width := 35;
vSpeedButton.Height := 35;
vSpeedButton.Flat := True;
vSpeedButton.OnClick := vClick;
vSpeedButton.Show;
vLabel := TLabel.Create(ScrollBox1);
vLabel.Parent := ScrollBox1;
vLabel.Left := vLeft;
vLabel.Top := vSpeedButton.Top + vSpeedButton.Height;
vLabel.Caption := IntToStr(vFDName[vInteger]);
vLabel.Width := 100;
vLabel.Height := 20;
vLabel.OnMouseDown := Label1.OnMouseDown;
vLabel.OnMouseMove := Label1.OnMouseMove;
vLabel.OnMouseUp := Label1.OnMouseUp;
vLabel.OnMouseLeave := Label1.OnMouseLeave;
end;
Label2.Top := vTop;
end;
var
vIndex : Integer;
begin
FFDName:= DataModuleFrm.CliSocketConnection.AppServer.LoadFD(
StrToInt(Self.Caption),FIP);
if VarIsArray(FFDName) and VarIsArray(FIP) then
begin
//ShowMessage(IntToStr(FFDName[0]));
CreateSpeedButton(FFDName,FIP);
end;
end;procedure TCliMBFrm.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
TLabel(Sender).Font.Color := ClBlue;
end;procedure TCliMBFrm.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TLabel(Sender).Font.Color := ClBlue;
end;procedure TCliMBFrm.Label1MouseLeave(Sender: TObject);
begin
TLabel(Sender).Font.Color := ClBlack;
end;procedure TCliMBFrm.Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
TLabel(Sender).Font.Color := ClBlack;
end;procedure TCliMBFrm.SpeedButton11Click(Sender: TObject);
var
vTopx , vTopy : Integer;
begin
vTopx := SpeedButton11.Top;
vTopy := SpeedButton12.Top;
ScrollBox1.ScrollBy(0,-20);
SpeedButton11.Top := vTopx;
SpeedButton12.Top := vTopy;
end;procedure TCliMBFrm.SpeedButton12Click(Sender: TObject);
var
vTopx , vTopy : Integer;
begin
vTopx := SpeedButton11.Top;
vTopy := SpeedButton12.Top;
ScrollBox1.ScrollBy(0,20);
SpeedButton11.Top := vTopx;
SpeedButton12.Top := vTopy;
end;procedure TCliMBFrm.SpeedButton13Click(Sender: TObject);
begin
ScrollBox1.Height := 0;
ScrollBox2.Height := FMaxHeight;
ScrollBox3.Height := 0;
end;function TCliMBFrm.MaxHeight: Integer;
begin
Result := 0;
if ScrollBox1.Height > Result then
Result := ScrollBox1.Height;
if ScrollBox2.Height > Result then
Result := ScrollBox2.Height;
if ScrollBox3.Height > Result then
Result := ScrollBox3.Height;
//..
end;procedure TCliMBFrm.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
//FMaxHeight := MaxHeight;
end;procedure TCliMBFrm.FormShow(Sender: TObject);
begin
FMaxHeight := MaxHeight;
end;procedure TCliMBFrm.SpeedButton14Click(Sender: TObject);
begin
ScrollBox1.Height := FMaxHeight;
ScrollBox2.Height := 0;
ScrollBox3.Height := 0;
end;procedure TCliMBFrm.SpeedButton15Click(Sender: TObject);
begin
ScrollBox1.Height := 0;
ScrollBox2.Height := 0;
ScrollBox3.Height := FMaxHeight;
end;procedure TCliMBFrm.FormDestroy(Sender: TObject);
begin
Application.Terminate;
Exit;
end;procedure TCliMBFrm.vClick(Sender: TObject);
var
CliChatFrm: TCliChatFrm;
begin
//..
CliChatFrm := TCliChatFrm.Create(Nil);
CliChatFrm.Label2.Caption :=
RightStr(TSpeedButton(Sender).Name,Length(TSpeedButton(Sender).Name) - 2) +
'正在与' + Self.Caption + '愉快的聊天';
CliChatFrm.Show;
end;end.
{}
function TCMEmp001.GetServerProperties: TCMEmp001Properties;
begin
Result := FProps;
end;
{$ENDIF}function TCMEmp001.AS_ApplyUpdates(const ProviderName: WideString; Delta: OleVariant;
MaxErrors: Integer; out ErrorCount: Integer;
var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_ApplyUpdates(ProviderName, Delta, MaxErrors, ErrorCount, OwnerData);
end;function TCMEmp001.AS_GetRecords(const ProviderName: WideString; Count: Integer;
out RecsOut: Integer; Options: Integer;
const CommandText: WideString; var Params: OleVariant;
var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_GetRecords(ProviderName, Count, RecsOut, Options, CommandText,
Params, OwnerData);
end;function TCMEmp001.AS_DataRequest(const ProviderName: WideString; Data: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_DataRequest(ProviderName, Data);
end;function TCMEmp001.AS_GetProviderNames: OleVariant;
begin
Result := DefaultInterface.AS_GetProviderNames;
end;function TCMEmp001.AS_GetParams(const ProviderName: WideString; var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_GetParams(ProviderName, OwnerData);
end;function TCMEmp001.AS_RowRequest(const ProviderName: WideString; Row: OleVariant;
RequestType: Integer; var OwnerData: OleVariant): OleVariant;
begin
Result := DefaultInterface.AS_RowRequest(ProviderName, Row, RequestType, OwnerData);
end;procedure TCMEmp001.AS_Execute(const ProviderName: WideString; const CommandText: WideString;
var Params: OleVariant; var OwnerData: OleVariant);
begin
DefaultInterface.AS_Execute(ProviderName, CommandText, Params, OwnerData);
end;function TCMEmp001.ResultLogn(UserName: SYSINT; const UserPass: WideString;
const UserIP: WideString): WordBool;
begin
Result := DefaultInterface.ResultLogn(UserName, UserPass, UserIP);
end;function TCMEmp001.LoadFD(UserName: Integer; var IPList: OleVariant): OleVariant;
begin
Result := DefaultInterface.LoadFD(UserName, IPList);
end;{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TCMEmp001Properties.Create(AServer: TCMEmp001);
begin
inherited Create;
FServer := AServer;
end;function TCMEmp001Properties.GetDefaultInterface: ICMEmp001;
begin
Result := FServer.DefaultInterface;
end;{$ENDIF}procedure Register;
begin
RegisterComponents(dtlServerPage, [TCMEmp001]);
end;end.
LMD控件
EXPRESS BAR控件..
好多啊..找一个..
如果要知道别人怎么做的..
看它们的源码就OK了..
上面的东西..窑洞有下..