![]() |
|
|
#1
|
|||
|
|||
|
Привет всем. разбираюсь с подсказкой 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 вообще не нужен
|
|
#7
|
||||
|
||||
|
остаются еще координаты вывода, если сравнить
Цитата:
Цитата:
|
|
#8
|
|||
|
|||
|
Цитата:
Цитата:
|
|
#9
|
|||
|
|||
|
Цитата:
|
|
#10
|
|||
|
|||
|
Это что за "зверь" такой и как это можно исправить, не подскажешь?
|
|
#11
|
||||
|
||||
|
Дай исходник. Попробую собрать у себя и посмотрим что получиться...
|
|
#12
|
|||
|
|||
|
Даю исходник...
|
|
#13
|
||||
|
||||
|
Где-то был исходник как на АПИ балун у эдита показывать.
|
|
#14
|
||||
|
||||
|
Цитата:
|
| Этот пользователь сказал Спасибо Kailon за это полезное сообщение: | ||
kobz (09.06.2012)
| ||
|
#15
|
|||
|
|||
|
Спасибо вам огромное, по крайней мере мы выяснили, что код рабочий и им могут пользоваться все желающие, при наличии конечно нормальной оболочки.
Теперь буду все версии и сборки проверять балуном . Итого получается три варианта: создать свой балун и забить на стандартный, или снести старую и установить новую оболочку, или дождаться ответа на свой вопрос от robt-а. Спасибо Кailon за участие и трату своего времени. Блин, а если у меня еще что-нибудь вылезет!? С семеркой проблем таких не было... |