![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание кнопки программно
Mariya © (2007-10-02 15:27:00)Подскажите мне, пожалуйста, как создать динамически визуальный компонент (кнопку) на форме в Delphi.
Mariya (2007-10-04 07:30:00) [21]Доброго нового дня! Это все получилось!
> Алилуйя!
Осталось почти последнее, что я упустила, а как программно задать размеры формы? На которой все это и рисуется. Я пишу так:
Form1.Caption:=Ini.ReadString('Form', 'Cap', 'Навигатор');
Form1.Height:=Ini.ReadInteger('Form', 'Height', 500);
Form1.Width:=Ini.ReadInteger('Form', 'Width', 700);
Игнорирует, не ставит по умолчанию 500 на 700.
А! Еще, насчет меню, само меню создала, а как вкладки прописать?
Dib@zol (2007-10-03 22:22:00) [22]> Юрий Зотов © (03.10.07 21:46)
Понимаю. И даже сам другим частенько об этом напоминаю. А сегодя вот вдруг накатило... Ну туплю сегодня, ну отосплюсь и всё пройдёт...
Юрий Зотов (2007-10-03 21:46:00) [23]> Dib@zol © (03.10.07 18:45) [41]
Тогда зачем давать начинающим советы уровня API? Вы понимаете, что такими советами Вы только их запутываете и ничего больше?
korneley (2007-10-03 18:57:00) [24]Ну утомила уже эта бодяга (не губка)... пишешь метод типа:
TForm1.ButtonClick(Sender: TObject), в котором вызываешь, че-нить типа [30], создаешь кнопку, пусть это будет Button1, далее:
Button1.OnClick := ButtonClick;По нажатию Button1 все, что в телеButtonClickисполнится... Алилуйя!
Dib@zol (2007-10-03 18:45:00) [25]Может и есть. Но я полный дуб в ВЦЛ, поэтому дело за вами.
Zeqfreed (2007-10-03 18:39:00) [26]> Dib@zol © (03.10.07 17:07) [38]
Ой, мамочки.
Юрий Зотов (2007-10-03 18:38:00) [27]> Dib@zol © (03.10.07 17:07) [38]
Скажите, а нет ли способа попроще? Может быть, есть? И, может быть, даже намногопроще?
Dib@zol (2007-10-03 17:07:00) [28]function Obrabotcik_dinamiceskoi_knopki_Button1(hWnd: HWND; Msg: LongInt; wParam, lParam: Longint): longInt; stdcall;
begin
if Msg = BM_CLICK then begin
Zapusk_kakoynibud_progi;
end;
Result:=CallWindowProc(Pointer(Button1.Tag), hWnd, Msg, wParam, lParam);
end;
...
Button1.Tag:=SetWindowLong(Button1.Handle, GWL_WNDPROC, LongInt(@Obrabotcik_dinamiceskoi_knopki_Button1));
Kolan (2007-10-03 17:01:00) [29]> И все же как программно прописать на динамически созданной
> кнопке, что она должна открыть какой-нибудь экзешник!
Назначить им обработчики нажатия
Mariya (2007-10-03 16:52:00) [30]И все же как программно прописать на динамически созданной кнопке, что она должна открыть какой-нибудь экзешник!
Dib@zol (2007-10-03 16:25:00) [31]эт я в смысле ответил на [30].
Dib@zol (2007-10-03 16:25:00) [32]> Наймите программиста...
Наймите меня!!! гыгыгы...
Создать свою оконную процедурку для кнопок, через SetWindowLong повесить её поверх основной и по BM_CLICK делать то что надо.
Mariya (2007-10-03 16:05:00) [33]
> Наймите программиста...
Ох, нелегкая жизнь :((, я им сейчас здесь и являюсь!!!
Плохиш (2007-10-03 14:33:00) [34]
> Mariya (03.10.07 14:16) [30]
Может, ну его нафик, это программированние?
Наймите программиста...
Сергей М. (2007-10-03 14:25:00) [35]
> высчитывать математически
Мдя..
Вычерчивать геометрически
Выпекать кулинарически
Вырождаться генеалогически
..
)
Mariya (2007-10-03 14:16:00) [36]
> D6
Пишу в D6 пришлось высчитывать математически, получилось. Все встало на место. Кнопки я динамически создала, как прописать в них правильно:
ShellExecute(handle, nil, 'WINWORD.EXE', NiL, NiL, SW_SHOWNORMAL);
в bottone если создавать его с панели, то так, а как в динамически созданном?
Palladin (2007-10-03 13:38:00) [37]
> {RASkov} © (03.10.07 13:18) [28]
Не знаю как в остальных Delphi, но в D6 TLabel таким свойством не обладает
{RASkov} (2007-10-03 13:18:00) [38]> чтобы было в центре сверху формы
Выставить метке Align = alTop и Alignment = taCenter
Mariya (2007-10-03 12:44:00) [39]
> clickmaker
> lbl.Font.Style := [fsBold];
работает, спасибо.
clickmaker (2007-10-03 10:37:00) [40]
> чтобы было в центре сверху формы
элементарная арифметика
> должен быть жирный, не знаю как
lbl.Font.Style := [fsBold];