|
|
#1
|
|||
|
|||
BalloonHint&Edit
Привет всем. разбираюсь с подсказкой BalloonHint. Пытаюсь сделать похожее (см. вложение). Нашел в инете кое-какой код, который переделал под себя.
Код:
Procedure TForm.Edit1KeyPress(Sender: TObject; var Key: Char); var point: TPoint; begin if Key = '*' then begin BalloonHint1.Description := 'бла-бла-бла'; Point.X := Edit1.Width div 2; Point.Y := 0; BalloonHint1.ShowHint(Edit1.ClientToScreen(point)); end; end; Код:
BalloonHint1.ShowHint(Edit1.ClientToScreen(point)); |
#2
|
||||
|
||||
А у меня все правильно отображается
Код:
var Point: TPoint; begin if Key in ['*', '/', '\', '?', '"', '<', '>'] then with BalloonHint1 do begin Key := #0; Delay := 0; HideAfter := 1500; Title := 'Эти символы вводить запрещено:'; Description := '*, /, \, ", ?, |'; Point.X := Edit1.Width div 2; Point.Y := Edit1.Height; ShowHint(Edit1.ClientToScreen(Point)); end; Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#3
|
|||
|
|||
Ничего не понимаю... Попробовал еще раз, все так же... Нажимаю на клавишу, курсор мыши допустим находится в правом верхнем углу монитора, там и выскакивает хинт. У меня Delphi 2009. А у вас?
|
#4
|
||||
|
||||
У меня Embarcadero RAD Studio 2010. Выложи свой проект полностью.
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |
#5
|
|||
|
|||
Проекта как такового нет, кинул на форму BalloonHint, Edit и попробовал их связать. Вот код:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ; type TForm1 = class(TForm) Edit1: TEdit; BalloonHint1: TBalloonHint; procedure Edit1KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var Point: TPoint; begin if Key = '*' then begin Key := #0; BalloonHint1.Description := 'Имя файла не должно содержать следующих знаков:'+№13+' *, /, \, ", ?, | ' ; Point.X := Edit1.Width div 2; Point.Y := 0; BalloonHint1.ShowHint(Edit1.ClientToScreen(Point)); end; end. |
#6
|
|||
|
|||
для балона в эдите никакой TBalloonHint вообще не нужен
|