Конференция "Прочее" » Красивый компонент [D7, WinXP]
 
  • Alimkulov © (23.07.12 14:38) [0]
    Всем приветь!
  • brother © (23.07.12 14:43) [1]
    ага
  • Alimkulov © (23.07.12 14:47) [2]
    Ой извините случайно нажал кнопка Добавить.. ну ладно в общем хотел спросить:
    Если кто работал на 1С е там есть очень удобный компонент который TextBox и button идет в месте. Или в Delphi Object inspector свойства Font. Там тоже
    TextBox и button. У button'a Caption наверное "..." (три точка).
    Как можно сделать c помощью в Delphi такой компонент?
  • brother © (23.07.12 14:59) [3]
    > Если кто работал на 1С е

    а если нет? давай скрин того, что хочешь...
  • DimaBr © (23.07.12 23:08) [4]
    Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
    Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.
  • Petr V. Abramov © (23.07.12 23:26) [5]
    этот компонент я видел досовской банковской системе. потом в дельфийской банковской системе.
    вот я счас в третьем в жизни в крупном проекте, где допускаюсь к обсуждению КОМПОНЕНТА, в разных ипостасях кроме юзера.
    Везде мат по его поводу. Но идея КОМПОНЕНТА - отличная :)
    уж и на основе TEdit + форма с гридом видел, и на основе комбика, и TEdit + ListBox :))))
    короче, пиши сам, идея здравая, юзерам нравится, от идей (юзерских) функционала и вариантов реализации - не соскучишься :)))
  • Юрий Зотов © (23.07.12 23:28) [6]
    > Alimkulov ©   (23.07.12 14:47) [2]
    > Как можно сделать c помощью в Delphi такой компонент?

    Берем фрейм, кладем на него Edit и кнопку, подгоняем размеры, на кнопку вешаем обработчик OnСlick, регистрируем в палитре. Все.

    Или ставим библиотеку RxLib, там такой компонент уже готовый.
  • Rouse_ © (23.07.12 23:40) [7]

    > Берем фрейм, кладем на него Edit и кнопку, подгоняем размеры,
    >  на кнопку вешаем обработчик OnСlick, регистрируем в палитре.
    >  Все.

    Коротко, по делу и с юморком :)
  • Petr V. Abramov © (24.07.12 00:20) [8]

    > Юрий Зотов ©   (23.07.12 23:28) [6]


    > Или ставим библиотеку RxLib, там такой компонент уже готовый.

    да фиг там, нет там готового, про который идет речь, из базы подтягивает id и дальше еще хз что (тут и только начинается веселье) по ... ну короче да, OnClick :)))
  • Alimkulov © (24.07.12 08:43) [9]
    Мне кажется TBUtton стоит внутри TEdit'а!
  • Torry © (24.07.12 12:09) [10]
    AlEdit (http://www.torry.net/pages.php?id=498), по образу и подобию сделать для Memo, IMHO, проблем не должно быть.

    На той же странице есть еще что-то подобное.
  • Юрий Зотов © (24.07.12 16:21) [11]
    > Rouse_ ©   (23.07.12 23:40) [7]
    А что не так?

    > Petr V. Abramov ©   (24.07.12 00:20) [8]
    А при чем тут база?
  • Rouse_ © (24.07.12 16:31) [12]

    > Юрий Зотов ©   (24.07.12 16:21) [11]
    > А что не так?

    Эээ, да вроде как все правильно с точки зрения получения результата :)
  • Rouse_ © (24.07.12 16:43) [13]
    зы: автору, посмотри вот это - http://rouse.drkb.ru/tmp/bcb.zip
    чуть попозже выложу демку + еще пару контролов в том числе некий аналог EDIT-а с полным доступом к канвасу.
    Использовать просто: устанавливаешь и используешь, обработчики кнопок в событии OnButtonClick.
  • Юрий Зотов © (24.07.12 16:52) [14]

    > Rouse_ ©   (24.07.12 16:31) [12]

    То есть, я бы фрейм использовть не стал - там и без фрейма дел на полчаса, но не для новичков.
  • AV © (24.07.12 17:00) [15]

    > там и без фрейма дел на полчаса

    +1

    Меня вообще бесит, когда наставят черте что.. А потом еще потеряют половину. А потом юзеры попросят "немного поправить" - и что? Заново переписывать ~ %%20 программки, вот что.
  • Rouse_ © (24.07.12 17:17) [16]

    > То есть, я бы фрейм использовть не стал

    Я бы точно не стал, да и ты, думаю то-же :) Слишком грубо, хотя задачу решает :)
  • Eraser © (24.07.12 18:42) [17]

    > Alimkulov ©   (23.07.12 14:38) 

    D7 выкинь на помойку, на дворе 2012 год.
    используй стандартный компонент TButtonedEdit.
  • Petr V. Abramov © (24.07.12 21:25) [18]

    > Юрий Зотов ©   (24.07.12 16:21) [11]
    > > Petr V. Abramov ©   (24.07.12 00:20) [8]
    > А при чем тут база?

    а при том, что

    > Alimkulov ©   (23.07.12 14:47) [2]
    >
    > Ой извините случайно нажал кнопка Добавить.. ну ладно в
    > общем хотел спросить:
    > Если кто работал на 1С е там есть очень удобный компонент
    > который TextBox и button идет в месте. Или в Delphi Object
    > inspector свойства Font. Там тоже

    если без базы, то Rx, и таки да, щщастье. только кому оно надо в такой постановке без базы.
  • Alimkulov © (25.07.12 09:01) [19]

    > Eraser ©   (24.07.12 18:42) [17]

    Где лежит это  стандартный компонент TButtonedEdit?


    > ouse_ ©   (24.07.12 16:43) [13]

    скачал но Controls.ButtonedComboBox.pas но не могу установит!


    > Petr V. Abramov ©   (24.07.12 21:25) [18]

    Rx - что за это компонент, и где это лежит?
  • Inovet © (25.07.12 09:08) [20]
    > [19] Alimkulov ©   (25.07.12 09:01)
    > Где лежит это  стандартный компонент TButtonedEdit?

    Дополнительные

    > [19] Alimkulov ©   (25.07.12 09:01)
    > Rx - что за это компонент, и где это лежит?

    http://yandex.ru/yandsearch?text=rxlib&lr=62&msid=22903.16004.1343192870.69714
  • Alimkulov © (25.07.12 09:12) [21]

    > Rouse_ ©   (24.07.12 16:43) [13]

    Когда питаюсь установить Вашего компонента Delphi выдает ошибка:
    'Control.ButtonedComboBox' is not a valid identifier. что за ошибка эта?
  • Alimkulov © (25.07.12 09:20) [22]

    > Inovet ©   (25.07.12 09:08) [20]
    > > [19] Alimkulov ©   (25.07.12 09:01)
    > > Где лежит это  стандартный компонент TButtonedEdit?
    >
    > Дополнительные

    Нету там, может это у другой версии Delphi. У меня D7.
  • Inovet © (25.07.12 09:24) [23]
    > [22] Alimkulov ©   (25.07.12 09:20)
    > может это у другой версии Delphi. У меня D7.

    В первом предложении о чём?

    > [17] Eraser ©   (24.07.12 18:42)
    > D7 выкинь на помойку, на дворе 2012 год.
    > используй стандартный компонент TButtonedEdit.
  • Rouse_ © (25.07.12 09:56) [24]
    > [21]


    Будет работать начиная с d2009 и старше
  • Alimkulov © (25.07.12 10:20) [25]

    > Eraser ©   (24.07.12 18:42) [17]
    >
    > > Alimkulov ©   (23.07.12 14:38) 
    >
    > D7 выкинь на помойку, на дворе 2012 год.

    Честно говоря я не понял что Вы имейте в виду!

    В общем я попробовал вот так:

    unit Unit1;

    interface

    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, StdCtrls, Buttons;

    type
     TForm1 = class(TForm)
       Edit1: TEdit;
       SpeedButton1: TSpeedButton;
       procedure FormCreate(Sender: TObject);
     private
       SpeedButton11: TSpeedButton;
     public
       { Public declarations }
     end;

    var
     Form1: TForm1;

    implementation

    {$R *.dfm}

    { TForm1 }

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    SpeedButton11 := TSpeedButton.Create(self) ;
    SpeedButton11.Visible := True;
    SpeedButton11.Parent:=Edit1;
    SpeedButton11.Align:=alRight;
    SpeedButton11.Cursor:=crArrow;
    end;

    end.



    Но здесь когда происходит KeyPress на Edit1 SpeedButton11 тоже меняет свой
    фон на белый. Потом Click на SpeedButton11 фон стандартный.
    Давайте ребята вместе подумаем! Что скажите о моем варианте?
  • Юрий Зотов © (25.07.12 10:29) [26]
    > Alimkulov ©   (25.07.12 10:20) [25]
    > Что скажите о моем варианте?

    Про сам вариант лучше не говорить ничего. Поэтому скажу другое - скачайте книжку Рэя Конопки и внимательно ее изучайте. После этого сами все о своем варианте поймете.
  • Inovet © (25.07.12 10:44) [27]
    > [25] Alimkulov ©   (25.07.12 10:20)
    > > D7 выкинь на помойку, на дворе 2012 год.
    >
    > Честно говоря я не понял что Вы имейте в виду!

    А что не понятно? Со времени выхода Д7 прошло 10 лет и вышло несколько новых версий.
  • Alimkulov © (27.07.12 15:55) [28]
    Читал книги и стати о создание компонентов и в конце у меня вот так получилось:

    unit LabelEditButton;

    interface

    uses
     SysUtils, Classes, Controls, ExtCtrls, StdCtrls, Graphics, Forms, Buttons;

    type
     TLabelEditButton = class(TCustomPanel)
     private
       { Private declarations }
       FPanel:TPanel;
       FLabel: TLabel;
       FEdit:TEdit;
       FButton:TSpeedButton;
     protected
       { Protected declarations }
     public
       { Public declarations }
       constructor Create(AOwner:TComponent); override;
     published
       { Published declarations }
       property Label1: TLabel read FLabel;
       property Edit1:TEdit read FEdit write FEdit;
       property Sbutton:TSpeedButton read FButton;
     end;

    procedure Register;

    implementation

    procedure Register;
    begin
     RegisterComponents('Samples', [TLabelEditButton]);
    end;

    { TLabelEditButton }

    constructor TLabelEditButton.Create(AOwner: TComponent);
    begin
     inherited Create(AOwner);
     BevelOuter:=bvNone;
     Height:=21;
     Width:=150;

     FLabel:=TLabel.Create(Self);
     FLabel.Align:=alLeft;
     FLabel.Parent:=Self;
     FLabel.Layout:=tlCenter;

     FPanel:=TPanel.Create(Self);
     FPanel.Align:=alClient;
     FPanel.BevelOuter:=bvNone;
     FPanel.BorderStyle:=bsSingle;
     FPanel.Parent:=Self;

     FButton:=TSpeedButton.Create(FPanel);
     FButton.Align:=alRight;
     FButton.Caption:='...';
     FButton.Parent:=FPanel;

     FEdit:=TEdit.Create(FPanel);
     FEdit.Align:=alClient;
     FEdit.BorderStyle:=bsNone;
     FEdit.Parent:=FPanel;

    end;
    end.


    Все отлично получилось но здесь не могу сделать OnClick на TSpeedButton'у.
    Помогите с этим!
  • картман © (27.07.12 16:02) [29]
    http://mf.grsu.by/UchProc/konspekt/delphi/ch06/ch07

    и дестрой переопредели
  • 88 (27.07.12 16:57) [30]
    Удалено модератором
  • Alimkulov © (27.07.12 17:19) [31]

    > картман ©   (27.07.12 16:02) [29]
    > http://mf.grsu.by/UchProc/konspekt/delphi/ch06/ch07
    >
    > и дестрой переопредели

    Честно говоря по http://mf.grsu.by/UchProc/konspekt/delphi/ch06/ch07
    немножко не понял!
    По моему примеру можете написать кусок кода?
  • 88 (27.07.12 18:06) [32]
    Alimkulov
    А может сам поймешь и напишешь? В описании классов все сказано.
  • картман © (27.07.12 18:14) [33]

    > По моему примеру можете написать кусок кода?

    не-а
 
Конференция "Прочее" » Красивый компонент [D7, WinXP]
Есть новые Нет новых   [119030   +51][b:0][p:0.002]