Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.06.2012, 06:47
kobz kobz вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 12
Репутация: 10
По умолчанию 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;
Но почему-то хинт выскакивает не под Edit-ом, а в месте где находится курсор. Как можно переделать строку:
Код:
 BalloonHint1.ShowHint(Edit1.ClientToScreen(point));
что бы хинт изображался как на рис. и возможно ли такое стандартным хинтом? Спасибо.
Изображения
Тип файла: jpg Error.JPG (8.7 Кбайт, 21 просмотров)
Ответить с цитированием
  #2  
Старый 08.06.2012, 09:35
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

А у меня все правильно отображается
Код:
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  
Старый 08.06.2012, 10:16
kobz kobz вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 12
Репутация: 10
По умолчанию

Ничего не понимаю... Попробовал еще раз, все так же... Нажимаю на клавишу, курсор мыши допустим находится в правом верхнем углу монитора, там и выскакивает хинт. У меня Delphi 2009. А у вас?
Ответить с цитированием
  #4  
Старый 08.06.2012, 12:32
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

У меня Embarcadero RAD Studio 2010. Выложи свой проект полностью.
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #5  
Старый 08.06.2012, 13:26
kobz kobz вне форума
Прохожий
 
Регистрация: 08.06.2012
Сообщения: 12
Репутация: 10
По умолчанию

Проекта как такового нет, кинул на форму 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.
Delay и HideAfter я настраивал в инспекторе. Так, что "ломаться" нечему и все должно работать правильно. Но увы...
Ответить с цитированием
  #6  
Старый 08.06.2012, 13:41
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

для балона в эдите никакой TBalloonHint вообще не нужен
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:03.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter