![]() |
Re: CommandLinks und AeroWizards
Ich möchte das Ganze ja für Vista.
|
Re: CommandLinks und AeroWizards
Es funktioniert noch immer nicht.
Ich habe versucht TurboMartins Quellcode in eine Komponente zu packen. Doch wenn ich die Komp aufs Formular schmeißen will heißt es: TCommandLink hat keine übergeordnete Komponente. (oder so) Obwohl TButton (von der die Komp ausgeht) doch Parent gesetzt hat. Hier der Code:
Delphi-Quellcode:
Das mit
unit CommandLink;
interface uses SysUtils, Classes, Controls, StdCtrls; type TCommandLink = class(TButton) private { Private-Deklarationen } protected procedure CreateParams(var Params: TCreateParams); override; public { Public-Deklarationen } published { Published-Deklarationen } end; procedure Register; const BS_COMMANDLINK = $0000000E; implementation procedure TCommandLink.CreateParams(var Params: TCreateParams); begin Params.Style := Params.Style or BS_COMMANDLINK; end; procedure Register; begin RegisterComponents('Own', [TCommandLink]); end; end.
Delphi-Quellcode:
funktioniert ja nicht. (wParam ist nicht String)
SendMessage(Handle, BCM_SETNOTE, 0, strNote);
|
Re: CommandLinks und AeroWizards
Hallo,
ich bin jetzt so weit, dass er auf dem Designer richtig gezeichnet wir. Ich werde mal weiterschauen und dir bescheidgeben und hier veröffentlichen. |
Re: CommandLinks und AeroWizards
Moin Delphi User,
Zitat:
Da kann man sich mit einem Cast behelfen:
Delphi-Quellcode:
SendMessage(Handle,BCM_SETNOTE,0,lParam(PChar(strNote)));
|
Re: CommandLinks und AeroWizards
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, ich wollte jetzt mal ein kleines Beispiel zeigen. Einzigstes Problem ist zur Zeit noch, dass die Notiz nicht richtig angezeigt wir. Das werde ich aber auch noch hinbekommen.
|
Re: CommandLinks und AeroWizards
|
Re: CommandLinks und AeroWizards
Liste der Anhänge anzeigen (Anzahl: 1)
So, ich hab es jetzt fertig. Als Ziel habe ich mir mal gesetzt, auch die anderen Komponenten von der Seite für Delphi zu basteln.
Einzigstes, was hier nicht implementiert ist, sind die Windows-Standard-Icons(Info,Warnung,Error) anzeigen zu lassen, werde ich aber in der Ferigen Sammlung drinnen haben.
Delphi-Quellcode:
[edit]Kleine Demo noch angehangen[/edit]
unit CommandLink;
interface uses SysUtils, Classes, Controls, StdCtrls, Windows, Graphics, Messages; type TCommandLink = class(TButton) private fNote: WideString; fShield: Boolean; fIcon: TIcon; procedure SetNote(Value: WideString); procedure SetShield(Value: Boolean); procedure SetIcon(Value: TIcon); procedure UpdateIcon(Sender: TObject); protected procedure CreateParams(var Params: TCreateParams); override; public constructor Create(AOwner: TComponent); override; published property Note: WideString read fNote write SetNote; property Shield: Boolean read fShield write SetShield default false; property Icon: TIcon read fIcon write SetIcon; end; procedure Register; const BS_COMMANDLINK = $0000000E; BCM_SETNOTE = $00001609; BCM_FIRST = $1600; BCM_SETSHIELD = BCM_FIRST + $000C; BM_SETIMAGE = $00F7; implementation constructor TCommandLink.Create(AOwner: TComponent); begin inherited Create(AOwner); fIcon := TIcon.Create; fIcon.OnChange := UpdateIcon; end; procedure TCommandLink.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.Style := Params.Style or BS_COMMANDLINK; end; procedure TCommandLink.SetNote(Value: WideString); begin SendMessage(Handle, BCM_SETNOTE, 0, lParam(Pointer(Value))); fNote := Value; end; procedure TCommandLink.SetShield(Value: Boolean); begin SendMessage(Handle, BCM_SETSHIELD, 0, lParam(Value)); fShield := Value; end; procedure TCommandLink.SetIcon(Value: TIcon); begin SendMessage(Handle, BM_SETIMAGE, 1, lParam(fIcon.Handle)); fIcon.Assign(Value); end; procedure TCommandLink.UpdateIcon(Sender: TObject); begin SendMessage(Handle, BM_SETIMAGE, 1, lParam(fIcon.Handle)); end; procedure Register; begin RegisterComponents('Vista', [TCommandLink]); end; end. |
Re: CommandLinks und AeroWizards
Danke, du bist mein Lebensretter!! :lol:
|
Re: CommandLinks und AeroWizards
Ggf. sollte ich was zur Funktion dazusagen:
Neu zum Vorgänger TButton sind die Eigenschaften Note, Shield und Icon.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz