|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помощь по Button и CheckBox
Уважаемые программисты по Делфи и администраторы этого сайта, мне очень срочно нужна помощь! Я пишу приложение для братишки, короче прога, которая будет запускаться после загрузки винды, форма растянута на весь экран, на форме что-то вроде лицензионного соглашения , так вот, я на форму определил CheckBox и Button с надписью Согласен, мне надо сделать так, чтобы при загрузке формы у меня кнопка согласен была не видна (Button1.Enable :=False а при шелчке на CheckBox (галочка) у меня кнопка согласен стала True... ? помогите пожалуйста!
И еще вопрос: я пишу прогу, которая будет вскрывать ресурсы винды (текстовые), она будет менять названия кнопки пуск, там картинки кое-какие, вот мне нужен код, чтобы я мог вскрывать EXE и DLL файлы, и как в их (EXE и DLL) можно было бы найти нужную строчку и изменить её параметр... ? Заранее спасибо! |
#2
|
|||
|
|||
У CheckBox есть свойство Checked. Если оно - True, значит галочка стоит. False - не стоит. В Object Inspector'е поставь Enabled на False (в Button'е). При нажатии на CheckBox , в событии onClick напиши, допустим,
if CheckBox1.Checked=True then Button1.Enabled:=True else Button1.Enabled:=False; |
#3
|
||||
|
||||
Кнопка Пуск это просто рисунок, так что сможишь менять лишь её рисунок.
По счёт чего-то там Exe и Dll не понял, что менять, что искать и откуда. |
#4
|
|||
|
|||
Дык кнопку можно сделать если надо вообще невидимой а не неактивной.
Button1.visible := False; Кнопка будет вообще отсуствовать на форме. Так может и интереснее даже. |
#5
|
||||
|
||||
Цитата:
Последний раз редактировалось Artem28, 06.01.2007 в 11:44. |
#6
|
|||
|
|||
KurtCobain, спасибо, но мне делфи теперь кричит: Type of expression must be BOOLEAN. Что это значит и как с этим бороться? Если надо, могу вам сюда выложить исходник проги....
Вот: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, XPMan, StdCtrls, Buttons; type TForm1 = class(TForm) Image1: TImage; XPManifest1: TXPManifest; Memo1: TMemo; CheckBox1: TCheckBox; Image2: TImage; Image3: TImage; Button1: TButton; Button2: TButton; Image4: TImage; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); begin close; end; procedure TForm1.Button1Click(Sender: TObject); begin showmessage('Вход выполнен'); begin close; end; end; procedure TForm1.FormActivate(Sender: TObject); begin Button1.Enabled :=False; end; end. Еще раз повторюсь, мне нужно чтобы при нажатии на чекбокс - у меня становилась активной кнопка (button1), и чтобы при нажатии на button2 у меня выключался комп. (ну или появлялось виндовское выключение компьютера). В этом коде я немного от себя написал для кнопок действия, их можно удалить... Заранее спасибо! |
#7
|
|||
|
|||
//Попробуй это
procedure ShutdownComputer; var ph: THandle; tp, prevst: TTokenPrivileges; rl: DWORD; begin OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, ph); LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tp.Privileges[0].Luid); tp.PrivilegeCount := 1; tp.Privileges[0].Attributes := 2; AdjustTokenPrivileges(ph, FALSE, tp, SizeOf(prevst), prevst, rl); ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0); end; |
#8
|
||||
|
||||
Цитата:
Это в Win9x картинка, а в XP очень даже текст)) Попробуй такой обработчик для процедуры выбора чек-бокса: Button1.Enabled:=true; или Button1.Visible:=true;(если батон до этого был невидим) Последний раз редактировалось D.IZERTIR, 06.01.2007 в 23:12. |
#9
|
||||
|
||||
Цитата:
Оч странно вот смотри работает у меня 100% unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) CheckBox1: TCheckBox; Button1: TButton; CheckBox2: TCheckBox; Button2: TButton; procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.CheckBox1Click(Sender: TObject); begin if checkbox1.Checked then button1.Enabled:=true else button1.Enabled:=false; end; procedure TForm1.CheckBox2Click(Sender: TObject); begin if checkbox2.Checked then button2.Visible:=true else button2.Visible:=false; end; end. Я описал 2 способа при Visual и Enable |