|
|
|
Создание компонента TButtonEdit
|
|||
|---|---|---|---|
|
#18+
Если делать TEdit с кнопкой в runtime таким образом, то все ок, но если сделать компонент, то когда его кидаешь на форму - кнопка видна, запускаешь - кнопки нет. Помогите разобраться это h: #ifndef BEditH #define BEditH //--------------------------------------------------------------------------- #include <SysUtils.hpp> #include <Classes.hpp> #include <Controls.hpp> ftinclude <StdCtrls.hpp> ///#include <StdCtrls.hpp> //--------------------------------------------------------------------------- class PACKAGE TBEdit : public TEdit { private: void __fastcall OnButtonClick(TObject *Sender); protected: public: TButton *Button ; __fastcall TBEdit(TComponent* Owner); __fastcall ~TBEdit() {delete Button;}; __published: }; //--------------------------------------------------------------------------- #endif это .cpp: static inline void ValidCtrCheck(TBEdit *) { new TBEdit(NULL); } //--------------------------------------------------------------------------- __fastcall TBEdit::TBEdit(TComponent* Owner) : TEdit(Owner) { Button = new TButton(this); //Button = new TButton(this); Button->Parent = this; //this->InsertComponent(this->Button); //this->Button->Parent = this; // InitControl(Button); } //--------------------------------------------------------------------------- void __fastcall TBEdit::OnButtonClick(TObject *Sender) { } //--------------------------------------------------------------------------- namespace Bedit { void __fastcall PACKAGE Register() { TComponentClass classes[1] = {__classid(TBEdit)}; RegisterComponents("Samples", classes, 0); } } //--------------------------------------------------------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 16:07 |
|
||
|
Создание компонента TButtonEdit
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 17:01 |
|
||
|
Создание компонента TButtonEdit
|
|||
|---|---|---|---|
|
#18+
TButtonEdit Код: plaintext 1. 2. 3. 4. 5. 6. 7. Спасибо за книгу, но ваша конструкция тоже не показывает кнопку... возможно только у меня.. буду разбираться, спасибо еще раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 08:02 |
|
||
|
Создание компонента TButtonEdit
|
|||
|---|---|---|---|
|
#18+
Точнее работает, если кидаешь на чистую форму в новом проекте, если допустим на GroupBox, то видно обычный TEdit, а кнопки нет TButton *Button = new TButton(EditClient); Button->Parent = EditClient; Button->Align = alRight; Button->Width = int(Button->Height/1.3); вот если это в конструкторе формы написать то все ок, но хо'чу свою кампаненту очень... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 08:15 |
|
||
|
Создание компонента TButtonEdit
|
|||
|---|---|---|---|
|
#18+
ArtKТочнее работает, если кидаешь на чистую форму в новом проекте, если допустим на GroupBox, то видно обычный TEdit, а кнопки нет TButton *Button = new TButton(EditClient); Button->Parent = EditClient; Button->Align = alRight; Button->Width = int(Button->Height/1.3); вот если это в конструкторе формы написать то все ок, но хо'чу свою кампаненту очень... 1. Готовых реализаций TButtonEdit'а в сети, думаю, немало. Посмотри в исходниках, как это у других реализовано. 2. За примером можно далеко не ходить - где-то в Examples\Controls\Source\ лежат исходники SpinEdit'a, можно их посмотреть. 3. Ну и книжку почитать, конечно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 09:46 |
|
||
|
Создание компонента TButtonEdit
|
|||
|---|---|---|---|
|
#18+
TButtonEdit ArtKТочнее работает, если кидаешь на чистую форму в новом проекте, если допустим на GroupBox, то видно обычный TEdit, а кнопки нет TButton *Button = new TButton(EditClient); Button->Parent = EditClient; Button->Align = alRight; Button->Width = int(Button->Height/1.3); вот если это в конструкторе формы написать то все ок, но хо'чу свою кампаненту очень... 1. Готовых реализаций TButtonEdit'а в сети, думаю, немало. Посмотри в исходниках, как это у других реализовано. 2. За примером можно далеко не ходить - где-то в Examples\Controls\Source\ лежат исходники SpinEdit'a, можно их посмотреть. 3. Ну и книжку почитать, конечно ... Спасибо, spinEdit - рулит! ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 12:54 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34702991&tid=2028432]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
165ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 468ms |

| 0 / 0 |
