Компоненты и примеры
Модератор: Модераторы
http://mirrors.iwi.me/lazarus/ в архиве с исходниками в папке components 
- Little_Roo
- энтузиаст
- Сообщения: 639
- Зарегистрирован: 27.02.2009 18:56:36
- Откуда: Санкт-Петербург
v-t-l писал(а):http://mirrors.iwi.me/lazarus/ в архиве с исходниками в папке components
Ой-ей - не надо - лучшее- враг хорошего
Попробовал обновить только лазрепорт - лучше бы это не делал...
Во всех отчетах в Memo оказалась вбитой западная кодировка символов, отчет перезаписался - и вместо русских букв встали знаки ?????
Хорошо, что копия отчетов была
Кстати, это стало тянуться и в лазаре из svn версии более 33000 - вот на ней и сижу...
В приложенном файле компонент, потомок ГрафикКонтрол... проблема следующая, в дизайнере форм свойство Anchorrs редактируется, но в запущенном приложении игнорируется. Что не так с этим компонентом и как это лечится?
Другие компоненты в замен предлагать не надо, интересует только как это лечится.
Добавлено спустя 10 часов 15 минут 30 секунд:
Люди человеки... помогите пожалуйста советом добрым
Другие компоненты в замен предлагать не надо, интересует только как это лечится.
Добавлено спустя 10 часов 15 минут 30 секунд:
Люди человеки... помогите пожалуйста советом добрым
Используйте редактор привязок (правая кл. мышки - локальное меню - редактор привязок).
Используйте редактор привязок (правая кл. мышки - локальное меню - редактор привязок).
Да я его и использую, о чём и написано выше, в дизайнтайме всё работает, но когда запускаю программу этот компонент игнорирует привязки.
qivi писал(а):Используйте редактор привязок (правая кл. мышки - локальное меню - редактор привязок).
Да я его и использую, о чём и написано выше, в дизайнтайме всё работает, но когда запускаю программу этот компонент игнорирует привязки.
А как же ваше "в дизайнере форм свойство Anchorrs редактируется". Это вовсе не редактор привязок.
А какой ни будь компонент Lazarus умеет вот так:
(Таблица со встроенным трейвиевером)
(Таблица со встроенным трейвиевером)
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
VirtualTree так умеет
Что то нету у меня такого
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
-
lSpyHunterl
- незнакомец
- Сообщения: 1
- Зарегистрирован: 31.05.2012 09:59:00
Модуль для упрощения создания интерфейса аля IBExpert SDI
Писался и тестировался на
Lazarus 0.9.30.4-0
FPC 2.6.0
KUbuntu 12.04 x86-64
может когда-нибудь доведу до компонента, пока времени нехват
Писался и тестировался на
Lazarus 0.9.30.4-0
FPC 2.6.0
KUbuntu 12.04 x86-64
Код: Выделить всё
unit uToolButtonShowForm;
{
Класс отображает на ToolBar кнопку, управляющую заданной формой.
Когда форма создана, кнопка появляется на панели. Форма активна - кнопка нажата
Down = true. Форма не активна - кнопка отжата Down = false.
С помощью этого модуля реализуется интерфейс аля IBExpert SDI.
Как это работает:
Положите на главную форму ToolBar и задайте свойство ShowCaptions = true.
Авто создание форм отключите. Вызывайте вторичные формы созданием
что-то вроде
---
if fSecondaryForm = nil then //(1)
fSecondaryForm := TfSecondaryForm.Create(Application);
fSecondaryForm.Show;
---
В событии вторичной формы OnClose пропишите
---
procedure TfSecondaryForm.Close(Sender: TObject; CloseAction: TCloseAction);
begin
//...
CloseAction := caFree;
end;
---
для того, чтобы при закрытии форма разрушалась. В методе Destroy пропишите
---
procedure TfSecondaryForm.Destroy(Sender: TObject);
begin
//...
fSecondaryForm := nil;
end;
---
для того, чтобы при последующем вызове этой формы сработало условие (1)
в раздел uses модуля вторичной формы добавьте модуль uToolButtonShowWindow
к описанию класа формы добавьте поле например ToolButton: TswToolButton;
для создания кнопки используйте конструктор
CreateSWToolButton(Sender: TComponent; const AForm: TForm;
AParrent: TWinControl);
в Sender передайте какой-нибудь компотент на форме, например панель или еще
что-то, не важно, главное, чтобы будущяя кнопка была привязана к чему-то на
форме, чтобы при разрушении формы, а значит и разрушении этого компонента,
кнопка тоже разрушилась.
в AForm передайте TForm(Self), будущая кнопка подхватит Caption формы, сохранит
методы формы OnDeactivate и OnActivate, если они назначены, и назначит форме
свои методы OnDeactivate и OnActivate в которых перед собственными действиями
вызовет методы формы.
При разрушении кнопка вернет методы формы на место.
В AParrent передайте ToolBar на главной форме, на котором и будет отображаться
эта кнопка.
Создавайте кнопку на ToolBar при создании формы
---
procedure TfSecondaryForm.Create(Sender: TObject);
begin
ToolButton := TswToolButton.CreateSFToolButton(Panel {Edit, Grid не фажно},
TForm(Self), FirstForm.ToolBar);
//...
end;
---
Если открыто несколько форм с такими кнопками, то на панели ToolBar будет этих
кнопок несколько. Нажата будет та, форма которой активна, или если не активна ни
одна из форм, то не будет нажата ни одна кнопка. При нажатии на любую из них
будет активирована форма, которой кнопка принадлежит.
}
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, ComCtrls, Forms, Controls //,Dialogs
;
type
TOnProcedure = procedure (Sender: TObject) of object;
type
TsfToolButton = class (TToolButton)
private
FForm: TForm; //Знает какой формой управлять
FDeactivate: TOnProcedure; //Сохраняет метод формы OnDeactivate
FActivate: TOnProcedure; //Сохраняет метод формы Activate
procedure swToolButtonClick(Sender: TObject); //Активирует форму
procedure ReturnForm; //Возвращает форме методы
procedure FormOnDeactivate(Sender: TObject); //Назначается методу формы
procedure FormOnActivate(Sender: TObject); //Назначается методу формы
public
constructor Create(Sender: TComponent); override;
constructor CreateSfToolButton(Sender: TComponent; const AForm: TForm;
AParrent: TWinControl);
destructor Destroy; override;
procedure SetForm(const AForm: TForm);
published
property Form: TForm read FForm write SetForm default nil;
end;
implementation
constructor TsfToolButton.Create(Sender: TComponent);
begin
inherited;
Style := tbsCheck;
Down := true;
OnClick := @swToolButtonClick;
end;
constructor TsfToolButton.CreateSfToolButton(Sender: TComponent;
const AForm: TForm; AParrent: TWinControl);
begin
Create(Sender);
Parent := AParrent;
SetForm(AForm);
end;
destructor TsfToolButton.Destroy;
begin
ReturnForm;
// ShowMessage('ToolButton: ' + #10 + ' - Я Умер');
inherited;
end;
procedure TsfToolButton.swToolButtonClick(Sender: TObject);
begin
if FForm <> nil then
FForm.SetFocus;
end;
procedure TsfToolButton.FormOnDeactivate(Sender: TObject);
begin
if FDeactivate <> nil then
FDeactivate(Sender);
Down := false;
end;
procedure TsfToolButton.FormOnActivate(Sender: TObject);
begin
if FActivate <> nil then
FActivate(Sender);
Down := true;
end;
procedure TsfToolButton.ReturnForm;
begin
FForm.OnDeactivate := FDeactivate;
FForm.OnActivate := FActivate;
FForm := nil;
end;
procedure TsfToolButton.SetForm(const AForm: TForm);
var
s: String;
begin
if FForm <> nil then
ReturnForm;
if AForm <> nil then begin
FForm := AForm;
s := FForm.Caption;
Caption := s;
FDeactivate := FForm.OnDeactivate;
FForm.OnDeactivate := @FormOnDeactivate;
FActivate := FForm.OnActivate;
FForm.OnActivate := @FormOnActivate;
end;
end;
end.
может когда-нибудь доведу до компонента, пока времени нехват
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Компонент TSelectOnRuntime, давеча портировал под лазарус. Размещаю с разрешения автора(см. вложение)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось CynicRus 10.07.2012 11:05:27, всего редактировалось 1 раз.
Нужно заменить на и компонент становиться кроссплатформенным - проверено в Lazarus 1.1 r36901 FPC 2.6.0 x86_64-linux-gtk 2
Код: Выделить всё
Windows, MessagesКод: Выделить всё
LCLIntf, LCLType-
Dave_Murey
- незнакомец
- Сообщения: 5
- Зарегистрирован: 23.06.2012 22:02:05
Подскажите пожалуйста, как сделать заголовки перенос слов в TStringGrid, когда большой их размер?
Пробовал примеры с различных сайтов по Делфи, но ничего из предложенных вариантов не работает.
Пробовал примеры с различных сайтов по Делфи, но ничего из предложенных вариантов не работает.
Пример создания дизайнера форм с генерацией паскаль-скрипт кода:
https://github.com/CynicRus/smbFrmDesigner[Win\Lin]
Пример создания аналога менеджера пакетов(работает с tar.bz2):
https://github.com/SRL/ScriptManager[Win\Lin]
Буду благодарен за критику кода-)
https://github.com/CynicRus/smbFrmDesigner[Win\Lin]
Пример создания аналога менеджера пакетов(работает с tar.bz2):
https://github.com/SRL/ScriptManager[Win\Lin]
Буду благодарен за критику кода-)
