![]() |
![]() ![]() ![]() ![]() |
|
InputBox для ввода пароляDelphi , Синтаксис , ПаролиInputBox для ввода пароля
Оформил: DeeCo
const
InputBoxMessage = WM_USER + 200;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure InputBoxSetPasswordChar(var Msg: TMessage); message InputBoxMessage;
public
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.InputBoxSetPasswordChar(var Msg: TMessage);
var
hInputForm, hEdit, hButton: HWND;
begin
hInputForm := Screen.Forms[0].Handle;
if (hInputForm <> 0) then
begin
hEdit := FindWindowEx(hInputForm, 0, 'TEdit', nil);
{
// Change button text:
hButton := FindWindowEx(hInputForm, 0, 'TButton', nil);
SendMessage(hButton, WM_SETTEXT, 0, Integer(PChar('Cancel')));
}
SendMessage(hEdit, EM_SETPASSWORDCHAR, Ord('*'), 0);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
InputString: string;
begin
PostMessage(Handle, InputBoxMessage, 0, 0);
InputString := InputBox('Input Box', 'Please Enter a Password', '');
end;
Программный код, который вы предоставили, - это приложение Delphi, созданное с использованием Windows API для поиска и манипуляции контролем редактирования и кнопкой в окне ввода пароля. Вот подробное описание того, что каждый раздел кода делает: Объявления констант и типов
Объявления переменных
Секция реализации
Альтернативное решение Если вы хотите упростить код и избежать использования функций Windows API, таких как В этом примере мы определили отдельную функцию Это решение более простое и легче поддерживать, чем использование функций Windows API, но может не предоставлять такое же управление над видом и поведением окна ввода пароля. В статье описывается пример создания интерфейса для ввода пароля в приложении на языке Delphi с использованием сообщения WM_USER + 200 и метода EM_SETPASSWORDCHAR. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||