Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизМногострочная надпись на Panel Найти похожие ветки
← →
maestro (2003-10-30 09:14) [0]подскажите пожалуйста как свойство caption у компонента Panel сделать многострочным?
← →
WithOut Any ... (2003-10-30 09:19) [1]ИМХО проще положить Label
← →
maestro (2003-10-30 09:21) [2]панель создается програмно
можно конечно и лейбу програмно создавать
но мне кажется что наверняка есть способ по проще
← →
Song (2003-10-30 09:28) [3]Я большую кнопку просто создавал.
← →
Anatoly Podgoretsky (2003-10-30 09:34) [4]А он наверно панель вместо кнопки
← →
VAleksey (2003-10-30 09:34) [5]
> maestro (30.10.03 09:21) [2]
Проще всего как раз Label.
← →
dataMaster (2003-10-30 09:36) [6]>maestro
Напиши свой компонент, в котором смешаешь Panel и Label.
← →
maestro (2003-10-30 09:44) [7]все верно
панель создаю вместо кнопки
потому как убейте меня не понимаю почему
у меня при создании кнопки
цвет фонта не меняется
вот код:
procedure CreateButton (Name_b,cap_b:String;m_top,m_left,clr:Integer);
var btn : TButton;
begin
btn := TButton.Create(Form1);
with btn do begin
Parent := Self;
OnClick := ButtonClicked;
name:=Name_b;
top:=m_top;
Left:=m_left;
Width:=150;
Height:=40;
Cursor:=crHandPoint;
Font.Color:=clRed;(вот это строка не арбайтен)
Font.Style:=[fsBold];
Caption:=cap_b;
Visible := true;
End;
а ставлю вместо TButton TPanel
все замечательно фунциклирует
← →
dataMaster (2003-10-30 10:44) [8]Вот сваял кое-что. Попробуй.
unit dmPanel;
interface
uses
Classes,
ExtCtrls,
StdCtrls;
type
TdmPanel = class(TCustomPanel)
private
{ Private declarations }
CapLabel: TLabel;
protected
{ Protected declarations }
function GetCaption: string;
procedure SetCaption(Value: string);
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
{ Published declarations }
property Align;
property Alignment;
property Anchors;
property AutoSize;
property BevelInner;
property BevelOuter;
property BevelWidth;
property BiDiMode;
property BorderWidth;
property BorderStyle;
property Caption: string read GetCaption write SetCaption;
property Color;
property Constraints;
property Ctl3D;
property UseDockManager default True;
property DockSite;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property FullRepaint;
property Font;
property Locked;
property ParentBiDiMode;
property ParentBackground;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnCanResize;
property OnClick;
property OnConstrainedResize;
property OnContextPopup;
property OnDockDrop;
property OnDockOver;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnGetSiteInfo;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnResize;
property OnStartDock;
property OnStartDrag;
property OnUnDock;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents("dataMaster""s Components", [TdmPanel]);
end;
function TdmPanel.GetCaption: string;
begin
Result:=CapLabel.Caption;
end;
procedure TdmPanel.SetCaption(Value: string);
begin
with CapLabel do
begin
Caption:=Value;
Left := Self.Width div 2 - Width div 2;
Top := Self.Height div 2 - Height div 2;
end;
end;
constructor TdmPanel.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
CapLabel:=TLabel.Create(Self);
with CapLabel do
begin
Parent:=Self;
Transparent:=True;
end;
end;
destructor TdmPanel.Destroy;
begin
inherited Destroy;
end;
end.
← →
Alex_Bredin (2003-10-30 10:45) [9]Caption.Font.Color:=clRed;(вот это строка не арбайтен)
а так?
← →
GIL (2003-10-30 10:50) [10]делай так: Caption:="abc"+#13#10+"def" только я не помню, возможно #13 и #10 придется местами пеменять
← →
Zacho (2003-10-30 10:57) [11]
> GIL © (30.10.03 10:50) [10]
C панелью - не пройдет.
← →
REP (2003-10-30 11:01) [12]GIL © (30.10.03 10:50) [10]
У панели не работает
← →
maestro (2003-10-30 11:06) [13]caption.Font.Color так не бывает
"abc"+#13#10+"def" так тоже не работает
а от места #13#10 вообще нихрена не зависит
какая разница что делать сначала каретку переводить или в начало строки ее возвращать
код предложеный dataMaster
поизучаю спасибо
← →
Yuri Btr (2003-10-30 11:31) [14]Вот так работает для некоторых контролов (кнопки, чекбоксы ...)
procedure SetMultiline(handle:integer);
begin
SetWindowlong(Handle, GWL_STYLE,GetWindowLong(Handle, GWL_STYLE) or BS_MULTILINE);
end;
а затем где нибудь в программе делаешь SetMultiline(TCheckbox1.Handle);
А Gil прав - делай для Label.Caption:="abc"+#13#10+"def"
тоько раздвинь по высоте компонент, чтобы увидеть все строчки.
Для панели ни один из этих способов кажется не работает ...
← →
dataMaster (2003-10-30 12:17) [15]>maestro
код предложеный dataMaster
поизучаю спасибо
А что изучать? Это готовый компонент.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.03 c